parent
1b6b6f02ff
commit
b4903bcd04
@ -1,4 +1,4 @@
|
||||
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.m4 DESTINATION share/aclocal)
|
||||
install(FILES cmake.m4 DESTINATION ${CMAKE_XDGDATA_DIR}/aclocal)
|
||||
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
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
# If the cmake version includes cpack, use it
|
||||
if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||
if(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake")
|
||||
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()
|
||||
option(CMAKE_INSTALL_DEBUG_LIBRARIES
|
||||
"Install Microsoft runtime debug libraries with CMake." FALSE)
|
||||
mark_as_advanced(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
|
||||
if(CMake_INSTALL_DEPENDENCIES)
|
||||
include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
|
||||
endif()
|
||||
endif()
|
||||
# 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()
|
||||
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
|
||||
set(CPACK_PACKAGE_VENDOR "Kitware")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
||||
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}")
|
||||
if(CMake_INSTALL_DEPENDENCIES)
|
||||
include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
|
||||
endif()
|
||||
|
||||
# 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)")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
|
||||
set(CPACK_PACKAGE_VENDOR "Kitware")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
||||
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:
|
||||
# - 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()
|
||||
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()
|
||||
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif()
|
||||
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif()
|
||||
if(${CPACK_SYSTEM_NAME} MATCHES Windows)
|
||||
if(CMAKE_CL_64)
|
||||
set(CPACK_SYSTEM_NAME win64-x64)
|
||||
set(CPACK_IFW_TARGET_DIRECTORY "@RootDir@/Program Files/${CMAKE_PROJECT_NAME}")
|
||||
else()
|
||||
set(CPACK_SYSTEM_NAME win32-x86)
|
||||
endif()
|
||||
endif()
|
||||
if(${CPACK_SYSTEM_NAME} MATCHES Windows)
|
||||
if(CMAKE_CL_64)
|
||||
set(CPACK_SYSTEM_NAME win64-x64)
|
||||
set(CPACK_IFW_TARGET_DIRECTORY "@RootDir@/Program Files/${CMAKE_PROJECT_NAME}")
|
||||
else()
|
||||
set(CPACK_SYSTEM_NAME win32-x86)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# 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_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)
|
||||
# Command for configure IFW script templates
|
||||
include(${CMake_SOURCE_DIR}/Modules/CPackIFWConfigureFile.cmake)
|
||||
|
||||
# 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 <Name> tag (domen-like)"
|
||||
STRING NAME "")
|
||||
_cmifwarg("Package <DisplayName> tag"
|
||||
STRING DISPLAY_NAME "")
|
||||
_cmifwarg("Package <Description> tag"
|
||||
STRING DESCRIPTION "")
|
||||
_cmifwarg("Package <ReleaseDate> tag (keep empty to auto generate)"
|
||||
STRING RELEASE_DATE "")
|
||||
_cmifwarg("Package <Default> tag (values: TRUE, FALSE, SCRIPT)"
|
||||
STRING DEFAULT "")
|
||||
_cmifwarg("Package <Version> tag"
|
||||
STRING VERSION
|
||||
"${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
|
||||
_cmifwarg("Package <SortingPriority> tag"
|
||||
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()
|
||||
if(SPHINX_QTHELP)
|
||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-qthelp)
|
||||
endif()
|
||||
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()
|
||||
if(CMake_BUILD_DEVELOPER_REFERENCE)
|
||||
if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
|
||||
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()
|
||||
if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
|
||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-qthelp)
|
||||
endif()
|
||||
set(_CPACK_IFW_COMPONENTS_CONFIGURATION "
|
||||
endif()
|
||||
set(_CPACK_IFW_COMPONENTS_CONFIGURATION "
|
||||
# Components
|
||||
set(CPACK_COMPONENTS_ALL \"${_CPACK_IFW_COMPONENTS_ALL}\")
|
||||
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
||||
")
|
||||
else()
|
||||
if(BUILD_QtDialog AND USE_LGPL)
|
||||
set(_CPACK_IFW_ADDITIONAL_LICENSES
|
||||
"\"LGPLv${USE_LGPL}\" \"${CMake_SOURCE_DIR}/Licenses/LGPLv${USE_LGPL}.txt\"")
|
||||
endif()
|
||||
")
|
||||
_cmifwarg("Package <Script> template"
|
||||
FILEPATH SCRIPT_TEMPLATE "${CMake_SOURCE_DIR}/Source/QtIFW/CMake.qs.in")
|
||||
else()
|
||||
if(BUILD_QtDialog AND USE_LGPL)
|
||||
set(${_cpifwrc}LICENSES_DEFAULT
|
||||
"${${_cpifwrc}LICENSES_DEFAULT};LGPLv${USE_LGPL};${CMake_SOURCE_DIR}/Licenses/LGPLv${USE_LGPL}.txt")
|
||||
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
|
||||
foreach(_script
|
||||
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()
|
||||
_cmifwarg("Package <Licenses> tag (pairs of <display_name> <file_path>)"
|
||||
STRING LICENSES "${${_cpifwrc}LICENSES_DEFAULT}")
|
||||
|
||||
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}")
|
||||
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()
|
||||
|
||||
set(_CPACK_IFW_PACKAGE_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH})
|
||||
|
||||
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}")
|
||||
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()
|
||||
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)
|
||||
set(CPACK_STRIP_FILES "${CMAKE_BIN_DIR}/ccmake;${CMAKE_BIN_DIR}/cmake;${CMAKE_BIN_DIR}/cpack;${CMAKE_BIN_DIR}/ctest")
|
||||
set(CPACK_SOURCE_STRIP_FILES "")
|
||||
set(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
|
||||
# Components scripts configuration
|
||||
if((EXISTS "${CMake_IFW_ROOT_COMPONENT_SCRIPT_TEMPLATE}")
|
||||
AND (NOT "${CMake_IFW_ROOT_COMPONENT_SCRIPT_GENERATED}" STREQUAL "")
|
||||
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()
|
||||
|
||||
set(CPACK_WIX_UPGRADE_GUID "8ffd1d72-b7f1-11e2-8ee5-00238bca4991")
|
||||
set(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
|
||||
|
||||
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()
|
||||
set(WIX_CUSTOM_ACTION_MULTI_CONFIG FALSE)
|
||||
endif()
|
||||
if(UNIX)
|
||||
set(CPACK_STRIP_FILES "${CMAKE_BIN_DIR}/ccmake;${CMAKE_BIN_DIR}/cmake;${CMAKE_BIN_DIR}/cpack;${CMAKE_BIN_DIR}/ctest")
|
||||
set(CPACK_SOURCE_STRIP_FILES "")
|
||||
set(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
|
||||
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()
|
||||
set(WIX_CUSTOM_ACTION_ENABLED FALSE)
|
||||
set(WIX_CUSTOM_ACTION_MULTI_CONFIG FALSE)
|
||||
endif()
|
||||
else()
|
||||
set(WIX_CUSTOM_ACTION_ENABLED FALSE)
|
||||
endif()
|
||||
|
||||
# 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)
|
||||
configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
|
||||
"${CMake_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${CMake_BINARY_DIR}/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)
|
||||
configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
|
||||
"${CMake_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${CMake_BINARY_DIR}/CMakeCPackOptions.cmake")
|
||||
|
||||
# include CPack model once all variables are set
|
||||
include(CPack)
|
||||
endif()
|
||||
# include CPack model once all variables are set
|
||||
include(CPack)
|
||||
|
@ -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 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
|
||||
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
|
||||
configuration names available in the current project. Setting this
|
||||
property tells CMake what imported configurations are suitable for use
|
||||
when building the <CONFIG> configuration. The first configuration in
|
||||
the list found to be provided by the imported target is selected. If
|
||||
this property is set and no matching configurations are available,
|
||||
when building the ``<CONFIG>`` configuration. The first configuration in
|
||||
the list found to be provided by the imported target (i.e. via
|
||||
: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
|
||||
is ignored for non-imported targets.
|
||||
|
||||
This property is initialized by the value of the variable
|
||||
CMAKE_MAP_IMPORTED_CONFIG_<CONFIG> if it is set when a target is
|
||||
created.
|
||||
This property is initialized by the value of the
|
||||
:variable:`CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>` variable if it is set when a
|
||||
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
|
||||
-----------
|
||||
|
||||
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
|
||||
-------------
|
||||
|
||||
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
|
||||
``-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