summaryrefslogtreecommitdiffstats
path: root/Modules/CPackComponent.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/CPackComponent.cmake')
-rw-r--r--Modules/CPackComponent.cmake34
1 files changed, 28 insertions, 6 deletions
diff --git a/Modules/CPackComponent.cmake b/Modules/CPackComponent.cmake
index 038a717..6552a2d 100644
--- a/Modules/CPackComponent.cmake
+++ b/Modules/CPackComponent.cmake
@@ -75,9 +75,17 @@
#
# The dependencies (list of components) on which this component depends.
#
+# .. variable:: CPACK_COMPONENT_<compName>_HIDDEN
+#
+# True if this component is hidden from the user.
+#
# .. variable:: CPACK_COMPONENT_<compName>_REQUIRED
#
-# True is this component is required.
+# True if this component is required.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_DISABLED
+#
+# True if this component is not selected to be installed by default.
#
# .. command:: cpack_add_component
#
@@ -360,6 +368,20 @@ macro(cpack_append_string_variable_set_command var strvar)
endif ()
endmacro()
+# Macro that appends a SET command for the given list variable name (var)
+# to the macro named strvar, but only if the variable named "var"
+# has been defined. It's like add variable, but wrap each item to quotes.
+# The string will eventually be appended to a CPack configuration file.
+macro(cpack_append_list_variable_set_command var strvar)
+ if (DEFINED ${var})
+ string(APPEND ${strvar} "set(${var}")
+ foreach(_val IN LISTS ${var})
+ string(APPEND ${strvar} "\n \"${_val}\"")
+ endforeach()
+ string(APPEND ${strvar} ")\n")
+ endif ()
+endmacro()
+
# Macro that appends a SET command for the given variable name (var)
# to the macro named strvar, but only if the variable named "var"
# has been set to true. The string will eventually be
@@ -395,11 +417,11 @@ macro(cpack_add_component compname)
# moduled was included.
if(NOT CPACK_COMPONENTS_ALL_SET_BY_USER)
get_cmake_property(_CPACK_ADDCOMP_COMPONENTS COMPONENTS)
- set(_CPACK_ADDCOMP_STR "${_CPACK_ADDCOMP_STR}\nSET(CPACK_COMPONENTS_ALL")
+ string(APPEND _CPACK_ADDCOMP_STR "\nSET(CPACK_COMPONENTS_ALL")
foreach(COMP ${_CPACK_ADDCOMP_COMPONENTS})
- set(_CPACK_ADDCOMP_STR "${_CPACK_ADDCOMP_STR} ${COMP}")
+ string(APPEND _CPACK_ADDCOMP_STR " ${COMP}")
endforeach()
- set(_CPACK_ADDCOMP_STR "${_CPACK_ADDCOMP_STR})\n")
+ string(APPEND _CPACK_ADDCOMP_STR ")\n")
endif()
endif()
@@ -487,8 +509,8 @@ macro(cpack_add_install_type insttype)
set(_CPACK_INSTTYPE_STR
"\n# Configuration for installation type \"${insttype}\"\n")
- set(_CPACK_INSTTYPE_STR
- "${_CPACK_INSTTYPE_STR}list(APPEND CPACK_ALL_INSTALL_TYPES ${insttype})\n")
+ string(APPEND _CPACK_INSTTYPE_STR
+ "list(APPEND CPACK_ALL_INSTALL_TYPES ${insttype})\n")
cpack_append_string_variable_set_command(
CPACK_INSTALL_TYPE_${_CPACK_INSTTYPE_UNAME}_DISPLAY_NAME
_CPACK_INSTTYPE_STR)