summaryrefslogtreecommitdiffstats
path: root/Modules/CPackDeb.cmake
diff options
context:
space:
mode:
authorDomen Vrankar <domen.vrankar@gmail.com>2016-05-23 18:21:32 (GMT)
committerDomen Vrankar <domen.vrankar@gmail.com>2016-05-23 18:21:32 (GMT)
commit4f3b97063f724f5e0a2902e8d2c104012b52b7f5 (patch)
tree6ebf4d1226c927f1028ac6416f63a72f482eb10a /Modules/CPackDeb.cmake
parentc75d91a05c9f442582726e3e80fec41d016da76f (diff)
downloadCMake-4f3b97063f724f5e0a2902e8d2c104012b52b7f5.zip
CMake-4f3b97063f724f5e0a2902e8d2c104012b52b7f5.tar.gz
CMake-4f3b97063f724f5e0a2902e8d2c104012b52b7f5.tar.bz2
CPack/Deb prevent accidental component dependencies
Prevent accidental inter component dependency setting since this is a breaking feature in situations where another CPack module is already using the feature. It should be enabled if desired since it can cause issues when upgrading only one of the components for e.g. configuration instead of all the components at once.
Diffstat (limited to 'Modules/CPackDeb.cmake')
-rw-r--r--Modules/CPackDeb.cmake36
1 files changed, 23 insertions, 13 deletions
diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index d93d924..70bf81d 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -100,6 +100,13 @@
#
# set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
#
+# .. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
+#
+# Sets inter component dependencies if listed with
+# :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
+#
+# * Mandatory : NO
+# * Default : -
#
# .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER
#
@@ -713,20 +720,23 @@ function(cpack_deb_prepare_package_vars)
endif()
endif()
endforeach()
- set(COMPONENT_DEPENDS "")
- foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS})
- get_component_package_name(_PACK_NAME "${_PACK}")
+
+ if(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS)
+ set(COMPONENT_DEPENDS "")
+ foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS})
+ get_component_package_name(_PACK_NAME "${_PACK}")
+ if(COMPONENT_DEPENDS)
+ set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION}), ${COMPONENT_DEPENDS}")
+ else()
+ set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION})")
+ endif()
+ endforeach()
if(COMPONENT_DEPENDS)
- set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION}), ${COMPONENT_DEPENDS}")
- else()
- set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION})")
- endif()
- endforeach()
- if(COMPONENT_DEPENDS)
- if(CPACK_DEBIAN_PACKAGE_DEPENDS)
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
- else()
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}")
+ if(CPACK_DEBIAN_PACKAGE_DEPENDS)
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
+ else()
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}")
+ endif()
endif()
endif()
endif()