From d07d24b8a3c5a8e2cd3898fdd0344c0a1bd095b7 Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Tue, 15 Nov 2016 23:27:19 +0300 Subject: QtIFW: Configurable root component --- CMakeCPack.cmake | 76 +++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 59 insertions(+), 17 deletions(-) (limited to 'CMakeCPack.cmake') diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake index fc042bcc0e..ba858bd724 100644 --- a/CMakeCPack.cmake +++ b/CMakeCPack.cmake @@ -54,6 +54,47 @@ if(${CPACK_SYSTEM_NAME} MATCHES Windows) endif() endif() +# Advanced IFW configuration +set(_cpifwrc CPACK_IFW_COMPONENT_GROUP_CMAKE_) +set(_cpifwrcconf _CPACK_IFW_COMPONENT_GROUP_CMAKE) +set(${_cpifwrcconf} "# CMake IFW configuration\n") +macro(_cmifwarg DESCRIPTION TYPE NAME DEFAULT) + set(_var CMake_IFW_ROOT_COMPONENT_${NAME}) + if(DEFINED ${_var}) + set(${_var} ${${_var}} CACHE ${TYPE} ${DESCRIPTION}) + mark_as_advanced(${_var}) + elseif(NOT "${DEFAULT}" STREQUAL "") + set(${_var} ${DEFAULT}) + endif() + if(DEFINED ${_var}) + set(${_cpifwrcconf} + "${${_cpifwrcconf}} set(${_cpifwrc}${NAME}\n \"${${_var}}\")\n") + endif() +endmacro() + +_cmifwarg("Package tag (domen-like)" + STRING NAME "") +_cmifwarg("Package tag" + STRING DISPLAY_NAME "") +_cmifwarg("Package tag" + STRING DESCRIPTION "") +_cmifwarg("Package tag (keep empty to auto generate)" + STRING RELEASE_DATE "") +_cmifwarg("Package tag (values: TRUE, FALSE, SCRIPT)" + STRING DEFAULT "") +_cmifwarg("Package tag" + STRING VERSION + "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}") +_cmifwarg("Package