summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-11-09 15:06:35 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2015-11-09 15:06:35 (GMT)
commit9ad0ae1c01d67ba788645d3114967ba8718d4ec7 (patch)
tree117d6f22908515f5973769b02bea0b7254bfd18a /Modules
parented484544cbf39ffefe1898b8255a5189062e5c60 (diff)
parent04a2a923481bcc1cc734e1ed58d8505370ec909b (diff)
downloadCMake-9ad0ae1c01d67ba788645d3114967ba8718d4ec7.zip
CMake-9ad0ae1c01d67ba788645d3114967ba8718d4ec7.tar.gz
CMake-9ad0ae1c01d67ba788645d3114967ba8718d4ec7.tar.bz2
Merge topic 'cpack-deb-new-component-vars'
04a2a923 Help: Add notes for topic 'cpack-deb-new-component-vars' 57672e72 CPackDeb: CPACK_DEBIAN_PACKAGE_NAME documentation improvement a45a4b2d CPackDeb: set package control field per component a60574f1 CPackDeb: set priority control field per component 24012e3c CPackDeb: additional CPACK_DEBIAN_PACKAGE_SECTION documentation 47182ab8 CPackDeb: set section control field per component
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CPackDeb.cmake48
1 files changed, 34 insertions, 14 deletions
diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index 875a534..2aaef61 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -27,11 +27,20 @@
# However as a handy reminder here comes the list of specific variables:
#
# .. variable:: CPACK_DEBIAN_PACKAGE_NAME
+# CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
#
-# The Debian package summary
+# Set Package control field (variable is automatically transformed to lower
+# case).
#
# * Mandatory : YES
-# * Default : :variable:`CPACK_PACKAGE_NAME` (lower case)
+# * Default :
+#
+# - :variable:`CPACK_PACKAGE_NAME` for non-component based
+# installations
+# - :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
+# for component-based installations.
+#
+# See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
#
#
# .. variable:: CPACK_DEBIAN_PACKAGE_VERSION
@@ -100,10 +109,16 @@
#
#
# .. variable:: CPACK_DEBIAN_PACKAGE_SECTION
+# CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
+#
+# Set Section control field e.g. admin, devel, doc, ...
#
# * Mandatory : YES
# * Default : 'devel'
#
+# See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
+#
+#
# .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
#
# The compression used for creating the Debian package.
@@ -114,12 +129,16 @@
#
#
# .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY
+# CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
#
-# The Debian package priority
+# Set Priority control field e.g. required, important, standard, optional,
+# extra
#
# * Mandatory : YES
# * Default : 'optional'
#
+# See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
+#
#
# .. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE
#
@@ -590,18 +609,18 @@ function(cpack_deb_prepare_package_vars)
# You should set: DEBIAN_PACKAGE_DEPENDS
# TODO: automate 'objdump -p | grep NEEDED'
- # if per-component dependency, overrides the global CPACK_DEBIAN_PACKAGE_${dependency_type_}
+ # if per-component variable, overrides the global CPACK_DEBIAN_PACKAGE_${variable_type_}
# automatic dependency discovery will be performed afterwards.
if(CPACK_DEB_PACKAGE_COMPONENT)
- foreach(dependency_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE)
- set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${dependency_type_}")
+ foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION PRIORITY NAME)
+ set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${value_type_}")
- # if set, overrides the global dependency
+ # if set, overrides the global variable
if(DEFINED ${_component_var})
- set(CPACK_DEBIAN_PACKAGE_${dependency_type_} "${${_component_var}}")
+ set(CPACK_DEBIAN_PACKAGE_${value_type_} "${${_component_var}}")
if(CPACK_DEBIAN_PACKAGE_DEBUG)
- message("CPackDeb Debug: component '${_local_component_name}' ${dependency_type_} "
- "dependencies set to '${CPACK_DEBIAN_PACKAGE_${dependency_type_}}'")
+ message("CPackDeb Debug: component '${_local_component_name}' ${value_type_} "
+ "value set to '${CPACK_DEBIAN_PACKAGE_${value_type_}}'")
endif()
endif()
endforeach()
@@ -694,10 +713,11 @@ function(cpack_deb_prepare_package_vars)
endif()
endforeach()
- set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "-${CPACK_DEB_PACKAGE_COMPONENT}")
- string(TOLOWER "${CPACK_PACKAGE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
- else()
- set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "")
+ if(CPACK_DEBIAN_${_local_component_name}_PACKAGE_NAME)
+ string(TOLOWER "${CPACK_DEBIAN_${_local_component_name}_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
+ else()
+ string(TOLOWER "${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_DEB_PACKAGE_COMPONENT}" CPACK_DEBIAN_PACKAGE_NAME)
+ endif()
endif()
# Print out some debug information if we were asked for that