View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014944CMakeCPackpublic2014-05-29 06:472016-06-10 14:31
ReporterThierry Valentin 
Assigned ToKitware Robot 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionmoved 
PlatformLinux 64 Debian JessieOSDebianOS VersionJessie
Product VersionCMake 2.8.12.1 
Target VersionFixed in Version 
Summary0014944: Add more control over individual components in a component-based configuration
DescriptionHello

I'm in the following situation:
I use Jenkins to build software binaries for several platforms. Each platform is built in a in separate job. I also need to produce the software documentation which is common to all platforms, so I only need a single job to build it.

I would like to configure the binary packages as follows:
- the package name should include the platform name, e.g: MyProject-1.0.0-Linux64-runtime.tar.gz
- the package includes the toplevel directory, such that uncompressing the package gives a directory MyProject-1.0.0/...

And I would like to configure the documentation packages as follows:
- the package name should NOT include the platform name, e.g: MyProject-1.0.0-doc-user.tar.gz
- the package does NOT include the toplevel directory, such that uncompressing the package gives the destination directory as specified in the INSTALL(FILES ... DESTINATION /doc/user) command in the CMakeLists.txt

This is currently impossible with the current version of CPack. But it could be possible if we could specify PACKAGE_FILE_NAME and INCLUDE_TOPLEVEL_DIRECTORY at the component level, as explained below:

# List of components:
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
set(CPACK_COMPONENTS_GROUPING "IGNORE")
set(CPACK_COMPONENTS_ALL runtime doc-user)

# Default settings:
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION})
set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY true)

# Per component settings:
set(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "Application Runtime")
set(CPACK_COMPONENT_RUNTIME_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME})

set(CPACK_COMPONENT_DOC-USER_DISPLAY_NAME "Application Documentation")
set(CPACK_COMPONENT_DOC-USER_INCLUDE_TOPLEVEL_DIRECTORY OFF)


Thanks

TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0042555)
Kitware Robot (administrator)
2016-06-10 14:29

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
2014-05-29 06:47 Thierry Valentin New Issue
2016-06-10 14:29 Kitware Robot Note Added: 0042555
2016-06-10 14:29 Kitware Robot Status new => resolved
2016-06-10 14:29 Kitware Robot Resolution open => moved
2016-06-10 14:29 Kitware Robot Assigned To => Kitware Robot
2016-06-10 14:31 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team