| Anonymous | Login | Signup for a new account | 2010-07-31 01:24 EDT |
| Main | My View | View Issues | Change Log | Roadmap | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
| 0008471 | [CMake] CMake | feature | N/A | 2009-02-04 21:58 | 2009-04-01 22:07 | |||||||
| Reporter | CHristian Goetze | View Status | public | |||||||||
| Assigned To | Brad King | |||||||||||
| Priority | normal | Resolution | open | |||||||||
| Status | assigned | Product Version | ||||||||||
| Summary | 0008471: Introduce the concept of a build artifact | |||||||||||
| Description |
This is one of the outstanding features of the Maven build system for java. The idea is to define deliverable build artifacts, and describe the dependencies between them. A build artifact can be mapped to a "project" or a "package". In java, it is usually mapped to a .jar file; in C/C++, this would usually be a set of header files and a set of library files. The main point of having this high level first class object is to be able to define multiple methods for procuring one. Cmake should try, in the following order: * build locally * use locally installed version * download and install it The point of this approach is to provide a consistent way to deal with third party artifacts and, for large projects, modules and artifacts of your own making. For example, you could divide your team into a server team, a client team and a support team, each treating the other like third parties, producing new versions of their artifacts and leaving it up to the other teams to choose to use them, or not. Another good effect of this setup is that one can cleanly distinguish between internal dependencies (the typical "makedepend" style dependencies) and external dependencies (usually discovered via auto-conf style scripts). The internal dependencies can be hidden, but the external dependencies can become part of the artifact metadata, allowing transitive dependency information to be collected. |
|||||||||||
| Additional Information | ||||||||||||
| Tags | No tags attached. | |||||||||||
| Attached Files | ||||||||||||
|
|
||||||||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
|
Notes |
|
|
(0015890) CHristian Goetze (reporter) 2009-04-01 16:53 |
See specification draft at: https://wiki.secondlife.com/wiki/CMake_Build_Artifact_Management_Specification [^] |
| Mantis 1.1.4[^] Copyright © 2000 - 2008 Mantis Group |