diff options
Diffstat (limited to 'Modules/CPackComponent.cmake')
-rw-r--r-- | Modules/CPackComponent.cmake | 34 |
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) |