parent
1b6b6f02ff
commit
b4903bcd04
@ -1,4 +1,4 @@
|
|||||||
install(DIRECTORY vim/indent vim/syntax DESTINATION ${CMAKE_DATA_DIR}/editors/vim)
|
install(DIRECTORY vim/indent vim/syntax DESTINATION ${CMAKE_DATA_DIR}/editors/vim)
|
||||||
install(FILES cmake-mode.el DESTINATION ${CMAKE_DATA_DIR}/editors/emacs)
|
install(FILES cmake-mode.el DESTINATION ${CMAKE_DATA_DIR}/editors/emacs)
|
||||||
install(FILES cmake.m4 DESTINATION share/aclocal)
|
install(FILES cmake.m4 DESTINATION ${CMAKE_XDGDATA_DIR}/aclocal)
|
||||||
add_subdirectory (bash-completion)
|
add_subdirectory (bash-completion)
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,205 +1,249 @@
|
|||||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||||
|
|
||||||
# If the cmake version includes cpack, use it
|
option(CMAKE_INSTALL_DEBUG_LIBRARIES
|
||||||
if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
"Install Microsoft runtime debug libraries with CMake." FALSE)
|
||||||
if(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake")
|
mark_as_advanced(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||||
option(CMAKE_INSTALL_DEBUG_LIBRARIES
|
|
||||||
"Install Microsoft runtime debug libraries with CMake." FALSE)
|
|
||||||
mark_as_advanced(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
|
||||||
|
|
||||||
# By default, do not warn when built on machines using only VS Express:
|
|
||||||
if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
|
|
||||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMake_INSTALL_DEPENDENCIES)
|
# By default, do not warn when built on machines using only VS Express:
|
||||||
include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
|
if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
|
||||||
endif()
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
|
if(CMake_INSTALL_DEPENDENCIES)
|
||||||
set(CPACK_PACKAGE_VENDOR "Kitware")
|
include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
endif()
|
||||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
|
||||||
set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
|
|
||||||
set(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
|
|
||||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
|
||||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
|
|
||||||
|
|
||||||
# Installers for 32- vs. 64-bit CMake:
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
|
||||||
# - Root install directory (displayed to end user at installer-run time)
|
set(CPACK_PACKAGE_VENDOR "Kitware")
|
||||||
# - "NSIS package/display name" (text used in the installer GUI)
|
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
||||||
# - Registry key used to store info about the installation
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
||||||
if(CMAKE_CL_64)
|
set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
|
||||||
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
set(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
|
||||||
set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION} (Win64)")
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
||||||
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
|
||||||
|
|
||||||
|
# Installers for 32- vs. 64-bit CMake:
|
||||||
|
# - Root install directory (displayed to end user at installer-run time)
|
||||||
|
# - "NSIS package/display name" (text used in the installer GUI)
|
||||||
|
# - Registry key used to store info about the installation
|
||||||
|
if(CMAKE_CL_64)
|
||||||
|
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
||||||
|
set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION} (Win64)")
|
||||||
|
else()
|
||||||
|
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
|
||||||
|
set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
|
||||||
|
endif()
|
||||||
|
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_NSIS_PACKAGE_NAME}")
|
||||||
|
|
||||||
|
if(NOT DEFINED CPACK_SYSTEM_NAME)
|
||||||
|
# make sure package is not Cygwin-unknown, for Cygwin just
|
||||||
|
# cygwin is good for the system name
|
||||||
|
if("x${CMAKE_SYSTEM_NAME}" STREQUAL "xCYGWIN")
|
||||||
|
set(CPACK_SYSTEM_NAME Cygwin)
|
||||||
else()
|
else()
|
||||||
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
|
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
||||||
set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
|
|
||||||
endif()
|
|
||||||
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_NSIS_PACKAGE_NAME}")
|
|
||||||
|
|
||||||
if(NOT DEFINED CPACK_SYSTEM_NAME)
|
|
||||||
# make sure package is not Cygwin-unknown, for Cygwin just
|
|
||||||
# cygwin is good for the system name
|
|
||||||
if("x${CMAKE_SYSTEM_NAME}" STREQUAL "xCYGWIN")
|
|
||||||
set(CPACK_SYSTEM_NAME Cygwin)
|
|
||||||
else()
|
|
||||||
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
if(${CPACK_SYSTEM_NAME} MATCHES Windows)
|
endif()
|
||||||
if(CMAKE_CL_64)
|
if(${CPACK_SYSTEM_NAME} MATCHES Windows)
|
||||||
set(CPACK_SYSTEM_NAME win64-x64)
|
if(CMAKE_CL_64)
|
||||||
set(CPACK_IFW_TARGET_DIRECTORY "@RootDir@/Program Files/${CMAKE_PROJECT_NAME}")
|
set(CPACK_SYSTEM_NAME win64-x64)
|
||||||
else()
|
set(CPACK_IFW_TARGET_DIRECTORY "@RootDir@/Program Files/${CMAKE_PROJECT_NAME}")
|
||||||
set(CPACK_SYSTEM_NAME win32-x86)
|
else()
|
||||||
endif()
|
set(CPACK_SYSTEM_NAME win32-x86)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Components
|
# Command for configure IFW script templates
|
||||||
if(CMake_INSTALL_COMPONENTS)
|
include(${CMake_SOURCE_DIR}/Modules/CPackIFWConfigureFile.cmake)
|
||||||
set(_CPACK_IFW_COMPONENTS_ALL cmake ctest cpack)
|
|
||||||
if(WIN32 AND NOT CYGWIN)
|
# Advanced IFW configuration
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmcldeps)
|
set(_cpifwrc CPACK_IFW_COMPONENT_GROUP_CMAKE_)
|
||||||
endif()
|
set(_cpifwrcconf _CPACK_IFW_COMPONENT_GROUP_CMAKE)
|
||||||
if(APPLE)
|
set(${_cpifwrcconf} "# CMake IFW configuration\n")
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmakexbuild)
|
macro(_cmifwarg DESCRIPTION TYPE NAME DEFAULT)
|
||||||
endif()
|
set(_var CMake_IFW_ROOT_COMPONENT_${NAME})
|
||||||
if(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
|
if(DEFINED ${_var})
|
||||||
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME
|
set(${_var} ${${_var}} CACHE ${TYPE} ${DESCRIPTION})
|
||||||
${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME})
|
mark_as_advanced(${_var})
|
||||||
else()
|
elseif(NOT "${DEFAULT}" STREQUAL "")
|
||||||
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME Unspecified)
|
set(${_var} ${DEFAULT})
|
||||||
endif()
|
endif()
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL ${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME})
|
if(DEFINED ${_var})
|
||||||
string(TOUPPER "${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME}"
|
set(${_cpifwrcconf}
|
||||||
_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME)
|
"${${_cpifwrcconf}} set(${_cpifwrc}${NAME}\n \"${${_var}}\")\n")
|
||||||
if(BUILD_CursesDialog)
|
endif()
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL ccmake)
|
endmacro()
|
||||||
endif()
|
|
||||||
if(BUILD_QtDialog)
|
_cmifwarg("Package <Name> tag (domen-like)"
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-gui)
|
STRING NAME "")
|
||||||
if(USE_LGPL)
|
_cmifwarg("Package <DisplayName> tag"
|
||||||
set(_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES "set(CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES
|
STRING DISPLAY_NAME "")
|
||||||
\"LGPLv${USE_LGPL}\" \"${CMake_SOURCE_DIR}/Licenses/LGPLv${USE_LGPL}.txt\")")
|
_cmifwarg("Package <Description> tag"
|
||||||
endif()
|
STRING DESCRIPTION "")
|
||||||
endif()
|
_cmifwarg("Package <ReleaseDate> tag (keep empty to auto generate)"
|
||||||
if(SPHINX_MAN)
|
STRING RELEASE_DATE "")
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-man)
|
_cmifwarg("Package <Default> tag (values: TRUE, FALSE, SCRIPT)"
|
||||||
endif()
|
STRING DEFAULT "")
|
||||||
if(SPHINX_HTML)
|
_cmifwarg("Package <Version> tag"
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-html)
|
STRING VERSION
|
||||||
endif()
|
"${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
|
||||||
if(SPHINX_SINGLEHTML)
|
_cmifwarg("Package <SortingPriority> tag"
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-singlehtml)
|
STRING PRIORITY "100")
|
||||||
|
_cmifwarg("Package <ForsedInstallation> tag"
|
||||||
|
STRING FORCED_INSTALLATION "")
|
||||||
|
|
||||||
|
set(${_cpifwrc}LICENSES_DEFAULT
|
||||||
|
"${CPACK_PACKAGE_NAME} Copyright;${CPACK_RESOURCE_FILE_LICENSE}")
|
||||||
|
|
||||||
|
# Components
|
||||||
|
if(CMake_INSTALL_COMPONENTS)
|
||||||
|
set(_CPACK_IFW_COMPONENTS_ALL cmake ctest cpack)
|
||||||
|
if(WIN32 AND NOT CYGWIN)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmcldeps)
|
||||||
|
endif()
|
||||||
|
if(APPLE)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmakexbuild)
|
||||||
|
endif()
|
||||||
|
if(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
|
||||||
|
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME
|
||||||
|
${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME})
|
||||||
|
else()
|
||||||
|
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME Unspecified)
|
||||||
|
endif()
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL ${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME})
|
||||||
|
string(TOUPPER "${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME}"
|
||||||
|
_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME)
|
||||||
|
if(BUILD_CursesDialog)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL ccmake)
|
||||||
|
endif()
|
||||||
|
if(BUILD_QtDialog)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-gui)
|
||||||
|
if(USE_LGPL)
|
||||||
|
set(_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES "set(CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES
|
||||||
|
\"LGPLv${USE_LGPL}\" \"${CMake_SOURCE_DIR}/Licenses/LGPLv${USE_LGPL}.txt\")")
|
||||||
endif()
|
endif()
|
||||||
if(SPHINX_QTHELP)
|
endif()
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-qthelp)
|
if(SPHINX_MAN)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-man)
|
||||||
|
endif()
|
||||||
|
if(SPHINX_HTML)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-html)
|
||||||
|
endif()
|
||||||
|
if(SPHINX_SINGLEHTML)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-singlehtml)
|
||||||
|
endif()
|
||||||
|
if(SPHINX_QTHELP)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-qthelp)
|
||||||
|
endif()
|
||||||
|
if(CMake_BUILD_DEVELOPER_REFERENCE)
|
||||||
|
if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
|
||||||
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-html)
|
||||||
endif()
|
endif()
|
||||||
if(CMake_BUILD_DEVELOPER_REFERENCE)
|
if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
|
||||||
if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-qthelp)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-html)
|
|
||||||
endif()
|
|
||||||
if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
|
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-qthelp)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
set(_CPACK_IFW_COMPONENTS_CONFIGURATION "
|
endif()
|
||||||
|
set(_CPACK_IFW_COMPONENTS_CONFIGURATION "
|
||||||
# Components
|
# Components
|
||||||
set(CPACK_COMPONENTS_ALL \"${_CPACK_IFW_COMPONENTS_ALL}\")
|
set(CPACK_COMPONENTS_ALL \"${_CPACK_IFW_COMPONENTS_ALL}\")
|
||||||
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
||||||
")
|
")
|
||||||
else()
|
_cmifwarg("Package <Script> template"
|
||||||
if(BUILD_QtDialog AND USE_LGPL)
|
FILEPATH SCRIPT_TEMPLATE "${CMake_SOURCE_DIR}/Source/QtIFW/CMake.qs.in")
|
||||||
set(_CPACK_IFW_ADDITIONAL_LICENSES
|
else()
|
||||||
"\"LGPLv${USE_LGPL}\" \"${CMake_SOURCE_DIR}/Licenses/LGPLv${USE_LGPL}.txt\"")
|
if(BUILD_QtDialog AND USE_LGPL)
|
||||||
endif()
|
set(${_cpifwrc}LICENSES_DEFAULT
|
||||||
|
"${${_cpifwrc}LICENSES_DEFAULT};LGPLv${USE_LGPL};${CMake_SOURCE_DIR}/Licenses/LGPLv${USE_LGPL}.txt")
|
||||||
endif()
|
endif()
|
||||||
|
_cmifwarg("Package <Script> template"
|
||||||
|
FILEPATH SCRIPT_TEMPLATE "${CMake_SOURCE_DIR}/Source/QtIFW/installscript.qs.in")
|
||||||
|
endif()
|
||||||
|
_cmifwarg("Package <Script> generated"
|
||||||
|
FILEPATH SCRIPT_GENERATED "${CMake_BINARY_DIR}/CMake.qs")
|
||||||
|
|
||||||
# Components scripts configuration
|
_cmifwarg("Package <Licenses> tag (pairs of <display_name> <file_path>)"
|
||||||
foreach(_script
|
STRING LICENSES "${${_cpifwrc}LICENSES_DEFAULT}")
|
||||||
CMake
|
|
||||||
CMake.Documentation.SphinxHTML
|
|
||||||
CMake.DeveloperReference.HTML)
|
|
||||||
configure_file("${CMake_SOURCE_DIR}/Source/QtIFW/${_script}.qs.in"
|
|
||||||
"${CMake_BINARY_DIR}/${_script}.qs" @ONLY)
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES Windows)
|
|
||||||
set(_CPACK_IFW_PACKAGE_ICON
|
|
||||||
"set(CPACK_IFW_PACKAGE_ICON \"${CMake_SOURCE_DIR}/Source/QtDialog/CMakeSetup.ico\")")
|
|
||||||
if(BUILD_QtDialog)
|
|
||||||
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/bin/cmake-gui.exe\", \"@StartMenuDir@/CMake (cmake-gui).lnk\");\n")
|
|
||||||
endif()
|
|
||||||
if(SPHINX_HTML)
|
|
||||||
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}/html/index.html\", \"@StartMenuDir@/CMake Documentation.lnk\");\n")
|
|
||||||
endif()
|
|
||||||
if(CMake_BUILD_DEVELOPER_REFERENCE)
|
|
||||||
if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
|
|
||||||
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}/developer-reference/html/index.html\", \"@StartMenuDir@/CMake Developer Reference.lnk\");\n")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
configure_file("${CMake_SOURCE_DIR}/Source/QtIFW/installscript.qs.in"
|
|
||||||
"${CMake_BINARY_DIR}/installscript.qs" @ONLY
|
|
||||||
)
|
|
||||||
install(FILES "${CMake_SOURCE_DIR}/Source/QtIFW/cmake.org.html"
|
|
||||||
DESTINATION "${CMAKE_DOC_DIR}"
|
|
||||||
)
|
|
||||||
if(CMake_INSTALL_COMPONENTS)
|
|
||||||
set(_CPACK_IFW_PACKAGE_SCRIPT "${CMake_BINARY_DIR}/CMake.qs")
|
|
||||||
else()
|
|
||||||
set(_CPACK_IFW_PACKAGE_SCRIPT "${CMake_BINARY_DIR}/installscript.qs")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES Linux)
|
if(${CMAKE_SYSTEM_NAME} MATCHES Windows)
|
||||||
set(CPACK_IFW_TARGET_DIRECTORY "@HomeDir@/${CMAKE_PROJECT_NAME}")
|
set(_CPACK_IFW_PACKAGE_ICON
|
||||||
set(CPACK_IFW_ADMIN_TARGET_DIRECTORY "@ApplicationsDir@/${CMAKE_PROJECT_NAME}")
|
"set(CPACK_IFW_PACKAGE_ICON \"${CMake_SOURCE_DIR}/Source/QtDialog/CMakeSetup.ico\")")
|
||||||
|
if(BUILD_QtDialog)
|
||||||
|
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/bin/cmake-gui.exe\", \"@StartMenuDir@/CMake (cmake-gui).lnk\");\n")
|
||||||
endif()
|
endif()
|
||||||
|
if(SPHINX_HTML)
|
||||||
set(_CPACK_IFW_PACKAGE_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH})
|
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}/html/index.html\", \"@StartMenuDir@/CMake Documentation.lnk\");\n")
|
||||||
|
endif()
|
||||||
if(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
|
if(CMake_BUILD_DEVELOPER_REFERENCE)
|
||||||
# if the CPACK_PACKAGE_FILE_NAME is not defined by the cache
|
if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
|
||||||
# default to source package - system, on cygwin system is not
|
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}/developer-reference/html/index.html\", \"@StartMenuDir@/CMake Developer Reference.lnk\");\n")
|
||||||
# needed
|
|
||||||
if(CYGWIN)
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
|
|
||||||
else()
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME
|
|
||||||
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
install(FILES "${CMake_SOURCE_DIR}/Source/QtIFW/cmake.org.html"
|
||||||
|
DESTINATION "${CMAKE_DOC_DIR}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
|
if(${CMAKE_SYSTEM_NAME} MATCHES Linux)
|
||||||
|
set(CPACK_IFW_TARGET_DIRECTORY "@HomeDir@/${CMAKE_PROJECT_NAME}")
|
||||||
|
set(CPACK_IFW_ADMIN_TARGET_DIRECTORY "@ApplicationsDir@/${CMAKE_PROJECT_NAME}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
# Components scripts configuration
|
||||||
set(CPACK_STRIP_FILES "${CMAKE_BIN_DIR}/ccmake;${CMAKE_BIN_DIR}/cmake;${CMAKE_BIN_DIR}/cpack;${CMAKE_BIN_DIR}/ctest")
|
if((EXISTS "${CMake_IFW_ROOT_COMPONENT_SCRIPT_TEMPLATE}")
|
||||||
set(CPACK_SOURCE_STRIP_FILES "")
|
AND (NOT "${CMake_IFW_ROOT_COMPONENT_SCRIPT_GENERATED}" STREQUAL "")
|
||||||
set(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
|
AND (NOT "${CMake_IFW_ROOT_COMPONENT_SCRIPT}"))
|
||||||
|
cpack_ifw_configure_file("${CMake_IFW_ROOT_COMPONENT_SCRIPT_TEMPLATE}"
|
||||||
|
"${CMake_IFW_ROOT_COMPONENT_SCRIPT_GENERATED}")
|
||||||
|
_cmifwarg("Package <Script> tag"
|
||||||
|
FILEPATH SCRIPT "${CMake_IFW_ROOT_COMPONENT_SCRIPT_GENERATED}")
|
||||||
|
endif()
|
||||||
|
foreach(_script
|
||||||
|
CMake.Dialogs.QtGUI
|
||||||
|
CMake.Documentation.SphinxHTML
|
||||||
|
CMake.DeveloperReference.HTML)
|
||||||
|
cpack_ifw_configure_file("${CMake_SOURCE_DIR}/Source/QtIFW/${_script}.qs.in"
|
||||||
|
"${CMake_BINARY_DIR}/${_script}.qs")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
|
||||||
|
# if the CPACK_PACKAGE_FILE_NAME is not defined by the cache
|
||||||
|
# default to source package - system, on cygwin system is not
|
||||||
|
# needed
|
||||||
|
if(CYGWIN)
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
|
||||||
|
else()
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME
|
||||||
|
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CPACK_WIX_UPGRADE_GUID "8ffd1d72-b7f1-11e2-8ee5-00238bca4991")
|
set(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
|
||||||
|
|
||||||
if(MSVC AND NOT "$ENV{WIX}" STREQUAL "")
|
if(UNIX)
|
||||||
set(WIX_CUSTOM_ACTION_ENABLED TRUE)
|
set(CPACK_STRIP_FILES "${CMAKE_BIN_DIR}/ccmake;${CMAKE_BIN_DIR}/cmake;${CMAKE_BIN_DIR}/cpack;${CMAKE_BIN_DIR}/ctest")
|
||||||
if(CMAKE_CONFIGURATION_TYPES)
|
set(CPACK_SOURCE_STRIP_FILES "")
|
||||||
set(WIX_CUSTOM_ACTION_MULTI_CONFIG TRUE)
|
set(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
|
||||||
else()
|
endif()
|
||||||
set(WIX_CUSTOM_ACTION_MULTI_CONFIG FALSE)
|
|
||||||
endif()
|
set(CPACK_WIX_UPGRADE_GUID "8ffd1d72-b7f1-11e2-8ee5-00238bca4991")
|
||||||
|
|
||||||
|
if(MSVC AND NOT "$ENV{WIX}" STREQUAL "")
|
||||||
|
set(WIX_CUSTOM_ACTION_ENABLED TRUE)
|
||||||
|
if(CMAKE_CONFIGURATION_TYPES)
|
||||||
|
set(WIX_CUSTOM_ACTION_MULTI_CONFIG TRUE)
|
||||||
else()
|
else()
|
||||||
set(WIX_CUSTOM_ACTION_ENABLED FALSE)
|
set(WIX_CUSTOM_ACTION_MULTI_CONFIG FALSE)
|
||||||
endif()
|
endif()
|
||||||
|
else()
|
||||||
|
set(WIX_CUSTOM_ACTION_ENABLED FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
|
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
|
||||||
set(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
|
set(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
|
||||||
configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
|
configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
|
||||||
"${CMake_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
"${CMake_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||||
set(CPACK_PROJECT_CONFIG_FILE "${CMake_BINARY_DIR}/CMakeCPackOptions.cmake")
|
set(CPACK_PROJECT_CONFIG_FILE "${CMake_BINARY_DIR}/CMakeCPackOptions.cmake")
|
||||||
|
|
||||||
# include CPack model once all variables are set
|
# include CPack model once all variables are set
|
||||||
include(CPack)
|
include(CPack)
|
||||||
endif()
|
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
For each toolset that comes with this version of Visual Studio, there are
|
||||||
|
variants that are themselves compiled for 32-bit (x86) and 64-bit (x64) hosts
|
||||||
|
(independent of the architecture they target). By default Visual Studio
|
||||||
|
chooses the 32-bit variant even on a 64-bit host. One may request use of the
|
||||||
|
64-bit host tools by adding ``host=x64`` to the toolset specification:
|
||||||
|
|
||||||
|
``host=x64``
|
||||||
|
Select the 64-bit variant of the default toolset.
|
||||||
|
``<toolset>,host=x64``
|
||||||
|
Select the 64-bit variant of the ``<toolset>`` toolset.
|
@ -0,0 +1 @@
|
|||||||
|
.. cmake-module:: ../../Modules/CPackIFWConfigureFile.cmake
|
@ -0,0 +1 @@
|
|||||||
|
.. cmake-module:: ../../Modules/CSharpUtilities.cmake
|
@ -0,0 +1,37 @@
|
|||||||
|
CMP0067
|
||||||
|
-------
|
||||||
|
|
||||||
|
Honor language standard in :command:`try_compile` source-file signature.
|
||||||
|
|
||||||
|
The :command:`try_compile` source file signature is intended to allow
|
||||||
|
callers to check whether they will be able to compile a given source file
|
||||||
|
with the current toolchain. In order to match compiler behavior, any
|
||||||
|
language standard mode should match. However, CMake 3.7 and below did not
|
||||||
|
do this. CMake 3.8 and above prefer to honor the language standard settings
|
||||||
|
for ``C``, ``CXX`` (C++), and ``CUDA`` using the values of the variables:
|
||||||
|
|
||||||
|
* :variable:`CMAKE_C_STANDARD`
|
||||||
|
* :variable:`CMAKE_C_STANDARD_REQUIRED`
|
||||||
|
* :variable:`CMAKE_C_EXTENSIONS`
|
||||||
|
* :variable:`CMAKE_CXX_STANDARD`
|
||||||
|
* :variable:`CMAKE_CXX_STANDARD_REQUIRED`
|
||||||
|
* :variable:`CMAKE_CXX_EXTENSIONS`
|
||||||
|
* :variable:`CMAKE_CUDA_STANDARD`
|
||||||
|
* :variable:`CMAKE_CUDA_STANDARD_REQUIRED`
|
||||||
|
* :variable:`CMAKE_CUDA_EXTENSIONS`
|
||||||
|
|
||||||
|
This policy provides compatibility for projects that do not expect
|
||||||
|
the language standard settings to be used automatically.
|
||||||
|
|
||||||
|
The ``OLD`` behavior of this policy is to ignore language standard
|
||||||
|
setting variables when generating the ``try_compile`` test project.
|
||||||
|
The ``NEW`` behavior of this policy is to honor language standard
|
||||||
|
setting variables.
|
||||||
|
|
||||||
|
This policy was introduced in CMake version 3.8. Unlike most policies,
|
||||||
|
CMake version |release| does *not* warn by default when this policy
|
||||||
|
is not set and simply uses OLD behavior. See documentation of the
|
||||||
|
:variable:`CMAKE_POLICY_WARNING_CMP0067 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
|
||||||
|
variable to control the warning.
|
||||||
|
|
||||||
|
.. include:: DEPRECATED.txt
|
@ -0,0 +1,24 @@
|
|||||||
|
XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Control emission of ``EFFECTIVE_PLATFORM_NAME`` by the Xcode generator.
|
||||||
|
|
||||||
|
It is required for building the same target with multiple SDKs. A
|
||||||
|
common use case is the parallel use of ``iphoneos`` and
|
||||||
|
``iphonesimulator`` SDKs.
|
||||||
|
|
||||||
|
Three different states possible that control when the Xcode generator
|
||||||
|
emits the ``EFFECTIVE_PLATFORM_NAME`` variable:
|
||||||
|
|
||||||
|
- If set to ``ON`` it will always be emitted
|
||||||
|
- If set to ``OFF`` it will never be emitted
|
||||||
|
- If unset (the default) it will only be emitted when the project was
|
||||||
|
configured for an embedded Xcode SDK like iOS, tvOS, watchOS or any
|
||||||
|
of the simulators.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
When this behavior is enable for generated Xcode projects, the
|
||||||
|
``EFFECTIVE_PLATFORM_NAME`` variable will leak into
|
||||||
|
:manual:`Generator expressions <cmake-generator-expressions(7)>`
|
||||||
|
like ``TARGET_FILE`` and will render those mostly unusable.
|
@ -0,0 +1,8 @@
|
|||||||
|
SKIP_AUTOGEN
|
||||||
|
------------
|
||||||
|
|
||||||
|
Exclude the source file from :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTOUIC` and
|
||||||
|
:prop_tgt:`AUTORCC` processing (for Qt projects).
|
||||||
|
|
||||||
|
For finer control see :prop_sf:`SKIP_AUTOMOC`, :prop_sf:`SKIP_AUTOUIC` and
|
||||||
|
:prop_sf:`SKIP_AUTORCC`.
|
@ -0,0 +1,6 @@
|
|||||||
|
SKIP_AUTOMOC
|
||||||
|
------------
|
||||||
|
|
||||||
|
Exclude the source file from :prop_tgt:`AUTOMOC` processing (for Qt projects).
|
||||||
|
|
||||||
|
For broader control see :prop_sf:`SKIP_AUTOGEN`
|
@ -0,0 +1,6 @@
|
|||||||
|
SKIP_AUTORCC
|
||||||
|
------------
|
||||||
|
|
||||||
|
Exclude the source file from :prop_tgt:`AUTORCC` processing (for Qt projects).
|
||||||
|
|
||||||
|
For broader control see :prop_sf:`SKIP_AUTOGEN`
|
@ -0,0 +1,6 @@
|
|||||||
|
SKIP_AUTOUIC
|
||||||
|
------------
|
||||||
|
|
||||||
|
Exclude the source file from :prop_tgt:`AUTOUIC` processing (for Qt projects).
|
||||||
|
|
||||||
|
For broader control see :prop_sf:`SKIP_AUTOGEN`
|
@ -0,0 +1,6 @@
|
|||||||
|
VS_COPY_TO_OUT_DIR
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Sets the ``<CopyToOutputDirectory>`` tag for a source file in a
|
||||||
|
Visual Studio project file. Valid values are ``Never``, ``Always``
|
||||||
|
and ``PreserveNewest``.
|
@ -0,0 +1,19 @@
|
|||||||
|
VS_CSHARP_<tagname>
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Visual Studio and CSharp source-file-specific configuration.
|
||||||
|
|
||||||
|
Tell the Visual Studio generator to set the source file tag
|
||||||
|
``<tagname>`` to a given value in the generated Visual Studio CSharp
|
||||||
|
project. Ignored on other generators and languages. This property
|
||||||
|
can be used to define dependencies between source files or set any
|
||||||
|
other Visual Studio specific parameters.
|
||||||
|
|
||||||
|
Example usage:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set_source_files_property(<filename>
|
||||||
|
PROPERTIES
|
||||||
|
VS_CSHARP_DependentUpon <other file>
|
||||||
|
VS_CSHARP_SubType "Form")
|
@ -0,0 +1,6 @@
|
|||||||
|
VS_INCLUDE_IN_VSIX
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Boolean property to specify if the file should be included within a VSIX
|
||||||
|
extension package. This is needed for development of Visual Studio
|
||||||
|
extensions.
|
@ -0,0 +1,8 @@
|
|||||||
|
VS_RESOURCE_GENERATOR
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
This property allows to specify the resource generator to be used
|
||||||
|
on this file. It defaults to ``PublicResXFileCodeGenerator`` if
|
||||||
|
not set.
|
||||||
|
|
||||||
|
This property only applies to C# projects.
|
@ -0,0 +1,10 @@
|
|||||||
|
BUILD_RPATH
|
||||||
|
-----------
|
||||||
|
|
||||||
|
A :ref:`;-list <CMake Language Lists>` specifying runtime path (``RPATH``)
|
||||||
|
entries to add to binaries linked in the build tree (for platforms that
|
||||||
|
support it). The entries will *not* be used for binaries in the install
|
||||||
|
tree. See also the :prop_tgt:`INSTALL_RPATH` target property.
|
||||||
|
|
||||||
|
This property is initialized by the value of the variable
|
||||||
|
:variable:`CMAKE_BUILD_RPATH` if it is set when a target is created.
|
@ -0,0 +1,17 @@
|
|||||||
|
CUDA_EXTENSIONS
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Boolean specifying whether compiler specific extensions are requested.
|
||||||
|
|
||||||
|
This property specifies whether compiler specific extensions should be
|
||||||
|
used. For some compilers, this results in adding a flag such
|
||||||
|
as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line. This
|
||||||
|
property is ``ON`` by default. The basic CUDA/C++ standard level is
|
||||||
|
controlled by the :prop_tgt:`CUDA_STANDARD` target property.
|
||||||
|
|
||||||
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
|
compile features and a list of supported compilers.
|
||||||
|
|
||||||
|
This property is initialized by the value of
|
||||||
|
the :variable:`CMAKE_CUDA_EXTENSIONS` variable if it is set when a target
|
||||||
|
is created.
|
@ -0,0 +1,13 @@
|
|||||||
|
CUDA_SEPARABLE_COMPILATION
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
CUDA only: Enables separate compilation of device code
|
||||||
|
|
||||||
|
If set this will enable separable compilation for all CUDA files for
|
||||||
|
the given target.
|
||||||
|
|
||||||
|
For instance:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set_property(TARGET myexe PROPERTY CUDA_SEPARABLE_COMPILATION ON)
|
@ -0,0 +1,32 @@
|
|||||||
|
CUDA_STANDARD
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The CUDA/C++ standard whose features are requested to build this target.
|
||||||
|
|
||||||
|
This property specifies the CUDA/C++ standard whose features are requested
|
||||||
|
to build this target. For some compilers, this results in adding a
|
||||||
|
flag such as ``-std=gnu++11`` to the compile line.
|
||||||
|
|
||||||
|
Supported values are ``98``, ``11``.
|
||||||
|
|
||||||
|
If the value requested does not result in a compile flag being added for
|
||||||
|
the compiler in use, a previous standard flag will be added instead. This
|
||||||
|
means that using:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set_property(TARGET tgt PROPERTY CUDA_STANDARD 11)
|
||||||
|
|
||||||
|
with a compiler which does not support ``-std=gnu++11`` or an equivalent
|
||||||
|
flag will not result in an error or warning, but will instead add the
|
||||||
|
``-std=gnu++98`` flag if supported. This "decay" behavior may be controlled
|
||||||
|
with the :prop_tgt:`CUDA_STANDARD_REQUIRED` target property.
|
||||||
|
Additionally, the :prop_tgt:`CUDA_EXTENSIONS` target property may be used to
|
||||||
|
control whether compiler-specific extensions are enabled on a per-target basis.
|
||||||
|
|
||||||
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
|
compile features and a list of supported compilers.
|
||||||
|
|
||||||
|
This property is initialized by the value of
|
||||||
|
the :variable:`CMAKE_CUDA_STANDARD` variable if it is set when a target
|
||||||
|
is created.
|
@ -0,0 +1,18 @@
|
|||||||
|
CUDA_STANDARD_REQUIRED
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Boolean describing whether the value of :prop_tgt:`CUDA_STANDARD` is a requirement.
|
||||||
|
|
||||||
|
If this property is set to ``ON``, then the value of the
|
||||||
|
:prop_tgt:`CUDA_STANDARD` target property is treated as a requirement. If this
|
||||||
|
property is ``OFF`` or unset, the :prop_tgt:`CUDA_STANDARD` target property is
|
||||||
|
treated as optional and may "decay" to a previous standard if the requested is
|
||||||
|
not available. For compilers that have no notion of a standard level, such as
|
||||||
|
MSVC, this has no effect.
|
||||||
|
|
||||||
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
|
compile features and a list of supported compilers.
|
||||||
|
|
||||||
|
This property is initialized by the value of
|
||||||
|
the :variable:`CMAKE_CUDA_STANDARD_REQUIRED` variable if it is set when a
|
||||||
|
target is created.
|
@ -0,0 +1,23 @@
|
|||||||
|
IMPORTED_LIBNAME
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Specify the link library name for an :ref:`imported <Imported Targets>`
|
||||||
|
:ref:`Interface Library <Interface Libraries>`.
|
||||||
|
|
||||||
|
An interface library builds no library file itself but does specify
|
||||||
|
usage requirements for its consumers. The ``IMPORTED_LIBNAME``
|
||||||
|
property may be set to specify a single library name to be placed
|
||||||
|
on the link line in place of the interface library target name as
|
||||||
|
a requirement for using the interface.
|
||||||
|
|
||||||
|
This property is intended for use in naming libraries provided by
|
||||||
|
a platform SDK for which the full path to a library file may not
|
||||||
|
be known. The value may be a plain library name such as ``foo``
|
||||||
|
but may *not* be a path (e.g. ``/usr/lib/libfoo.so``) or a flag
|
||||||
|
(e.g. ``-Wl,...``). The name is never treated as a library target
|
||||||
|
name even if it happens to name one.
|
||||||
|
|
||||||
|
The ``IMPORTED_LIBNAME`` property is allowed only on
|
||||||
|
:ref:`imported <Imported Targets>` :ref:`Interface Libraries`
|
||||||
|
and is rejected on targets of other types (for which
|
||||||
|
the :prop_tgt:`IMPORTED_LOCATION` target property may be used).
|
@ -0,0 +1,7 @@
|
|||||||
|
IMPORTED_LIBNAME_<CONFIG>
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
<CONFIG>-specific version of :prop_tgt:`IMPORTED_LIBNAME` property.
|
||||||
|
|
||||||
|
Configuration names correspond to those provided by the project from
|
||||||
|
which the target is imported.
|
@ -0,0 +1,13 @@
|
|||||||
|
<LANG>_CPPLINT
|
||||||
|
--------------
|
||||||
|
|
||||||
|
This property is supported only when ``<LANG>`` is ``C`` or ``CXX``.
|
||||||
|
|
||||||
|
Specify a :ref:`;-list <CMake Language Lists>` containing a command line
|
||||||
|
for the ``cpplint`` style checker. The :ref:`Makefile Generators` and the
|
||||||
|
:generator:`Ninja` generator will run ``cpplint`` along with the compiler
|
||||||
|
and report any problems.
|
||||||
|
|
||||||
|
This property is initialized by the value of the
|
||||||
|
:variable:`CMAKE_<LANG>_CPPLINT` variable if it is set when a target is
|
||||||
|
created.
|
@ -0,0 +1,8 @@
|
|||||||
|
MANUALLY_ADDED_DEPENDENCIES
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Get manually added dependencies to other top-level targets.
|
||||||
|
|
||||||
|
This read-only property can be used to query all dependencies that
|
||||||
|
were added for this target with the :command:`add_dependencies`
|
||||||
|
command.
|
@ -1,19 +1,25 @@
|
|||||||
MAP_IMPORTED_CONFIG_<CONFIG>
|
MAP_IMPORTED_CONFIG_<CONFIG>
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
Map from project configuration to IMPORTED target's configuration.
|
Map from project configuration to
|
||||||
|
:ref:`imported target <IMPORTED targets>`'s configuration.
|
||||||
|
|
||||||
Set this to the list of configurations of an imported target that may
|
Set this to the list of configurations of an imported target that may
|
||||||
be used for the current project's <CONFIG> configuration. Targets
|
be used for the current project's ``<CONFIG>`` configuration. Targets
|
||||||
imported from another project may not provide the same set of
|
imported from another project may not provide the same set of
|
||||||
configuration names available in the current project. Setting this
|
configuration names available in the current project. Setting this
|
||||||
property tells CMake what imported configurations are suitable for use
|
property tells CMake what imported configurations are suitable for use
|
||||||
when building the <CONFIG> configuration. The first configuration in
|
when building the ``<CONFIG>`` configuration. The first configuration in
|
||||||
the list found to be provided by the imported target is selected. If
|
the list found to be provided by the imported target (i.e. via
|
||||||
this property is set and no matching configurations are available,
|
:prop_tgt:`IMPORTED_LOCATION_<CONFIG>` for the mapped-to ``<CONFIG>``)
|
||||||
|
is selected. As a special case, an empty list element refers to the
|
||||||
|
configuration-less imported target location
|
||||||
|
(i.e. :prop_tgt:`IMPORTED_LOCATION`).
|
||||||
|
|
||||||
|
If this property is set and no matching configurations are available,
|
||||||
then the imported target is considered to be not found. This property
|
then the imported target is considered to be not found. This property
|
||||||
is ignored for non-imported targets.
|
is ignored for non-imported targets.
|
||||||
|
|
||||||
This property is initialized by the value of the variable
|
This property is initialized by the value of the
|
||||||
CMAKE_MAP_IMPORTED_CONFIG_<CONFIG> if it is set when a target is
|
:variable:`CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>` variable if it is set when a
|
||||||
created.
|
target is created.
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
VS_DEBUGGER_WORKING_DIRECTORY
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
Sets the local debugger working directory for Visual Studio C++ targets.
|
||||||
|
This is defined in ``<LocalDebuggerWorkingDirectory>`` in the Visual Studio
|
||||||
|
project file.
|
@ -0,0 +1,7 @@
|
|||||||
|
VS_DOTNET_REFERENCES_COPY_LOCAL
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
Sets the **Copy Local** property for all .NET hint references in the target
|
||||||
|
|
||||||
|
Boolean property to enable/disable copying of .NET hint references to
|
||||||
|
output directory. The default is ``ON``.
|
@ -0,0 +1,12 @@
|
|||||||
|
VS_DOTNET_REFERENCE_<refname>
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
Visual Studio managed project .NET reference with name ``<refname>``
|
||||||
|
and hint path.
|
||||||
|
|
||||||
|
Adds one .NET reference to generated Visual Studio project. The
|
||||||
|
reference will have the name ``<refname>`` and will point to the
|
||||||
|
assembly given as value of the property.
|
||||||
|
|
||||||
|
See also :prop_tgt:`VS_DOTNET_REFERENCES` and
|
||||||
|
:prop_tgt:`VS_DOTNET_REFERENCES_COPY_LOCAL`
|
@ -0,0 +1,12 @@
|
|||||||
|
VS_USER_PROPS
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Sets the user props file to be included in the visual studio
|
||||||
|
C++ project file. The standard path is
|
||||||
|
``$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props``, which is
|
||||||
|
in most cases the same as
|
||||||
|
``%LOCALAPPDATA%\\Microsoft\\MSBuild\\v4.0\\Microsoft.Cpp.Win32.user.props``
|
||||||
|
or ``%LOCALAPPDATA%\\Microsoft\\MSBuild\\v4.0\\Microsoft.Cpp.x64.user.props``.
|
||||||
|
|
||||||
|
The ``*.user.props`` files can be used for Visual Studio wide
|
||||||
|
configuration which is independent from cmake.
|
@ -0,0 +1,8 @@
|
|||||||
|
XCODE_EXPLICIT_FILE_TYPE
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Set the Xcode ``explicitFileType`` attribute on its reference to a
|
||||||
|
target. CMake computes a default based on target type but
|
||||||
|
can be told explicitly with this property.
|
||||||
|
|
||||||
|
See also :prop_tgt:`XCODE_PRODUCT_TYPE`.
|
@ -0,0 +1,8 @@
|
|||||||
|
XCODE_PRODUCT_TYPE
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Set the Xcode ``productType`` attribute on its reference to a
|
||||||
|
target. CMake computes a default based on target type but
|
||||||
|
can be told explicitly with this property.
|
||||||
|
|
||||||
|
See also :prop_tgt:`XCODE_EXPLICIT_FILE_TYPE`.
|
@ -0,0 +1,417 @@
|
|||||||
|
CMake 3.8 Release Notes
|
||||||
|
***********************
|
||||||
|
|
||||||
|
.. only:: html
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
Changes made since CMake 3.7 include the following.
|
||||||
|
|
||||||
|
New Features
|
||||||
|
============
|
||||||
|
|
||||||
|
Languages
|
||||||
|
---------
|
||||||
|
|
||||||
|
C#
|
||||||
|
^^
|
||||||
|
|
||||||
|
* CMake learned to support ``CSharp`` (C#) as a first-class language that
|
||||||
|
can be enabled via the :command:`project` and :command:`enable_language`
|
||||||
|
commands. It is currently supported by the :ref:`Visual Studio Generators`
|
||||||
|
for VS 2010 and above.
|
||||||
|
|
||||||
|
C# assemblies and programs can be added just like common C++ targets using
|
||||||
|
the :command:`add_library` and :command:`add_executable` commands.
|
||||||
|
References between C# targets in the same source tree may be specified by
|
||||||
|
:command:`target_link_libraries` like for C++. References to system or
|
||||||
|
3rd-party assemblies may be specified by the target properties
|
||||||
|
:prop_tgt:`VS_DOTNET_REFERENCE_<refname>` and
|
||||||
|
:prop_tgt:`VS_DOTNET_REFERENCES`.
|
||||||
|
|
||||||
|
* More fine tuning of C# targets may be done using target and source
|
||||||
|
file properties. Specifically the target properties related to
|
||||||
|
Visual Studio (``VS_*``) are worth a look (for setting toolset
|
||||||
|
versions, root namespaces, assembly icons, ...).
|
||||||
|
|
||||||
|
CUDA
|
||||||
|
^^^^
|
||||||
|
|
||||||
|
* CMake learned to support ``CUDA`` as a first-class language that can be
|
||||||
|
enabled via the :command:`project` and :command:`enable_language` commands.
|
||||||
|
|
||||||
|
* ``CUDA`` is currently supported by the :ref:`Makefile Generators`
|
||||||
|
and the :generator:`Ninja` generator on Linux, macOS, and Windows.
|
||||||
|
Support for the Visual Studio IDE is under development but not
|
||||||
|
included in this release.
|
||||||
|
|
||||||
|
* The NVIDIA CUDA Toolkit compiler (``nvcc``) is supported.
|
||||||
|
|
||||||
|
C & C++
|
||||||
|
^^^^^^^
|
||||||
|
|
||||||
|
* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
|
||||||
|
now offers meta-features that request compiler modes for specific language
|
||||||
|
standard levels (e.g. ``cxx_std_11``). See
|
||||||
|
:prop_gbl:`CMAKE_C_KNOWN_FEATURES` and :prop_gbl:`CMAKE_CXX_KNOWN_FEATURES`.
|
||||||
|
|
||||||
|
* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
|
||||||
|
is now aware of C++ 17. No specific features are yet enumerated besides
|
||||||
|
the ``cxx_std_17`` meta-feature.
|
||||||
|
|
||||||
|
* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
|
||||||
|
is now aware of the availability of C99 in gcc since version 3.4.
|
||||||
|
|
||||||
|
Platforms
|
||||||
|
---------
|
||||||
|
|
||||||
|
* A new minimal platform file for ``Fuchsia`` was added.
|
||||||
|
|
||||||
|
Generators
|
||||||
|
----------
|
||||||
|
|
||||||
|
* The :generator:`CodeBlocks` extra generator may now be used to
|
||||||
|
generate with :generator:`NMake Makefiles JOM`.
|
||||||
|
|
||||||
|
* The :ref:`Visual Studio Generators` for VS 2013 and above learned to
|
||||||
|
support a ``host=x64`` option in the :variable:`CMAKE_GENERATOR_TOOLSET`
|
||||||
|
value (e.g. via the :manual:`cmake(1)` ``-T`` option) to request use
|
||||||
|
of a VS 64-bit toolchain on 64-bit hosts.
|
||||||
|
|
||||||
|
* The :ref:`Visual Studio Generators` learned to treat files passed to
|
||||||
|
:command:`target_link_libraries` whose names end in ``.targets``
|
||||||
|
as MSBuild "targets" files to be imported into generated project files.
|
||||||
|
|
||||||
|
Commands
|
||||||
|
--------
|
||||||
|
|
||||||
|
* The :command:`add_custom_command` and :command:`add_custom_target` commands
|
||||||
|
learned the option ``COMMAND_EXPAND_LISTS`` which causes lists in the
|
||||||
|
``COMMAND`` argument to be expanded, including lists created by generator
|
||||||
|
expressions.
|
||||||
|
|
||||||
|
* The :command:`execute_process` command gained an ``ENCODING`` option to
|
||||||
|
specify on Windows which encoding is used for output from child process.
|
||||||
|
|
||||||
|
* The :command:`math(EXPR)` command gained support for unary
|
||||||
|
``+`` and ``-`` operators.
|
||||||
|
|
||||||
|
* The :command:`source_group` command gained ``TREE`` and ``PREFIX``
|
||||||
|
options to add groups following source tree directory structure.
|
||||||
|
|
||||||
|
* The :command:`string(TIMESTAMP)` command learned to treat ``%%``
|
||||||
|
as a way to encode plain ``%``.
|
||||||
|
|
||||||
|
* The :command:`string(TIMESTAMP)` command will now honor the
|
||||||
|
``SOURCE_DATE_EPOCH`` environment variable and use its value
|
||||||
|
instead of the current time.
|
||||||
|
|
||||||
|
* The :command:`try_compile` command source file signature gained new options
|
||||||
|
to specify the language standard to use in the generated test project.
|
||||||
|
|
||||||
|
* The :command:`try_compile` command source file signature now honors
|
||||||
|
language standard variables like :variable:`CMAKE_CXX_STANDARD`.
|
||||||
|
See policy :policy:`CMP0067`.
|
||||||
|
|
||||||
|
Variables
|
||||||
|
---------
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_CODELITE_USE_TARGETS` variable was added to tell the
|
||||||
|
:generator:`CodeLite` extra generator to change the generated project
|
||||||
|
to have target-centric organization.
|
||||||
|
The ``build``, ``rebuild``, and ``clean`` operations within ``CodeLite``
|
||||||
|
then work on a selected target rather than the whole workspace.
|
||||||
|
(Note that the :generator:`Ninja` clean operation on a target
|
||||||
|
includes its dependencies, though.)
|
||||||
|
|
||||||
|
* The :variable:`CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS` variable was added to
|
||||||
|
tell the :generator:`Sublime Text 2` extra generator to place specified
|
||||||
|
environment variables in the generated ``.sublime-project``.
|
||||||
|
|
||||||
|
* The :variable:`CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE` variable was added
|
||||||
|
to tell the :generator:`Sublime Text 2` extra generator whether to exclude
|
||||||
|
the build tree from the ``.sublime-project`` when it is inside the source
|
||||||
|
tree.
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD` variable was
|
||||||
|
added to tell :ref:`Visual Studio Generators` for VS 2010 and above
|
||||||
|
to include the ``PACKAGE`` target in the default build, similar to
|
||||||
|
the existing :variable:`CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD`
|
||||||
|
variable for the ``INSTALL`` target.
|
||||||
|
|
||||||
|
Properties
|
||||||
|
----------
|
||||||
|
|
||||||
|
* A :prop_tgt:`BUILD_RPATH` target property and corresponding
|
||||||
|
:variable:`CMAKE_BUILD_RPATH` variable were added to support custom
|
||||||
|
``RPATH`` locations to be added to binaries in the build tree.
|
||||||
|
|
||||||
|
* The :prop_sf:`COMPILE_FLAGS` source file property learned to support
|
||||||
|
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||||
|
|
||||||
|
* The :prop_tgt:`FRAMEWORK` target property may now also be applied to
|
||||||
|
static libraries on Apple targets. It will result in a proper
|
||||||
|
Framework but with a static library inside.
|
||||||
|
|
||||||
|
* :ref:`Imported <Imported Targets>` :ref:`Interface Libraries` learned new
|
||||||
|
:prop_tgt:`IMPORTED_LIBNAME` and :prop_tgt:`IMPORTED_LIBNAME_<CONFIG>`
|
||||||
|
target properties to specify a link library name since interface libraries
|
||||||
|
do not build their own library files.
|
||||||
|
|
||||||
|
* A :prop_tgt:`<LANG>_CPPLINT` target property and supporting
|
||||||
|
:variable:`CMAKE_<LANG>_CPPLINT` variable were introduced to tell
|
||||||
|
the :ref:`Makefile Generators` and the :generator:`Ninja` generator to
|
||||||
|
run the ``cpplint`` style checker along with the compiler for ``C`` and
|
||||||
|
``CXX`` languages.
|
||||||
|
|
||||||
|
* A :prop_tgt:`MANUALLY_ADDED_DEPENDENCIES` target property has been added.
|
||||||
|
It provides a read-only list of dependencies that have been added with
|
||||||
|
the :command:`add_dependencies` command.
|
||||||
|
|
||||||
|
* The :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` target property learned
|
||||||
|
to interpret empty list elements as referring to the configuration-less
|
||||||
|
imported location specified by :prop_tgt:`IMPORTED_LOCATION`.
|
||||||
|
|
||||||
|
* The :prop_tgt:`NO_SYSTEM_FROM_IMPORTED` target property is now supported
|
||||||
|
on :ref:`Imported <Imported Targets>` :ref:`Interface Libraries`.
|
||||||
|
|
||||||
|
* New source file properties :prop_sf:`SKIP_AUTOMOC`, :prop_sf:`SKIP_AUTOUIC`,
|
||||||
|
:prop_sf:`SKIP_AUTORCC`, and :prop_sf:`SKIP_AUTOGEN` were added to allow
|
||||||
|
source files to be excluded from processing by :prop_tgt:`AUTOMOC`,
|
||||||
|
:prop_tgt:`AUTOUIC`, and :prop_tgt:`AUTORCC` target properties.
|
||||||
|
|
||||||
|
* A :prop_sf:`VS_COPY_TO_OUT_DIR` source file property was added to
|
||||||
|
tell :ref:`Visual Studio Generators` for VS 2010 and above whether
|
||||||
|
or not a file should e copied to the output directory.
|
||||||
|
|
||||||
|
* A :prop_tgt:`VS_DEBUGGER_WORKING_DIRECTORY` target property was added
|
||||||
|
to tell :ref:`Visual Studio Generators` for VS 2010 and above what
|
||||||
|
debugger working directory should be set for the target.
|
||||||
|
|
||||||
|
* A :prop_tgt:`VS_DOTNET_REFERENCES_COPY_LOCAL` target property was added
|
||||||
|
to specify whether to copy referenced assemblies to the output directory.
|
||||||
|
|
||||||
|
* A :prop_tgt:`VS_DOTNET_REFERENCE_<refname>` target property was added
|
||||||
|
to tell :ref:`Visual Studio Generators` for VS 2010 and above to add
|
||||||
|
a .NET reference with a given hint path.
|
||||||
|
|
||||||
|
* A :prop_sf:`VS_INCLUDE_IN_VSIX` source file property was added to
|
||||||
|
tell :ref:`Visual Studio Generators` for VS 2010 and above whether
|
||||||
|
to include the file in a Visual Studio extension package.
|
||||||
|
|
||||||
|
* A :prop_sf:`VS_RESOURCE_GENERATOR` source file property was added to
|
||||||
|
give :ref:`Visual Studio Generators` for VS 2010 and above a setting
|
||||||
|
for the resource generator (``C#`` only).
|
||||||
|
|
||||||
|
* A :prop_tgt:`VS_USER_PROPS` target property was added to tell
|
||||||
|
:ref:`Visual Studio Generators` for VS 2010 and above to use a
|
||||||
|
custom MSBuild user ``.props`` file.
|
||||||
|
|
||||||
|
* A :prop_gbl:`XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` global property was
|
||||||
|
added to tell the :generator:`Xcode` generator whether to emit the
|
||||||
|
``EFFECTIVE_PLATFORM_NAME`` variable. This is useful when building
|
||||||
|
with multiple SDKs like ``macosx`` and ``iphoneos`` in parallel.
|
||||||
|
|
||||||
|
* New :prop_tgt:`XCODE_PRODUCT_TYPE` and :prop_tgt:`XCODE_EXPLICIT_FILE_TYPE`
|
||||||
|
target properties were created to tell the :generator:`Xcode` generator
|
||||||
|
to use custom values of the corresponding attributes for a target in the
|
||||||
|
generated Xcode project.
|
||||||
|
|
||||||
|
Modules
|
||||||
|
-------
|
||||||
|
|
||||||
|
* A :module:`CSharpUtilities` module was added to aid parameterization of
|
||||||
|
Visual Studio C# targets. It provides functions to allow automated
|
||||||
|
setting of source file properties to support Windows Forms, WPF/XAML or
|
||||||
|
other technologies as needed.
|
||||||
|
|
||||||
|
* The :module:`ExternalData` module learned to support multiple
|
||||||
|
content links for one data file using different hashes, e.g.
|
||||||
|
``img.png.sha256`` and ``img.png.sha1``. This allows objects
|
||||||
|
to be fetched from sources indexed by different hash algorithms.
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module gained the ``GIT_PROGRESS`` option to
|
||||||
|
force Git to show progress when cloning repositories.
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module gained a ``GIT_CONFIG`` option
|
||||||
|
to pass ``--config`` options to Git when cloning repositories.
|
||||||
|
|
||||||
|
* The :module:`FeatureSummary` module :command:`feature_summary` command now
|
||||||
|
accepts a new ``QUIET_ON_EMPTY`` option that suppresses the output when
|
||||||
|
the list of packages that belong to the selected category is empty.
|
||||||
|
|
||||||
|
* The :module:`FeatureSummary` module :command:`add_feature_info` command
|
||||||
|
now accepts lists of dependencies for deciding whether a feature is enabled
|
||||||
|
or not.
|
||||||
|
|
||||||
|
* The package types accepted by the :module:`FeatureSummary` module can now
|
||||||
|
be tweaked by changing the :variable:`FeatureSummary_PKG_TYPES`,
|
||||||
|
:variable:`FeatureSummary_REQUIRED_PKG_TYPES` and
|
||||||
|
:variable:`FeatureSummary_DEFAULT_PKG_TYPE` global properties.
|
||||||
|
|
||||||
|
* The :module:`FindOpenGL` module now provides imported targets
|
||||||
|
``OpenGL::GL`` and ``OpenGL::GLU`` when the libraries are found.
|
||||||
|
|
||||||
|
* The :module:`UseSWIG` module gained a ``swig_add_library`` command
|
||||||
|
to give more flexibility over the old ``swig_add_module`` command.
|
||||||
|
|
||||||
|
* The :module:`UseSWIG` module ``swig_add_source_to_module`` command
|
||||||
|
learned a new ``SWIG_OUTFILE_DIR`` option to control the output
|
||||||
|
file location (``swig -o``).
|
||||||
|
|
||||||
|
* The :module:`WriteCompilerDetectionHeader` module gained the
|
||||||
|
``ALLOW_UNKNOWN_COMPILERS`` and ``ALLOW_UNKNOWN_COMPILER_VERSIONS`` options
|
||||||
|
that allow creation of headers that will work also with unknown or old
|
||||||
|
compilers by simply assuming they do not support any of the requested
|
||||||
|
features.
|
||||||
|
|
||||||
|
CTest
|
||||||
|
-----
|
||||||
|
|
||||||
|
* The :command:`ctest_memcheck` command gained a ``DEFECT_COUNT <var>``
|
||||||
|
option to capture the number of memory defects detected.
|
||||||
|
|
||||||
|
* The :command:`ctest_memcheck` command learned to read the location of
|
||||||
|
suppressions files for sanitizers from the
|
||||||
|
:variable:`CTEST_MEMORYCHECK_SUPPRESSIONS_FILE` variable.
|
||||||
|
|
||||||
|
* The :command:`ctest_memcheck` command learned to support ``LeakSanitizer``
|
||||||
|
independently from ``AddressSanitizer``.
|
||||||
|
|
||||||
|
* The :command:`ctest_update` command ``CDASH_UPLOAD`` signature was taught
|
||||||
|
to honor the ``RETRY_COUNT``, ``RETRY_DELAY``, and ``QUIET`` options.
|
||||||
|
|
||||||
|
CPack
|
||||||
|
-----
|
||||||
|
|
||||||
|
* The :module:`CPackIFWConfigureFile` module was added to define a new
|
||||||
|
:command:`cpack_ifw_configure_file` command to configure file templates
|
||||||
|
prepared in QtIFW/SDK/Creator style.
|
||||||
|
|
||||||
|
* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
|
||||||
|
:command:`cpack_ifw_configure_component_group` commands gained a new
|
||||||
|
``DEFAULT``, ``VIRTUAL``, ``FORCED_INSTALLATION``, ``REQUIRES_ADMIN_RIGHTS``,
|
||||||
|
``DISPLAY_NAME``, ``UPDATE_TEXT``, ``DESCRIPTION``, ``RELEASE_DATE``,
|
||||||
|
``AUTO_DEPEND_ON`` and ``TRANSLATIONS`` options to more specific
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component`
|
||||||
|
command gained a new ``DEPENDENCIES`` alias for ``DEPENDS`` option.
|
||||||
|
|
||||||
|
* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component_group`
|
||||||
|
command gained a new ``DEPENDS`` option. The ``DEPENDENCIES`` alias also
|
||||||
|
added.
|
||||||
|
|
||||||
|
* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
|
||||||
|
:command:`cpack_ifw_configure_component_group` commands ``PRIORITY``
|
||||||
|
option now is deprecated and will be removed in a future version of CMake.
|
||||||
|
Please use new ``SORTING_PRIORITY`` option instead.
|
||||||
|
|
||||||
|
* The :module:`CPackIFW` module gained new
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_WATERMARK`,
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_BANNER`,
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_BACKGROUND`,
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_WIZARD_STYLE`,
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH`,
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT`, and
|
||||||
|
:variable:`CPACK_IFW_PACKAGE_TITLE_COLOR`
|
||||||
|
variables to customize a QtIFW installer look.
|
||||||
|
|
||||||
|
* The :module:`CPackProductBuild` module gained options to sign packages.
|
||||||
|
See the variables :variable:`CPACK_PRODUCTBUILD_IDENTITY_NAME`,
|
||||||
|
:variable:`CPACK_PRODUCTBUILD_KEYCHAIN_PATH`,
|
||||||
|
:variable:`CPACK_PKGBUILD_IDENTITY_NAME`, and
|
||||||
|
:variable:`CPACK_PKGBUILD_KEYCHAIN_PATH`.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned to omit tags that are not supported by
|
||||||
|
provided ``rpmbuild`` tool. If unsupported tags are set they are ignored
|
||||||
|
and a developer warning is printed out.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned to generate main component package
|
||||||
|
which forces generation of a rpm for defined component without component
|
||||||
|
suffix in filename and package name.
|
||||||
|
See :variable:`CPACK_RPM_MAIN_COMPONENT` variable.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned to generate a single ``debuginfo``
|
||||||
|
package on demand even if components packaging is used.
|
||||||
|
See :variable:`CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE` variable.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned to support
|
||||||
|
multiple directives per file when using
|
||||||
|
:variable:`CPACK_RPM_USER_FILELIST` variable.
|
||||||
|
|
||||||
|
Other
|
||||||
|
-----
|
||||||
|
|
||||||
|
* CMake functionality using cryptographic hashes now supports SHA-3 algorithms.
|
||||||
|
|
||||||
|
* A new generator expression ``$<IF:cond,true-value,false-value>`` was added.
|
||||||
|
It resolves to the true-value if the condition is ``1`` and resolves to
|
||||||
|
the false-value if the condition is ``0``.
|
||||||
|
|
||||||
|
Deprecated and Removed Features
|
||||||
|
===============================
|
||||||
|
|
||||||
|
* The :module:`FeatureSummary` module commands :command:`set_package_info`,
|
||||||
|
:command:`set_feature_info`, :command:`print_enabled_features`, and
|
||||||
|
:command:`print_disabled_features` are now deprecated.
|
||||||
|
|
||||||
|
* The :module:`UseSWIG` module ``swig_add_module`` command is now
|
||||||
|
deprecated in favor of ``swig_add_library``.
|
||||||
|
|
||||||
|
Other Changes
|
||||||
|
=============
|
||||||
|
|
||||||
|
* If a command specified by the :prop_tgt:`<LANG>_CLANG_TIDY` target property
|
||||||
|
returns non-zero at build time this is now treated as an error instead of
|
||||||
|
silently ignored.
|
||||||
|
|
||||||
|
* The :command:`ctest_memcheck` command no longer automatically adds
|
||||||
|
``leak_check=1`` to the options used by ``AddressSanitizer``. The default
|
||||||
|
behavior of ``AddressSanitizer`` is to run `LeakSanitizer` to check leaks
|
||||||
|
unless ``leak_check=0``.
|
||||||
|
|
||||||
|
* The :command:`ctest_memcheck` command was fixed to correctly append extra
|
||||||
|
sanitizer options read from the
|
||||||
|
:variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS` variable to the environment
|
||||||
|
variables used internally by the sanitizers.
|
||||||
|
|
||||||
|
* The :module:`FeatureSummary` module :command:`set_package_properties`
|
||||||
|
command no longer forces the package type to ``OPTIONAL`` when the type
|
||||||
|
is not explicitly set.
|
||||||
|
|
||||||
|
* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
|
||||||
|
is now aware of features supported by Intel C++ compilers versions 12.1
|
||||||
|
through 17.0 on UNIX and Windows platforms.
|
||||||
|
|
||||||
|
* Calls to the :module:`FindPkgConfig` module :command:`pkg_check_modules`
|
||||||
|
command following a successful call learned to re-evaluate the cached values
|
||||||
|
for a given prefix after changes to the parameters to the command for that
|
||||||
|
prefix.
|
||||||
|
|
||||||
|
* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`, generated
|
||||||
|
``moc_*``, ``*.moc`` and ``ui_*`` are placed in the
|
||||||
|
``<CMAKE_CURRENT_BINARY_DIR>/<TARGETNAME>_autogen/include`` directory which
|
||||||
|
is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
|
It is therefore not necessary anymore to have
|
||||||
|
:variable:`CMAKE_CURRENT_BINARY_DIR` in the target's
|
||||||
|
:prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
|
|
||||||
|
* The :generator:`Sublime Text 2` generator no longer runs the native
|
||||||
|
build command (e.g. ``ninja`` or ``make``) with verbose build output
|
||||||
|
enabled.
|
||||||
|
|
||||||
|
* The :command:`try_compile` command source file signature now
|
||||||
|
honors the :variable:`CMAKE_WARN_DEPRECATED` variable value
|
||||||
|
in the generated test project.
|
||||||
|
|
||||||
|
* The :ref:`Visual Studio Generators` for VS 2010 and above now place
|
||||||
|
per-source file flags after target-wide flags when they are classified
|
||||||
|
as raw flags with no project file setting (``AdditionalOptions``).
|
||||||
|
This behavior is more consistent with the ordering of flags produced
|
||||||
|
by other generators, and allows flags on more-specific properties
|
||||||
|
(per-source) to override those on more general ones (per-target).
|
||||||
|
|
||||||
|
* The precompiled Windows binary MSI package provided on ``cmake.org`` now
|
||||||
|
records the installation directory in the Windows Registry under the key
|
||||||
|
``HKLM\Software\Kitware\CMake`` with a value named ``InstallDir``.
|
@ -0,0 +1,10 @@
|
|||||||
|
CMAKE_BUILD_RPATH
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
A :ref:`;-list <CMake Language Lists>` specifying runtime path (``RPATH``)
|
||||||
|
entries to add to binaries linked in the build tree (for platforms that
|
||||||
|
support it). The entries will *not* be used for binaries in the install
|
||||||
|
tree. See also the :variable:`CMAKE_INSTALL_RPATH` variable.
|
||||||
|
|
||||||
|
This is used to initialize the :prop_tgt:`BUILD_RPATH` target property
|
||||||
|
for all targets.
|
@ -1,6 +1,7 @@
|
|||||||
CMAKE_CL_64
|
CMAKE_CL_64
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Using the 64-bit compiler from Microsoft
|
Discouraged. Use :variable:`CMAKE_SIZEOF_VOID_P` instead.
|
||||||
|
|
||||||
Set to ``true`` when using the 64-bit ``cl`` compiler from Microsoft.
|
Set to a true value when using a Microsoft Visual Studio ``cl`` compiler that
|
||||||
|
*targets* a 64-bit architecture.
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
CMAKE_CUDA_EXTENSIONS
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`CUDA_EXTENSIONS` property of targets.
|
||||||
|
|
||||||
|
This variable is used to initialize the :prop_tgt:`CUDA_EXTENSIONS`
|
||||||
|
property on all targets. See that target property for additional
|
||||||
|
information.
|
||||||
|
|
||||||
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
|
compile features and a list of supported compilers.
|
@ -0,0 +1,11 @@
|
|||||||
|
CMAKE_CUDA_STANDARD
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`CUDA_STANDARD` property of targets.
|
||||||
|
|
||||||
|
This variable is used to initialize the :prop_tgt:`CUDA_STANDARD`
|
||||||
|
property on all targets. See that target property for additional
|
||||||
|
information.
|
||||||
|
|
||||||
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
|
compile features and a list of supported compilers.
|
@ -0,0 +1,11 @@
|
|||||||
|
CMAKE_CUDA_STANDARD_REQUIRED
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`CUDA_STANDARD_REQUIRED` property of targets.
|
||||||
|
|
||||||
|
This variable is used to initialize the :prop_tgt:`CUDA_STANDARD_REQUIRED`
|
||||||
|
property on all targets. See that target property for additional
|
||||||
|
information.
|
||||||
|
|
||||||
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
|
compile features and a list of supported compilers.
|
@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
When the ``CUDA`` language has been enabled, this provides a
|
||||||
|
:ref:`;-list <CMake Language Lists>` of include directories provided
|
||||||
|
by the CUDA Toolkit. The value may be useful for C++ source files
|
||||||
|
to include CUDA headers.
|
@ -1,7 +1,7 @@
|
|||||||
CMAKE_DL_LIBS
|
CMAKE_DL_LIBS
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Name of library containing ``dlopen`` and ``dlcose``.
|
Name of library containing ``dlopen`` and ``dlclose``.
|
||||||
|
|
||||||
The name of the library that has ``dlopen`` and ``dlclose`` in it, usually
|
The name of the library that has ``dlopen`` and ``dlclose`` in it, usually
|
||||||
``-ldl`` on most UNIX machines.
|
``-ldl`` on most UNIX machines.
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
CMAKE_<LANG>_CPPLINT
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`<LANG>_CPPLINT` target property. This variable
|
||||||
|
is used to initialize the property on each target as it is created. This
|
||||||
|
is done only when ``<LANG>`` is ``C`` or ``CXX``.
|
@ -0,0 +1,25 @@
|
|||||||
|
CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
This variable contains a list of env vars as a list of tokens with the
|
||||||
|
syntax ``var=value``.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set(CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
|
||||||
|
"FOO=FOO1\;FOO2\;FOON"
|
||||||
|
"BAR=BAR1\;BAR2\;BARN"
|
||||||
|
"BAZ=BAZ1\;BAZ2\;BAZN"
|
||||||
|
"FOOBAR=FOOBAR1\;FOOBAR2\;FOOBARN"
|
||||||
|
"VALID="
|
||||||
|
)
|
||||||
|
|
||||||
|
In case of malformed variables CMake will fail:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set(CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
|
||||||
|
"THIS_IS_NOT_VALID"
|
||||||
|
)
|
@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
If this variable evaluates to ``ON`` at the end of the top-level
|
||||||
|
``CMakeLists.txt`` file, the :generator:`Sublime Text 2` extra generator
|
||||||
|
excludes the build tree from the ``.sublime-project`` if it is inside the
|
||||||
|
source tree.
|
@ -0,0 +1,8 @@
|
|||||||
|
CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Include ``PACKAGE`` target to default build.
|
||||||
|
|
||||||
|
In Visual Studio solution, by default the ``PACKAGE`` target will not be part
|
||||||
|
of the default build. Setting this variable will enable the ``PACKAGE`` target
|
||||||
|
to be part of the default build.
|
@ -0,0 +1,10 @@
|
|||||||
|
CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
Visual Studio preferred tool architecture.
|
||||||
|
|
||||||
|
The :ref:`Visual Studio Generators` for VS 2013 and above support optional
|
||||||
|
selection of a 64-bit toolchain on 64-bit hosts by specifying a ``host=x64``
|
||||||
|
value in the :variable:`CMAKE_GENERATOR_TOOLSET` option. CMake provides
|
||||||
|
the selected toolchain architecture preference in this variable (either
|
||||||
|
``x64`` or empty).
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue