View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008471CMakeCMakepublic2009-02-04 21:582016-06-10 14:30
ReporterCHristian Goetze 
Assigned ToKitware Robot 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0008471: Introduce the concept of a build artifact
DescriptionThis 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.

TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0015890)
CHristian Goetze (reporter)
2009-04-01 16:53

See specification draft at:
https://wiki.secondlife.com/wiki/CMake_Build_Artifact_Management_Specification [^]
(0025632)
XU Liang (reporter)
2011-03-03 09:06

I like this idea. What is the newest status? Have some module implement it?
Maybe I can try it.
(0025633)
Brad King (manager)
2011-03-03 09:43

There is no active development on this feature request. The concept is more of a package manager than a build system and does not fall under CMake's original design goals.

Moving to inactive backlog.
(0041498)
Kitware Robot (administrator)
2016-06-10 14:27

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2009-02-04 21:58 CHristian Goetze New Issue
2009-02-05 19:55 Bill Hoffman Status new => assigned
2009-02-05 19:55 Bill Hoffman Assigned To => Bill Hoffman
2009-04-01 16:53 CHristian Goetze Note Added: 0015890
2009-04-01 22:07 Bill Hoffman Assigned To Bill Hoffman => Brad King
2011-03-03 09:06 XU Liang Note Added: 0025632
2011-03-03 09:43 Brad King Note Added: 0025633
2011-03-03 09:43 Brad King Assigned To Brad King =>
2011-03-03 09:43 Brad King Status assigned => backlog
2016-06-10 14:27 Kitware Robot Note Added: 0041498
2016-06-10 14:27 Kitware Robot Status backlog => resolved
2016-06-10 14:27 Kitware Robot Resolution open => moved
2016-06-10 14:27 Kitware Robot Assigned To => Kitware Robot
2016-06-10 14:30 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team