Upstream version 3.8.0
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEFkxwUS95KUdnZKtW/iLG/YMTXUUFAljxAJQACgkQ/iLG/YMT XUXCIw//S09p6HKIc7WpMP4X4DWPzVu06HvUmrZVp08WL6TQOnrr5Rdfvhj9OC8o mR2dDo0LzYmtxba6zSYxQkuzdaJJ1ORhtJwwylsG6vfCJDFm2t1H/Cr/m7uuXv6M zt6qrHkb5uynMDwV+4RBcbvbakg7ZIYuKHwR3hBnf/rATDT4Gv91oUZ/XUh63Pxr aX3J7pZtvbnXFFAl13EraqUcgW2ooW1WuUht3A/KCQGdRrmEboinBJLgX+IAujja qSo5Fn+CI+lZagQJ5cE5qo1F2LJIGPrXwnktecjpTHBgvS4/Aw4OKsh/pELCrnlI k6iZTGGwPU4vPYr1L17FZszQDJ7OARbtqLz8VyT+uGHjEkxPGGuKEXsdkVRwsT9u 0aLhcgFFq4ZZEBcDLmbyoKNN9blyHtBtW5TGId1t4BhKukElsqaK7F9BzVmhjrez NPvI1Wrw6NynJAh2YcSA7jN0bFeCLr0g090Exl5DLfr1+hqmBSB755+KgArYddRr padZXtNF4c88IJBelkuFhmeaUQ6F110XH/gAURi8oXTgfuYp4kqL3A6xhcuDQOlS MdTODllHq965mphI4jCyFhmIiG7PDZQe9rIy8Avfqb00ivtenllJxicCL+wei8ja MDg2vI3T802MRefx3/oIObJmVnrnipzJurodIk0hHXUWa362p4c= =ZWlM -----END PGP SIGNATURE----- Merge tag 'upstream/3.8.0' into experimental Upstream version 3.8.0 # gpg: Signature made Fr 14 Apr 2017 19:02:12 CEST # gpg: using RSA key 164C70512F7929476764AB56FE22C6FD83135D45 # gpg: Good signature from "Felix Geyer <felix@fobos.de>" [ultimate] # gpg: aka "Felix Geyer <debfx-pkg@fobos.de>" [ultimate] # gpg: aka "Felix Geyer <debfx@kubuntu.org>" [ultimate] # gpg: aka "Felix Geyer <debfx@fobos.de>" [ultimate] # gpg: aka "Felix Geyer <debfx@ubuntu.com>" [ultimate] # gpg: aka "Felix Geyer <felix.geyer@fobos.de>" [ultimate] # gpg: aka "Felix Geyer <fgeyer@debian.org>" [ultimate] # Primary key fingerprint: 164C 7051 2F79 2947 6764 AB56 FE22 C6FD 8313 5D45
This commit is contained in:
commit
e567ae1c00
24
.gitattributes
vendored
24
.gitattributes
vendored
@ -1,6 +1,13 @@
|
|||||||
.gitattributes export-ignore
|
.gitattributes export-ignore
|
||||||
.hooks* export-ignore
|
.hooks* export-ignore
|
||||||
|
|
||||||
|
# Custom attribute to mark sources as using our C code style.
|
||||||
|
[attr]our-c-style whitespace=tab-in-indent format.clang-format
|
||||||
|
|
||||||
|
# Custom attribute to mark sources as generated.
|
||||||
|
# Do not perform whitespace checks. Do not format.
|
||||||
|
[attr]generated whitespace=-tab-in-indent,-indent-with-non-tab -format.clang-format
|
||||||
|
|
||||||
bootstrap crlf=input
|
bootstrap crlf=input
|
||||||
configure crlf=input
|
configure crlf=input
|
||||||
*.[1-9] crlf=input
|
*.[1-9] crlf=input
|
||||||
@ -16,10 +23,17 @@ configure crlf=input
|
|||||||
*.sln -crlf
|
*.sln -crlf
|
||||||
*.vcproj -crlf
|
*.vcproj -crlf
|
||||||
|
|
||||||
*.c whitespace=tab-in-indent
|
*.c our-c-style
|
||||||
*.h whitespace=tab-in-indent
|
*.cc our-c-style
|
||||||
*.cxx whitespace=tab-in-indent
|
*.cpp our-c-style
|
||||||
*.txt whitespace=tab-in-indent
|
*.cu our-c-style
|
||||||
*.cmake whitespace=tab-in-indent
|
*.cxx our-c-style
|
||||||
|
*.h our-c-style
|
||||||
|
*.hh our-c-style
|
||||||
|
*.hpp our-c-style
|
||||||
|
*.hxx our-c-style
|
||||||
|
*.notcu our-c-style
|
||||||
|
|
||||||
|
*.cmake whitespace=tab-in-indent
|
||||||
*.rst whitespace=tab-in-indent conflict-marker-size=79
|
*.rst whitespace=tab-in-indent conflict-marker-size=79
|
||||||
|
*.txt whitespace=tab-in-indent
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
# Loaded by .git/hooks/(pre-commit|commit-msg|prepare-commit-msg)
|
# Loaded by .git/hooks/(pre-commit|commit-msg|prepare-commit-msg)
|
||||||
# during git commit after local hooks have been installed.
|
# during git commit after local hooks have been installed.
|
||||||
|
|
||||||
hooks_chain_pre_commit="Utilities/Git/pre-commit"
|
[hooks "chain"]
|
||||||
hooks_chain_commit_msg="Utilities/Git/commit-msg"
|
pre-commit = Utilities/Git/pre-commit
|
||||||
hooks_chain_prepare_commit_msg="Utilities/Git/prepare-commit-msg"
|
commit-msg = Utilities/Git/commit-msg
|
||||||
|
prepare-commit-msg = Utilities/Git/prepare-commit-msg
|
@ -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
416
CMakeCPack.cmake
416
CMakeCPack.cmake
@ -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:
|
# By default, do not warn when built on machines using only VS Express:
|
||||||
if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
|
if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
|
||||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMake_INSTALL_DEPENDENCIES)
|
if(CMake_INSTALL_DEPENDENCIES)
|
||||||
include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
|
include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
|
||||||
set(CPACK_PACKAGE_VENDOR "Kitware")
|
set(CPACK_PACKAGE_VENDOR "Kitware")
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
|
||||||
set(CPACK_RESOURCE_FILE_LICENSE "${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_NAME "${CMAKE_PROJECT_NAME}")
|
||||||
set(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
|
set(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
|
||||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
||||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
|
||||||
|
|
||||||
# Installers for 32- vs. 64-bit CMake:
|
# Installers for 32- vs. 64-bit CMake:
|
||||||
# - Root install directory (displayed to end user at installer-run time)
|
# - Root install directory (displayed to end user at installer-run time)
|
||||||
# - "NSIS package/display name" (text used in the installer GUI)
|
# - "NSIS package/display name" (text used in the installer GUI)
|
||||||
# - Registry key used to store info about the installation
|
# - Registry key used to store info about the installation
|
||||||
if(CMAKE_CL_64)
|
if(CMAKE_CL_64)
|
||||||
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
||||||
set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION} (Win64)")
|
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()
|
endif()
|
||||||
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_NSIS_PACKAGE_NAME}")
|
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(NOT DEFINED CPACK_SYSTEM_NAME)
|
# Command for configure IFW script templates
|
||||||
# make sure package is not Cygwin-unknown, for Cygwin just
|
include(${CMake_SOURCE_DIR}/Modules/CPackIFWConfigureFile.cmake)
|
||||||
# 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()
|
|
||||||
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
|
# Advanced IFW configuration
|
||||||
if(CMake_INSTALL_COMPONENTS)
|
set(_cpifwrc CPACK_IFW_COMPONENT_GROUP_CMAKE_)
|
||||||
set(_CPACK_IFW_COMPONENTS_ALL cmake ctest cpack)
|
set(_cpifwrcconf _CPACK_IFW_COMPONENT_GROUP_CMAKE)
|
||||||
if(WIN32 AND NOT CYGWIN)
|
set(${_cpifwrcconf} "# CMake IFW configuration\n")
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmcldeps)
|
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()
|
endif()
|
||||||
if(APPLE)
|
endif()
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmakexbuild)
|
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_INSTALL_DEFAULT_COMPONENT_NAME)
|
if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
|
||||||
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-qthelp)
|
||||||
${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME})
|
|
||||||
else()
|
|
||||||
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME Unspecified)
|
|
||||||
endif()
|
endif()
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL ${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME})
|
endif()
|
||||||
string(TOUPPER "${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME}"
|
set(_CPACK_IFW_COMPONENTS_CONFIGURATION "
|
||||||
_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)
|
|
||||||
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_QTHELP)
|
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-developer-reference-qthelp)
|
|
||||||
endif()
|
|
||||||
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"
|
||||||
# Components scripts configuration
|
FILEPATH SCRIPT_TEMPLATE "${CMake_SOURCE_DIR}/Source/QtIFW/installscript.qs.in")
|
||||||
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()
|
|
||||||
|
|
||||||
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()
|
|
||||||
|
|
||||||
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}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
|
|
||||||
|
|
||||||
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_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")
|
|
||||||
|
|
||||||
# include CPack model once all variables are set
|
|
||||||
include(CPack)
|
|
||||||
endif()
|
endif()
|
||||||
|
_cmifwarg("Package <Script> generated"
|
||||||
|
FILEPATH SCRIPT_GENERATED "${CMake_BINARY_DIR}/CMake.qs")
|
||||||
|
|
||||||
|
_cmifwarg("Package <Licenses> tag (pairs of <display_name> <file_path>)"
|
||||||
|
STRING LICENSES "${${_cpifwrc}LICENSES_DEFAULT}")
|
||||||
|
|
||||||
|
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()
|
||||||
|
install(FILES "${CMake_SOURCE_DIR}/Source/QtIFW/cmake.org.html"
|
||||||
|
DESTINATION "${CMAKE_DOC_DIR}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
# 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_PACKAGE_CONTACT "cmake@cmake.org")
|
||||||
|
|
||||||
|
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_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")
|
||||||
|
|
||||||
|
# include CPack model once all variables are set
|
||||||
|
include(CPack)
|
||||||
|
@ -47,7 +47,7 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
@_CPACK_IFW_COMPONENTS_CONFIGURATION@
|
@_CPACK_IFW_COMPONENTS_CONFIGURATION@
|
||||||
# Unspecified
|
# Unspecified
|
||||||
set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
|
set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
# Package configuration group
|
# Package configuration group
|
||||||
set(CPACK_IFW_PACKAGE_GROUP CMake)
|
set(CPACK_IFW_PACKAGE_GROUP CMake)
|
||||||
@ -59,13 +59,7 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
"@CPACK_PACKAGE_NAME@")
|
"@CPACK_PACKAGE_NAME@")
|
||||||
set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
|
set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
|
||||||
"@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
|
"@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_VERSION
|
@_CPACK_IFW_COMPONENT_GROUP_CMAKE@
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_LICENSES
|
|
||||||
"@CPACK_PACKAGE_NAME@ Copyright" "@CPACK_RESOURCE_FILE_LICENSE@"
|
|
||||||
@_CPACK_IFW_ADDITIONAL_LICENSES@)
|
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_SCRIPT "@_CPACK_IFW_PACKAGE_SCRIPT@")
|
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_PRIORITY 100)
|
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
|
set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
|
||||||
@ -73,7 +67,8 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
"Command-Line Tools: cmake, ctest and cpack")
|
"Command-Line Tools: cmake, ctest and cpack")
|
||||||
set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
|
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
|
set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
|
||||||
set(CPACK_COMPONENT_CMAKE_DESCRIPTION
|
set(CPACK_COMPONENT_CMAKE_DESCRIPTION
|
||||||
@ -82,7 +77,8 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_CMAKE_GROUP Tools)
|
set(CPACK_COMPONENT_CMAKE_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
|
set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
|
set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMAKE_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
|
set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
|
||||||
set(CPACK_COMPONENT_CTEST_DESCRIPTION
|
set(CPACK_COMPONENT_CTEST_DESCRIPTION
|
||||||
@ -91,7 +87,8 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_CTEST_GROUP Tools)
|
set(CPACK_COMPONENT_CTEST_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
|
set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
|
||||||
set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
|
set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
|
||||||
set(CPACK_IFW_COMPONENT_CTEST_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CTEST_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
|
set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
|
||||||
set(CPACK_COMPONENT_CPACK_DESCRIPTION
|
set(CPACK_COMPONENT_CPACK_DESCRIPTION
|
||||||
@ -100,7 +97,8 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_CPACK_GROUP Tools)
|
set(CPACK_COMPONENT_CPACK_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
|
set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
|
||||||
set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
|
set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
|
||||||
set(CPACK_IFW_COMPONENT_CPACK_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CPACK_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMCLDEPS_DISPLAY_NAME "cmcldeps")
|
set(CPACK_COMPONENT_CMCLDEPS_DISPLAY_NAME "cmcldeps")
|
||||||
set(CPACK_COMPONENT_CMCLDEPS_DESCRIPTION
|
set(CPACK_COMPONENT_CMCLDEPS_DESCRIPTION
|
||||||
@ -108,7 +106,8 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_CMCLDEPS_GROUP Tools)
|
set(CPACK_COMPONENT_CMCLDEPS_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CMCLDEPS_NAME "CMClDeps")
|
set(CPACK_IFW_COMPONENT_CMCLDEPS_NAME "CMClDeps")
|
||||||
set(CPACK_IFW_COMPONENT_CMCLDEPS_PRIORITY 86)
|
set(CPACK_IFW_COMPONENT_CMCLDEPS_PRIORITY 86)
|
||||||
set(CPACK_IFW_COMPONENT_CMCLDEPS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMCLDEPS_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME "cmakexbuild")
|
set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME "cmakexbuild")
|
||||||
set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION
|
set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION
|
||||||
@ -117,7 +116,8 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools)
|
set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME "CMakeXBuild")
|
set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME "CMakeXBuild")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 85)
|
set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 85)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
# Dialogs
|
# Dialogs
|
||||||
set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
|
set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
|
||||||
@ -125,20 +125,23 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
"Interactive Dialogs with Console and GUI interfaces")
|
"Interactive Dialogs with Console and GUI interfaces")
|
||||||
set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
|
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
|
set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
|
||||||
set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
|
set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
|
set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
|
set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
|
||||||
"@CMake_SOURCE_DIR@/Source/QtIFW/CMake.Dialogs.QtGUI.qs")
|
"@CMake_BINARY_DIR@/CMake.Dialogs.QtGUI.qs")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
@_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
|
@_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
|
set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
|
||||||
set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
|
set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
|
||||||
set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
|
set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
|
||||||
set(CPACK_IFW_COMPONENT_CCMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CCMAKE_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
|
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
|
||||||
@ -147,33 +150,36 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
|
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
|
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
|
set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
|
||||||
set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
|
||||||
set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
|
set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
|
set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
|
set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
|
||||||
set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
|
set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
|
set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
|
||||||
"@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
|
"@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
|
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
|
||||||
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
|
||||||
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
|
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
|
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
|
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
|
set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
|
||||||
set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
|
||||||
set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
|
set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
|
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
# Developer Reference
|
# Developer Reference
|
||||||
set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
|
set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
|
||||||
@ -182,7 +188,7 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
|
set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
|
set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
|
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
|
||||||
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
|
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
|
||||||
@ -190,13 +196,15 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
|||||||
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
|
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
|
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
|
||||||
"@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
|
"@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
|
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
|
||||||
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
|
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
|
||||||
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
|
set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
|
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION
|
||||||
|
"@CMake_IFW_ROOT_COMPONENT_VERSION@")
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
157
CMakeLists.txt
157
CMakeLists.txt
@ -66,12 +66,8 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
|||||||
include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx_features.cmake)
|
include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx_features.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# option to set the internal encoding of CMake to UTF-8
|
# set the internal encoding of CMake to UTF-8
|
||||||
option(CMAKE_ENCODING_UTF8 "Use UTF-8 encoding internally." ON)
|
set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
|
||||||
mark_as_advanced(CMAKE_ENCODING_UTF8)
|
|
||||||
if(CMAKE_ENCODING_UTF8)
|
|
||||||
set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# option to use COMPONENT with install command
|
# option to use COMPONENT with install command
|
||||||
option(CMake_INSTALL_COMPONENTS "Using components when installing" OFF)
|
option(CMake_INSTALL_COMPONENTS "Using components when installing" OFF)
|
||||||
@ -108,7 +104,7 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES)
|
|||||||
|
|
||||||
# Allow the user to enable/disable all system utility library options by
|
# Allow the user to enable/disable all system utility library options by
|
||||||
# defining CMAKE_USE_SYSTEM_LIBRARIES or CMAKE_USE_SYSTEM_LIBRARY_${util}.
|
# defining CMAKE_USE_SYSTEM_LIBRARIES or CMAKE_USE_SYSTEM_LIBRARY_${util}.
|
||||||
set(UTILITIES BZIP2 CURL EXPAT FORM JSONCPP LIBARCHIVE LIBLZMA LIBUV ZLIB)
|
set(UTILITIES BZIP2 CURL EXPAT FORM JSONCPP LIBARCHIVE LIBLZMA LIBRHASH LIBUV ZLIB)
|
||||||
foreach(util ${UTILITIES})
|
foreach(util ${UTILITIES})
|
||||||
if(NOT DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util}
|
if(NOT DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util}
|
||||||
AND DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
|
AND DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
|
||||||
@ -148,6 +144,7 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES)
|
|||||||
"${CMAKE_USE_SYSTEM_LIBRARY_LIBLZMA}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
|
"${CMAKE_USE_SYSTEM_LIBRARY_LIBLZMA}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
|
||||||
option(CMAKE_USE_SYSTEM_FORM "Use system-installed libform" "${CMAKE_USE_SYSTEM_LIBRARY_FORM}")
|
option(CMAKE_USE_SYSTEM_FORM "Use system-installed libform" "${CMAKE_USE_SYSTEM_LIBRARY_FORM}")
|
||||||
option(CMAKE_USE_SYSTEM_JSONCPP "Use system-installed jsoncpp" "${CMAKE_USE_SYSTEM_LIBRARY_JSONCPP}")
|
option(CMAKE_USE_SYSTEM_JSONCPP "Use system-installed jsoncpp" "${CMAKE_USE_SYSTEM_LIBRARY_JSONCPP}")
|
||||||
|
option(CMAKE_USE_SYSTEM_LIBRHASH "Use system-installed librhash" "${CMAKE_USE_SYSTEM_LIBRARY_LIBRHASH}")
|
||||||
option(CMAKE_USE_SYSTEM_LIBUV "Use system-installed libuv" "${CMAKE_USE_SYSTEM_LIBRARY_LIBUV}")
|
option(CMAKE_USE_SYSTEM_LIBUV "Use system-installed libuv" "${CMAKE_USE_SYSTEM_LIBRARY_LIBUV}")
|
||||||
|
|
||||||
# For now use system KWIML only if explicitly requested rather
|
# For now use system KWIML only if explicitly requested rather
|
||||||
@ -260,6 +257,7 @@ macro (CMAKE_BUILD_UTILITIES)
|
|||||||
set(KWSYS_USE_MD5 1)
|
set(KWSYS_USE_MD5 1)
|
||||||
set(KWSYS_USE_Process 1)
|
set(KWSYS_USE_Process 1)
|
||||||
set(KWSYS_USE_CommandLineArguments 1)
|
set(KWSYS_USE_CommandLineArguments 1)
|
||||||
|
set(KWSYS_USE_ConsoleBuf 1)
|
||||||
set(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
|
set(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
|
||||||
set(KWSYS_INSTALL_DOC_DIR "${CMAKE_DOC_DIR}")
|
set(KWSYS_INSTALL_DOC_DIR "${CMAKE_DOC_DIR}")
|
||||||
add_subdirectory(Source/kwsys)
|
add_subdirectory(Source/kwsys)
|
||||||
@ -301,6 +299,23 @@ macro (CMAKE_BUILD_UTILITIES)
|
|||||||
add_subdirectory(Utilities/KWIML)
|
add_subdirectory(Utilities/KWIML)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_USE_SYSTEM_LIBRHASH)
|
||||||
|
if(NOT CMAKE_VERSION VERSION_LESS 3.0)
|
||||||
|
find_package(LibRHash)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBRHASH requires CMake >= 3.0")
|
||||||
|
endif()
|
||||||
|
if(NOT LibRHash_FOUND)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"CMAKE_USE_SYSTEM_LIBRHASH is ON but LibRHash is not found!")
|
||||||
|
endif()
|
||||||
|
set(CMAKE_LIBRHASH_LIBRARIES LibRHash::LibRHash)
|
||||||
|
else()
|
||||||
|
set(CMAKE_LIBRHASH_LIBRARIES cmlibrhash)
|
||||||
|
add_subdirectory(Utilities/cmlibrhash)
|
||||||
|
CMAKE_SET_TARGET_FOLDER(cmlibrhash "Utilities/3rdParty")
|
||||||
|
endif()
|
||||||
|
|
||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
# Build zlib library for Curl, CMake, and CTest.
|
# Build zlib library for Curl, CMake, and CTest.
|
||||||
set(CMAKE_ZLIB_HEADER "cm_zlib.h")
|
set(CMAKE_ZLIB_HEADER "cm_zlib.h")
|
||||||
@ -366,66 +381,9 @@ macro (CMAKE_BUILD_UTILITIES)
|
|||||||
set(CMAKE_COMPRESS_LIBRARIES "cmcompress")
|
set(CMAKE_COMPRESS_LIBRARIES "cmcompress")
|
||||||
add_subdirectory(Utilities/cmcompress)
|
add_subdirectory(Utilities/cmcompress)
|
||||||
CMAKE_SET_TARGET_FOLDER(cmcompress "Utilities/3rdParty")
|
CMAKE_SET_TARGET_FOLDER(cmcompress "Utilities/3rdParty")
|
||||||
if(CMAKE_USE_SYSTEM_BZIP2)
|
|
||||||
find_package(BZip2)
|
|
||||||
else()
|
|
||||||
set(BZIP2_INCLUDE_DIR
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/Utilities/cmbzip2")
|
|
||||||
set(BZIP2_LIBRARIES cmbzip2)
|
|
||||||
add_subdirectory(Utilities/cmbzip2)
|
|
||||||
CMAKE_SET_TARGET_FOLDER(cmbzip2 "Utilities/3rdParty")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
# Build or use system liblzma for libarchive.
|
# Build expat library for CMake, CTest, and libarchive.
|
||||||
if(CMAKE_USE_SYSTEM_LIBLZMA)
|
|
||||||
find_package(LibLZMA)
|
|
||||||
if(NOT LIBLZMA_FOUND)
|
|
||||||
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBLZMA is ON but LibLZMA is not found!")
|
|
||||||
endif()
|
|
||||||
set(LZMA_INCLUDE_DIR ${LIBLZMA_INCLUDE_DIRS})
|
|
||||||
set(LZMA_LIBRARY ${LIBLZMA_LIBRARIES})
|
|
||||||
else()
|
|
||||||
add_subdirectory(Utilities/cmliblzma)
|
|
||||||
CMAKE_SET_TARGET_FOLDER(cmliblzma "Utilities/3rdParty")
|
|
||||||
set(LZMA_INCLUDE_DIR
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/Utilities/cmliblzma/liblzma/api")
|
|
||||||
set(LZMA_LIBRARY cmliblzma)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
# Build or use system libarchive for CMake and CTest.
|
|
||||||
if(CMAKE_USE_SYSTEM_LIBARCHIVE)
|
|
||||||
find_package(LibArchive 3.0.0)
|
|
||||||
if(NOT LibArchive_FOUND)
|
|
||||||
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is not found!")
|
|
||||||
endif()
|
|
||||||
set(CMAKE_TAR_INCLUDES ${LibArchive_INCLUDE_DIRS})
|
|
||||||
set(CMAKE_TAR_LIBRARIES ${LibArchive_LIBRARIES})
|
|
||||||
else()
|
|
||||||
set(ZLIB_INCLUDE_DIR ${CMAKE_ZLIB_INCLUDES})
|
|
||||||
set(ZLIB_LIBRARY ${CMAKE_ZLIB_LIBRARIES})
|
|
||||||
add_definitions(-DLIBARCHIVE_STATIC)
|
|
||||||
set(ENABLE_NETTLE OFF CACHE INTERNAL "Enable use of Nettle")
|
|
||||||
set(ENABLE_OPENSSL ${CMAKE_USE_OPENSSL} CACHE INTERNAL "Enable use of OpenSSL")
|
|
||||||
set(ENABLE_LZMA ON CACHE INTERNAL "Enable the use of the system found LZMA library if found")
|
|
||||||
set(ENABLE_ZLIB ON CACHE INTERNAL "Enable the use of the system found ZLIB library if found")
|
|
||||||
set(ENABLE_BZip2 ON CACHE INTERNAL "Enable the use of the system found BZip2 library if found")
|
|
||||||
set(ENABLE_LIBXML2 OFF CACHE INTERNAL "Enable the use of the system found libxml2 library if found")
|
|
||||||
set(ENABLE_EXPAT OFF CACHE INTERNAL "Enable the use of the system found EXPAT library if found")
|
|
||||||
set(ENABLE_PCREPOSIX OFF CACHE INTERNAL "Enable the use of the system found PCREPOSIX library if found")
|
|
||||||
set(ENABLE_LibGCC OFF CACHE INTERNAL "Enable the use of the system found LibGCC library if found")
|
|
||||||
set(ENABLE_XATTR OFF CACHE INTERNAL "Enable extended attribute support")
|
|
||||||
set(ENABLE_ACL OFF CACHE INTERNAL "Enable ACL support")
|
|
||||||
set(ENABLE_ICONV OFF CACHE INTERNAL "Enable iconv support")
|
|
||||||
set(ENABLE_CNG OFF CACHE INTERNAL "Enable the use of CNG(Crypto Next Generation)")
|
|
||||||
add_subdirectory(Utilities/cmlibarchive)
|
|
||||||
CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
|
|
||||||
set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
# Build expat library for CMake and CTest.
|
|
||||||
if(CMAKE_USE_SYSTEM_EXPAT)
|
if(CMAKE_USE_SYSTEM_EXPAT)
|
||||||
find_package(EXPAT)
|
find_package(EXPAT)
|
||||||
if(NOT EXPAT_FOUND)
|
if(NOT EXPAT_FOUND)
|
||||||
@ -441,6 +399,72 @@ macro (CMAKE_BUILD_UTILITIES)
|
|||||||
CMAKE_SET_TARGET_FOLDER(cmexpat "Utilities/3rdParty")
|
CMAKE_SET_TARGET_FOLDER(cmexpat "Utilities/3rdParty")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
# Build or use system libbz2 for libarchive.
|
||||||
|
if(NOT CMAKE_USE_SYSTEM_LIBARCHIVE)
|
||||||
|
if(CMAKE_USE_SYSTEM_BZIP2)
|
||||||
|
find_package(BZip2)
|
||||||
|
else()
|
||||||
|
set(BZIP2_INCLUDE_DIR
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/Utilities/cmbzip2")
|
||||||
|
set(BZIP2_LIBRARIES cmbzip2)
|
||||||
|
add_subdirectory(Utilities/cmbzip2)
|
||||||
|
CMAKE_SET_TARGET_FOLDER(cmbzip2 "Utilities/3rdParty")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
# Build or use system liblzma for libarchive.
|
||||||
|
if(NOT CMAKE_USE_SYSTEM_LIBARCHIVE)
|
||||||
|
if(CMAKE_USE_SYSTEM_LIBLZMA)
|
||||||
|
find_package(LibLZMA)
|
||||||
|
if(NOT LIBLZMA_FOUND)
|
||||||
|
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBLZMA is ON but LibLZMA is not found!")
|
||||||
|
endif()
|
||||||
|
set(LZMA_INCLUDE_DIR ${LIBLZMA_INCLUDE_DIRS})
|
||||||
|
set(LZMA_LIBRARY ${LIBLZMA_LIBRARIES})
|
||||||
|
else()
|
||||||
|
add_subdirectory(Utilities/cmliblzma)
|
||||||
|
CMAKE_SET_TARGET_FOLDER(cmliblzma "Utilities/3rdParty")
|
||||||
|
set(LZMA_INCLUDE_DIR
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/Utilities/cmliblzma/liblzma/api")
|
||||||
|
set(LZMA_LIBRARY cmliblzma)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
# Build or use system libarchive for CMake and CTest.
|
||||||
|
if(CMAKE_USE_SYSTEM_LIBARCHIVE)
|
||||||
|
find_package(LibArchive 3.0.0)
|
||||||
|
if(NOT LibArchive_FOUND)
|
||||||
|
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is not found!")
|
||||||
|
endif()
|
||||||
|
set(CMAKE_TAR_INCLUDES ${LibArchive_INCLUDE_DIRS})
|
||||||
|
set(CMAKE_TAR_LIBRARIES ${LibArchive_LIBRARIES})
|
||||||
|
else()
|
||||||
|
set(EXPAT_INCLUDE_DIR ${CMAKE_EXPAT_INCLUDES})
|
||||||
|
set(EXPAT_LIBRARY ${CMAKE_EXPAT_LIBRARIES})
|
||||||
|
set(ZLIB_INCLUDE_DIR ${CMAKE_ZLIB_INCLUDES})
|
||||||
|
set(ZLIB_LIBRARY ${CMAKE_ZLIB_LIBRARIES})
|
||||||
|
add_definitions(-DLIBARCHIVE_STATIC)
|
||||||
|
set(ENABLE_NETTLE OFF CACHE INTERNAL "Enable use of Nettle")
|
||||||
|
set(ENABLE_OPENSSL ${CMAKE_USE_OPENSSL} CACHE INTERNAL "Enable use of OpenSSL")
|
||||||
|
set(ENABLE_LZMA ON CACHE INTERNAL "Enable the use of the system found LZMA library if found")
|
||||||
|
set(ENABLE_ZLIB ON CACHE INTERNAL "Enable the use of the system found ZLIB library if found")
|
||||||
|
set(ENABLE_BZip2 ON CACHE INTERNAL "Enable the use of the system found BZip2 library if found")
|
||||||
|
set(ENABLE_LIBXML2 OFF CACHE INTERNAL "Enable the use of the system found libxml2 library if found")
|
||||||
|
set(ENABLE_EXPAT ON CACHE INTERNAL "Enable the use of the system found EXPAT library if found")
|
||||||
|
set(ENABLE_PCREPOSIX OFF CACHE INTERNAL "Enable the use of the system found PCREPOSIX library if found")
|
||||||
|
set(ENABLE_LibGCC OFF CACHE INTERNAL "Enable the use of the system found LibGCC library if found")
|
||||||
|
set(ENABLE_XATTR OFF CACHE INTERNAL "Enable extended attribute support")
|
||||||
|
set(ENABLE_ACL OFF CACHE INTERNAL "Enable ACL support")
|
||||||
|
set(ENABLE_ICONV OFF CACHE INTERNAL "Enable iconv support")
|
||||||
|
set(ENABLE_CNG OFF CACHE INTERNAL "Enable the use of CNG(Crypto Next Generation)")
|
||||||
|
add_subdirectory(Utilities/cmlibarchive)
|
||||||
|
CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
|
||||||
|
set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
|
||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
# Build jsoncpp library.
|
# Build jsoncpp library.
|
||||||
if(CMAKE_USE_SYSTEM_JSONCPP)
|
if(CMAKE_USE_SYSTEM_JSONCPP)
|
||||||
@ -486,6 +510,9 @@ int main(void) { return 0; }
|
|||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc")
|
||||||
# Disable until it can be ported.
|
# Disable until it can be ported.
|
||||||
set(CMAKE_USE_LIBUV 0)
|
set(CMAKE_USE_LIBUV 0)
|
||||||
|
elseif(CMAKE_SYSTEM STREQUAL "SunOS-5.10")
|
||||||
|
# Disable until it can be ported.
|
||||||
|
set(CMAKE_USE_LIBUV 0)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_USE_LIBUV)
|
if(CMAKE_USE_LIBUV)
|
||||||
|
@ -17,7 +17,6 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
|||||||
"Utilities.cmbzip2."
|
"Utilities.cmbzip2."
|
||||||
"Source.CTest.Curl"
|
"Source.CTest.Curl"
|
||||||
"Source.CursesDialog.form"
|
"Source.CursesDialog.form"
|
||||||
"Source.cm_sha2.*warning.*cast increases required alignment of target type"
|
|
||||||
"Utilities.cmcurl"
|
"Utilities.cmcurl"
|
||||||
"Utilities.cmexpat."
|
"Utilities.cmexpat."
|
||||||
"Utilities.cmlibarchive"
|
"Utilities.cmlibarchive"
|
||||||
@ -84,7 +83,10 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
|||||||
"warning: Value stored to 'yytoken' is never read"
|
"warning: Value stored to 'yytoken' is never read"
|
||||||
"index_encoder.c.241.2. warning: Value stored to .out_start. is never read"
|
"index_encoder.c.241.2. warning: Value stored to .out_start. is never read"
|
||||||
"index.c.*warning: Access to field.*results in a dereference of a null pointer.*loaded from variable.*"
|
"index.c.*warning: Access to field.*results in a dereference of a null pointer.*loaded from variable.*"
|
||||||
"cm_sha2.*warning: Value stored to.*is never read"
|
"cmCommandArgumentLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
|
||||||
|
"cmDependsJavaLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
|
||||||
|
"cmExprLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
|
||||||
|
"cmListFileLexer.c:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
|
||||||
"cmFortranLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
|
"cmFortranLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
|
||||||
"testProcess.*warning: Dereference of null pointer .loaded from variable .invalidAddress.."
|
"testProcess.*warning: Dereference of null pointer .loaded from variable .invalidAddress.."
|
||||||
"liblzma/simple/x86.c:[0-9]+:[0-9]+: warning: The result of the '<<' expression is undefined"
|
"liblzma/simple/x86.c:[0-9]+:[0-9]+: warning: The result of the '<<' expression is undefined"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CMake - Cross Platform Makefile Generator
|
CMake - Cross Platform Makefile Generator
|
||||||
Copyright 2000-2016 Kitware, Inc. and Contributors
|
Copyright 2000-2017 Kitware, Inc. and Contributors
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@ -37,6 +37,7 @@ The following individuals and institutions are among the Contributors:
|
|||||||
* Aleksey Avdeev <solo@altlinux.ru>
|
* Aleksey Avdeev <solo@altlinux.ru>
|
||||||
* Alexander Neundorf <neundorf@kde.org>
|
* Alexander Neundorf <neundorf@kde.org>
|
||||||
* Alexander Smorkalov <alexander.smorkalov@itseez.com>
|
* Alexander Smorkalov <alexander.smorkalov@itseez.com>
|
||||||
|
* Alexey Sokolov <sokolov@google.com>
|
||||||
* Alex Turbov <i.zaufi@gmail.com>
|
* Alex Turbov <i.zaufi@gmail.com>
|
||||||
* Andreas Pakulat <apaku@gmx.de>
|
* Andreas Pakulat <apaku@gmx.de>
|
||||||
* Andreas Schneider <asn@cryptomilk.org>
|
* Andreas Schneider <asn@cryptomilk.org>
|
||||||
@ -54,6 +55,7 @@ The following individuals and institutions are among the Contributors:
|
|||||||
* Eran Ifrah <eran.ifrah@gmail.com>
|
* Eran Ifrah <eran.ifrah@gmail.com>
|
||||||
* Esben Mose Hansen, Ange Optimization ApS
|
* Esben Mose Hansen, Ange Optimization ApS
|
||||||
* Geoffrey Viola <geoffrey.viola@asirobots.com>
|
* Geoffrey Viola <geoffrey.viola@asirobots.com>
|
||||||
|
* Google Inc
|
||||||
* Gregor Jasny
|
* Gregor Jasny
|
||||||
* Helio Chissini de Castro <helio@kde.org>
|
* Helio Chissini de Castro <helio@kde.org>
|
||||||
* Ilya Lavrenov <ilya.lavrenov@itseez.com>
|
* Ilya Lavrenov <ilya.lavrenov@itseez.com>
|
||||||
|
@ -21,7 +21,8 @@ The first signature is for adding a custom command to produce an output::
|
|||||||
[WORKING_DIRECTORY dir]
|
[WORKING_DIRECTORY dir]
|
||||||
[COMMENT comment]
|
[COMMENT comment]
|
||||||
[DEPFILE depfile]
|
[DEPFILE depfile]
|
||||||
[VERBATIM] [APPEND] [USES_TERMINAL])
|
[VERBATIM] [APPEND] [USES_TERMINAL]
|
||||||
|
[COMMAND_EXPAND_LISTS])
|
||||||
|
|
||||||
This defines a command to generate specified ``OUTPUT`` file(s).
|
This defines a command to generate specified ``OUTPUT`` file(s).
|
||||||
A target created in the same directory (``CMakeLists.txt`` file)
|
A target created in the same directory (``CMakeLists.txt`` file)
|
||||||
@ -122,6 +123,14 @@ The options are:
|
|||||||
Arguments to ``DEPENDS`` may use
|
Arguments to ``DEPENDS`` may use
|
||||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||||
|
|
||||||
|
``COMMAND_EXPAND_LISTS``
|
||||||
|
Lists in ``COMMAND`` arguments will be expanded, including those
|
||||||
|
created with
|
||||||
|
:manual:`generator expressions <cmake-generator-expressions(7)>`,
|
||||||
|
allowing ``COMMAND`` arguments such as
|
||||||
|
``${CC} "-I$<JOIN:$<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>,;-I>" foo.cc``
|
||||||
|
to be properly expanded.
|
||||||
|
|
||||||
``IMPLICIT_DEPENDS``
|
``IMPLICIT_DEPENDS``
|
||||||
Request scanning of implicit dependencies of an input file.
|
Request scanning of implicit dependencies of an input file.
|
||||||
The language given specifies the programming language whose
|
The language given specifies the programming language whose
|
||||||
|
@ -12,6 +12,7 @@ Add a target with no output so it will always be built.
|
|||||||
[WORKING_DIRECTORY dir]
|
[WORKING_DIRECTORY dir]
|
||||||
[COMMENT comment]
|
[COMMENT comment]
|
||||||
[VERBATIM] [USES_TERMINAL]
|
[VERBATIM] [USES_TERMINAL]
|
||||||
|
[COMMAND_EXPAND_LISTS]
|
||||||
[SOURCES src1 [src2...]])
|
[SOURCES src1 [src2...]])
|
||||||
|
|
||||||
Adds a target with the given name that executes the given commands.
|
Adds a target with the given name that executes the given commands.
|
||||||
@ -88,6 +89,14 @@ The options are:
|
|||||||
Use the :command:`add_dependencies` command to add dependencies
|
Use the :command:`add_dependencies` command to add dependencies
|
||||||
on other targets.
|
on other targets.
|
||||||
|
|
||||||
|
``COMMAND_EXPAND_LISTS``
|
||||||
|
Lists in ``COMMAND`` arguments will be expanded, including those
|
||||||
|
created with
|
||||||
|
:manual:`generator expressions <cmake-generator-expressions(7)>`,
|
||||||
|
allowing ``COMMAND`` arguments such as
|
||||||
|
``${CC} "-I$<JOIN:$<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>,;-I>" foo.cc``
|
||||||
|
to be properly expanded.
|
||||||
|
|
||||||
``SOURCES``
|
``SOURCES``
|
||||||
Specify additional source files to be included in the custom target.
|
Specify additional source files to be included in the custom target.
|
||||||
Specified source files will be added to IDE project files for
|
Specified source files will be added to IDE project files for
|
||||||
|
@ -33,7 +33,7 @@ type is ``STATIC`` or ``SHARED`` based on whether the current value of the
|
|||||||
variable :variable:`BUILD_SHARED_LIBS` is ``ON``. For ``SHARED`` and
|
variable :variable:`BUILD_SHARED_LIBS` is ``ON``. For ``SHARED`` and
|
||||||
``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
|
``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
|
||||||
property is set to ``ON`` automatically.
|
property is set to ``ON`` automatically.
|
||||||
A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
|
A ``SHARED`` or ``STATIC`` library may be marked with the :prop_tgt:`FRAMEWORK`
|
||||||
target property to create an OS X Framework.
|
target property to create an OS X Framework.
|
||||||
|
|
||||||
If a library does not export any symbols, it must not be declared as a
|
If a library does not export any symbols, it must not be declared as a
|
||||||
|
@ -18,6 +18,7 @@ Perform the :ref:`CTest MemCheck Step` as a :ref:`Dashboard Client`.
|
|||||||
[SCHEDULE_RANDOM <ON|OFF>]
|
[SCHEDULE_RANDOM <ON|OFF>]
|
||||||
[STOP_TIME <time-of-day>]
|
[STOP_TIME <time-of-day>]
|
||||||
[RETURN_VALUE <result-var>]
|
[RETURN_VALUE <result-var>]
|
||||||
|
[DEFECT_COUNT <defect-count-var>]
|
||||||
[QUIET]
|
[QUIET]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -26,4 +27,9 @@ Run tests with a dynamic analysis tool and store results in
|
|||||||
``MemCheck.xml`` for submission with the :command:`ctest_submit`
|
``MemCheck.xml`` for submission with the :command:`ctest_submit`
|
||||||
command.
|
command.
|
||||||
|
|
||||||
The options are the same as those for the :command:`ctest_test` command.
|
Most options are the same as those for the :command:`ctest_test` command.
|
||||||
|
|
||||||
|
The options unique to this command are:
|
||||||
|
|
||||||
|
``DEFECT_COUNT <defect-count-var>``
|
||||||
|
Store in the ``<defect-count-var>`` the number of defects found.
|
||||||
|
@ -56,10 +56,16 @@ Submit to CDash Upload API
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>])
|
ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>]
|
||||||
|
[RETRY_COUNT <count>]
|
||||||
|
[RETRY_DELAY <delay>]
|
||||||
|
[QUIET])
|
||||||
|
|
||||||
This second signature is used to upload files to CDash via the CDash
|
This second signature is used to upload files to CDash via the CDash
|
||||||
file upload API. The api first sends a request to upload to CDash along
|
file upload API. The api first sends a request to upload to CDash along
|
||||||
with a content hash of the file. If CDash does not already have the file,
|
with a content hash of the file. If CDash does not already have the file,
|
||||||
then it is uploaded. Along with the file, a CDash type string is specified
|
then it is uploaded. Along with the file, a CDash type string is specified
|
||||||
to tell CDash which handler to use to process the data.
|
to tell CDash which handler to use to process the data.
|
||||||
|
|
||||||
|
This signature accepts the ``RETRY_COUNT``, ``RETRY_DELAY``, and ``QUIET``
|
||||||
|
options as described above.
|
||||||
|
@ -18,9 +18,10 @@ Execute one or more child processes.
|
|||||||
[OUTPUT_QUIET]
|
[OUTPUT_QUIET]
|
||||||
[ERROR_QUIET]
|
[ERROR_QUIET]
|
||||||
[OUTPUT_STRIP_TRAILING_WHITESPACE]
|
[OUTPUT_STRIP_TRAILING_WHITESPACE]
|
||||||
[ERROR_STRIP_TRAILING_WHITESPACE])
|
[ERROR_STRIP_TRAILING_WHITESPACE]
|
||||||
|
[ENCODING <name>])
|
||||||
|
|
||||||
Runs the given sequence of one or more commands with the standard
|
Runs the given sequence of one or more commands in parallel with the standard
|
||||||
output of each process piped to the standard input of the next.
|
output of each process piped to the standard input of the next.
|
||||||
A single standard error pipe is used for all processes.
|
A single standard error pipe is used for all processes.
|
||||||
|
|
||||||
@ -36,6 +37,9 @@ Options:
|
|||||||
(Use the ``INPUT_*``, ``OUTPUT_*``, and ``ERROR_*`` options to
|
(Use the ``INPUT_*``, ``OUTPUT_*``, and ``ERROR_*`` options to
|
||||||
redirect stdin, stdout, and stderr.)
|
redirect stdin, stdout, and stderr.)
|
||||||
|
|
||||||
|
If a sequential execution of multiple commands is required, use multiple
|
||||||
|
:command:`execute_process` calls with a single ``COMMAND`` argument.
|
||||||
|
|
||||||
``WORKING_DIRECTORY``
|
``WORKING_DIRECTORY``
|
||||||
The named directory will be set as the current working directory of
|
The named directory will be set as the current working directory of
|
||||||
the child processes.
|
the child processes.
|
||||||
@ -63,6 +67,25 @@ Options:
|
|||||||
``OUTPUT_QUIET``, ``ERROR_QUIET``
|
``OUTPUT_QUIET``, ``ERROR_QUIET``
|
||||||
The standard output or standard error results will be quietly ignored.
|
The standard output or standard error results will be quietly ignored.
|
||||||
|
|
||||||
|
``ENCODING <name>``
|
||||||
|
On Windows, the encoding that is used to decode output from the process.
|
||||||
|
Ignored on other platforms.
|
||||||
|
Valid encoding names are:
|
||||||
|
|
||||||
|
``NONE``
|
||||||
|
Perform no decoding. This assumes that the process output is encoded
|
||||||
|
in the same way as CMake's internal encoding (UTF-8).
|
||||||
|
This is the default.
|
||||||
|
``AUTO``
|
||||||
|
Use the current active console's codepage or if that isn't
|
||||||
|
available then use ANSI.
|
||||||
|
``ANSI``
|
||||||
|
Use the ANSI codepage.
|
||||||
|
``OEM``
|
||||||
|
Use the original equipment manufacturer (OEM) code page.
|
||||||
|
``UTF8``
|
||||||
|
Use the UTF-8 codepage.
|
||||||
|
|
||||||
If more than one ``OUTPUT_*`` or ``ERROR_*`` option is given for the
|
If more than one ``OUTPUT_*`` or ``ERROR_*`` option is given for the
|
||||||
same pipe the precedence is not specified.
|
same pipe the precedence is not specified.
|
||||||
If no ``OUTPUT_*`` or ``ERROR_*`` options are given the output will
|
If no ``OUTPUT_*`` or ``ERROR_*`` options are given the output will
|
||||||
|
@ -83,10 +83,12 @@ from the input file.
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
file(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512> <filename> <variable>)
|
file(<HASH> <filename> <variable>)
|
||||||
|
|
||||||
Compute a cryptographic hash of the content of ``<filename>`` and
|
Compute a cryptographic hash of the content of ``<filename>`` and
|
||||||
store it in a ``<variable>``.
|
store it in a ``<variable>``. The supported ``<HASH>`` algorithm names
|
||||||
|
are those listed by the :ref:`string(\<HASH\>) <Supported Hash Algorithms>`
|
||||||
|
command.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -153,7 +155,8 @@ Move a file or directory within a filesystem from ``<oldname>`` to
|
|||||||
file(REMOVE_RECURSE [<files>...])
|
file(REMOVE_RECURSE [<files>...])
|
||||||
|
|
||||||
Remove the given files. The ``REMOVE_RECURSE`` mode will remove the given
|
Remove the given files. The ``REMOVE_RECURSE`` mode will remove the given
|
||||||
files and directories, also non-empty directories
|
files and directories, also non-empty directories. No error is emitted if a
|
||||||
|
given file does not exist.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -233,8 +236,8 @@ Additional options to ``DOWNLOAD`` are:
|
|||||||
``EXPECTED_HASH ALGO=<value>``
|
``EXPECTED_HASH ALGO=<value>``
|
||||||
|
|
||||||
Verify that the downloaded content hash matches the expected value, where
|
Verify that the downloaded content hash matches the expected value, where
|
||||||
``ALGO`` is one of ``MD5``, ``SHA1``, ``SHA224``, ``SHA256``, ``SHA384``, or
|
``ALGO`` is one of the algorithms supported by ``file(<HASH>)``.
|
||||||
``SHA512``. If it does not match, the operation fails with an error.
|
If it does not match, the operation fails with an error.
|
||||||
|
|
||||||
``EXPECTED_MD5 <value>``
|
``EXPECTED_MD5 <value>``
|
||||||
Historical short-hand for ``EXPECTED_HASH MD5=<value>``.
|
Historical short-hand for ``EXPECTED_HASH MD5=<value>``.
|
||||||
@ -301,6 +304,11 @@ Exactly one ``CONTENT`` or ``INPUT`` option must be given. A specific
|
|||||||
Generated files are modified on subsequent cmake runs only if their content
|
Generated files are modified on subsequent cmake runs only if their content
|
||||||
is changed.
|
is changed.
|
||||||
|
|
||||||
|
Note also that ``file(GENERATE)`` does not create the output file until the
|
||||||
|
generation phase. The output file will not yet have been written when the
|
||||||
|
``file(GENERATE)`` command returns, it is written only after processing all
|
||||||
|
of a project's ``CMakeLists.txt`` files.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
::
|
::
|
||||||
|
@ -9,17 +9,17 @@ Conditionally execute a group of commands.
|
|||||||
# then section.
|
# then section.
|
||||||
COMMAND1(ARGS ...)
|
COMMAND1(ARGS ...)
|
||||||
COMMAND2(ARGS ...)
|
COMMAND2(ARGS ...)
|
||||||
...
|
#...
|
||||||
elseif(expression2)
|
elseif(expression2)
|
||||||
# elseif section.
|
# elseif section.
|
||||||
COMMAND1(ARGS ...)
|
COMMAND1(ARGS ...)
|
||||||
COMMAND2(ARGS ...)
|
COMMAND2(ARGS ...)
|
||||||
...
|
#...
|
||||||
else(expression)
|
else(expression)
|
||||||
# else section.
|
# else section.
|
||||||
COMMAND1(ARGS ...)
|
COMMAND1(ARGS ...)
|
||||||
COMMAND2(ARGS ...)
|
COMMAND2(ARGS ...)
|
||||||
...
|
#...
|
||||||
endif(expression)
|
endif(expression)
|
||||||
|
|
||||||
Evaluates the given expression. If the result is true, the commands
|
Evaluates the given expression. If the result is true, the commands
|
||||||
|
@ -90,8 +90,10 @@ project. There are five kinds of target files that may be installed:
|
|||||||
``ARCHIVE``, ``LIBRARY``, ``RUNTIME``, ``FRAMEWORK``, and ``BUNDLE``.
|
``ARCHIVE``, ``LIBRARY``, ``RUNTIME``, ``FRAMEWORK``, and ``BUNDLE``.
|
||||||
Executables are treated as ``RUNTIME`` targets, except that those
|
Executables are treated as ``RUNTIME`` targets, except that those
|
||||||
marked with the ``MACOSX_BUNDLE`` property are treated as ``BUNDLE``
|
marked with the ``MACOSX_BUNDLE`` property are treated as ``BUNDLE``
|
||||||
targets on OS X. Static libraries are always treated as ``ARCHIVE``
|
targets on OS X. Static libraries are treated as ``ARCHIVE`` targets,
|
||||||
targets. Module libraries are always treated as ``LIBRARY`` targets.
|
except that those marked with the ``FRAMEWORK`` property are treated
|
||||||
|
as ``FRAMEWORK`` targets on OS X.
|
||||||
|
Module libraries are always treated as ``LIBRARY`` targets.
|
||||||
For non-DLL platforms shared libraries are treated as ``LIBRARY``
|
For non-DLL platforms shared libraries are treated as ``LIBRARY``
|
||||||
targets, except that those marked with the ``FRAMEWORK`` property are
|
targets, except that those marked with the ``FRAMEWORK`` property are
|
||||||
treated as ``FRAMEWORK`` targets on OS X. For DLL platforms the DLL
|
treated as ``FRAMEWORK`` targets on OS X. For DLL platforms the DLL
|
||||||
|
@ -2,15 +2,27 @@ source_group
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
Define a grouping for source files in IDE project generation.
|
Define a grouping for source files in IDE project generation.
|
||||||
|
There are two different signatures to create source groups.
|
||||||
|
|
||||||
.. code-block:: cmake
|
::
|
||||||
|
|
||||||
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
|
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
|
||||||
|
source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])
|
||||||
|
|
||||||
Defines a group into which sources will be placed in project files.
|
Defines a group into which sources will be placed in project files.
|
||||||
This is intended to set up file tabs in Visual Studio.
|
This is intended to set up file tabs in Visual Studio.
|
||||||
The options are:
|
The options are:
|
||||||
|
|
||||||
|
``TREE``
|
||||||
|
CMake will automatically detect, from ``<src>`` files paths, source groups
|
||||||
|
it needs to create, to keep structure of source groups analogically to the
|
||||||
|
actual files and directories structure in the project. Paths of ``<src>``
|
||||||
|
files will be cut to be relative to ``<root>``.
|
||||||
|
|
||||||
|
``PREFIX``
|
||||||
|
Source group and files located directly in ``<root>`` path, will be placed
|
||||||
|
in ``<prefix>`` source groups.
|
||||||
|
|
||||||
``FILES``
|
``FILES``
|
||||||
Any source file specified explicitly will be placed in group
|
Any source file specified explicitly will be placed in group
|
||||||
``<name>``. Relative paths are interpreted with respect to the
|
``<name>``. Relative paths are interpreted with respect to the
|
||||||
@ -25,11 +37,13 @@ explicitly lists the file with ``FILES`` will be favored, if any.
|
|||||||
If no group explicitly lists the file, the *last* group whose
|
If no group explicitly lists the file, the *last* group whose
|
||||||
regular expression matches the file will be favored.
|
regular expression matches the file will be favored.
|
||||||
|
|
||||||
The ``<name>`` of the group may contain backslashes to specify subgroups:
|
The ``<name>`` of the group and ``<prefix>`` argument may contain backslashes
|
||||||
|
to specify subgroups:
|
||||||
|
|
||||||
.. code-block:: cmake
|
.. code-block:: cmake
|
||||||
|
|
||||||
source_group(outer\\inner ...)
|
source_group(outer\\inner ...)
|
||||||
|
source_group(TREE <root> PREFIX sources\\inc ...)
|
||||||
|
|
||||||
For backwards compatibility, the short-hand signature
|
For backwards compatibility, the short-hand signature
|
||||||
|
|
||||||
|
@ -206,15 +206,38 @@ Comparison
|
|||||||
|
|
||||||
Compare the strings and store true or false in the output variable.
|
Compare the strings and store true or false in the output variable.
|
||||||
|
|
||||||
|
.. _`Supported Hash Algorithms`:
|
||||||
|
|
||||||
Hashing
|
Hashing
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
string(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512>
|
string(<HASH> <output variable> <input>)
|
||||||
<output variable> <input>)
|
|
||||||
|
|
||||||
Compute a cryptographic hash of the input string.
|
Compute a cryptographic hash of the input string.
|
||||||
|
The supported ``<HASH>`` algorithm names are:
|
||||||
|
|
||||||
|
``MD5``
|
||||||
|
Message-Digest Algorithm 5, RFC 1321.
|
||||||
|
``SHA1``
|
||||||
|
US Secure Hash Algorithm 1, RFC 3174.
|
||||||
|
``SHA224``
|
||||||
|
US Secure Hash Algorithms, RFC 4634.
|
||||||
|
``SHA256``
|
||||||
|
US Secure Hash Algorithms, RFC 4634.
|
||||||
|
``SHA384``
|
||||||
|
US Secure Hash Algorithms, RFC 4634.
|
||||||
|
``SHA512``
|
||||||
|
US Secure Hash Algorithms, RFC 4634.
|
||||||
|
``SHA3_224``
|
||||||
|
Keccak SHA-3.
|
||||||
|
``SHA3_256``
|
||||||
|
Keccak SHA-3.
|
||||||
|
``SHA3_384``
|
||||||
|
Keccak SHA-3.
|
||||||
|
``SHA3_512``
|
||||||
|
Keccak SHA-3.
|
||||||
|
|
||||||
Generation
|
Generation
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
@ -273,6 +296,7 @@ specifiers:
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
%% A literal percent sign (%).
|
||||||
%d The day of the current month (01-31).
|
%d The day of the current month (01-31).
|
||||||
%H The hour on a 24-hour clock (00-23).
|
%H The hour on a 24-hour clock (00-23).
|
||||||
%I The hour on a 12-hour clock (01-12).
|
%I The hour on a 12-hour clock (01-12).
|
||||||
@ -306,6 +330,12 @@ If no explicit ``<format string>`` is given it will default to:
|
|||||||
|
|
||||||
Write a string which can be used as an identifier in C.
|
Write a string which can be used as an identifier in C.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If the ``SOURCE_DATE_EPOCH`` environment variable is set,
|
||||||
|
its value will be used instead of the current time.
|
||||||
|
See https://reproducible-builds.org/specs/source-date-epoch/ for details.
|
||||||
|
|
||||||
UUID
|
UUID
|
||||||
""""
|
""""
|
||||||
|
|
||||||
|
@ -53,6 +53,11 @@ Each ``<item>`` may be:
|
|||||||
:ref:`usage requirement <Target Usage Requirements>`. This has the same
|
:ref:`usage requirement <Target Usage Requirements>`. This has the same
|
||||||
effect as passing the framework directory as an include directory.
|
effect as passing the framework directory as an include directory.
|
||||||
|
|
||||||
|
On :ref:`Visual Studio Generators` for VS 2010 and above, library files
|
||||||
|
ending in ``.targets`` will be treated as MSBuild targets files and
|
||||||
|
imported into generated project files. This is not supported by other
|
||||||
|
generators.
|
||||||
|
|
||||||
* **A plain library name**: The generated link line will ask the linker
|
* **A plain library name**: The generated link line will ask the linker
|
||||||
to search for the library (e.g. ``foo`` becomes ``-lfoo`` or ``foo.lib``).
|
to search for the library (e.g. ``foo`` becomes ``-lfoo`` or ``foo.lib``).
|
||||||
|
|
||||||
|
@ -35,7 +35,11 @@ Try Compiling Source Files
|
|||||||
[COMPILE_DEFINITIONS <defs>...]
|
[COMPILE_DEFINITIONS <defs>...]
|
||||||
[LINK_LIBRARIES <libs>...]
|
[LINK_LIBRARIES <libs>...]
|
||||||
[OUTPUT_VARIABLE <var>]
|
[OUTPUT_VARIABLE <var>]
|
||||||
[COPY_FILE <fileName> [COPY_FILE_ERROR <var>]])
|
[COPY_FILE <fileName> [COPY_FILE_ERROR <var>]]
|
||||||
|
[<LANG>_STANDARD <std>]
|
||||||
|
[<LANG>_STANDARD_REQUIRED <bool>]
|
||||||
|
[<LANG>_EXTENSIONS <bool>]
|
||||||
|
)
|
||||||
|
|
||||||
Try building an executable from one or more source files. The success or
|
Try building an executable from one or more source files. The success or
|
||||||
failure of the ``try_compile``, i.e. ``TRUE`` or ``FALSE`` respectively, is
|
failure of the ``try_compile``, i.e. ``TRUE`` or ``FALSE`` respectively, is
|
||||||
@ -82,6 +86,19 @@ The options are:
|
|||||||
``OUTPUT_VARIABLE <var>``
|
``OUTPUT_VARIABLE <var>``
|
||||||
Store the output from the build process the given variable.
|
Store the output from the build process the given variable.
|
||||||
|
|
||||||
|
``<LANG>_STANDARD <std>``
|
||||||
|
Specify the :prop_tgt:`C_STANDARD`, :prop_tgt:`CXX_STANDARD`,
|
||||||
|
or :prop_tgt:`CUDA_STANDARD` target property of the generated project.
|
||||||
|
|
||||||
|
``<LANG>_STANDARD_REQUIRED <bool>``
|
||||||
|
Specify the :prop_tgt:`C_STANDARD_REQUIRED`,
|
||||||
|
:prop_tgt:`CXX_STANDARD_REQUIRED`, or :prop_tgt:`CUDA_STANDARD_REQUIRED`
|
||||||
|
target property of the generated project.
|
||||||
|
|
||||||
|
``<LANG>_EXTENSIONS <bool>``
|
||||||
|
Specify the :prop_tgt:`C_EXTENSIONS`, :prop_tgt:`CXX_EXTENSIONS`,
|
||||||
|
or :prop_tgt:`CUDA_EXTENSIONS` target property of the generated project.
|
||||||
|
|
||||||
In this version all files in ``<bindir>/CMakeFiles/CMakeTmp`` will be
|
In this version all files in ``<bindir>/CMakeFiles/CMakeTmp`` will be
|
||||||
cleaned automatically. For debugging, ``--debug-trycompile`` can be
|
cleaned automatically. For debugging, ``--debug-trycompile`` can be
|
||||||
passed to ``cmake`` to avoid this clean. However, multiple sequential
|
passed to ``cmake`` to avoid this clean. However, multiple sequential
|
||||||
@ -119,3 +136,20 @@ the type of target used for the source file signature.
|
|||||||
Set the :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify
|
Set the :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify
|
||||||
variables that must be propagated into the test project. This variable is
|
variables that must be propagated into the test project. This variable is
|
||||||
meant for use only in toolchain files.
|
meant for use only in toolchain files.
|
||||||
|
|
||||||
|
If :policy:`CMP0067` is set to ``NEW``, or any of the ``<LANG>_STANDARD``,
|
||||||
|
``<LANG>_STANDARD_REQUIRED``, or ``<LANG>_EXTENSIONS`` options are used,
|
||||||
|
then the language standard variables are honored:
|
||||||
|
|
||||||
|
* :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`
|
||||||
|
|
||||||
|
Their values are used to set the corresponding target properties in
|
||||||
|
the generated project (unless overridden by an explicit option).
|
||||||
|
@ -18,6 +18,9 @@ This "extra" generator may be specified as:
|
|||||||
``CodeBlocks - NMake Makefiles``
|
``CodeBlocks - NMake Makefiles``
|
||||||
Generate with :generator:`NMake Makefiles`.
|
Generate with :generator:`NMake Makefiles`.
|
||||||
|
|
||||||
|
``CodeBlocks - NMake Makefiles JOM``
|
||||||
|
Generate with :generator:`NMake Makefiles JOM`.
|
||||||
|
|
||||||
``CodeBlocks - Ninja``
|
``CodeBlocks - Ninja``
|
||||||
Generate with :generator:`Ninja`.
|
Generate with :generator:`Ninja`.
|
||||||
|
|
||||||
|
10
Help/generator/VS_TOOLSET_HOST_ARCH.txt
Normal file
10
Help/generator/VS_TOOLSET_HOST_ARCH.txt
Normal file
@ -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.
|
@ -17,3 +17,10 @@ a target platform name optionally at the end of this generator name:
|
|||||||
|
|
||||||
For compatibility with CMake versions prior to 3.0, one may specify this
|
For compatibility with CMake versions prior to 3.0, one may specify this
|
||||||
generator using the name ``Visual Studio 10`` without the year component.
|
generator using the name ``Visual Studio 10`` without the year component.
|
||||||
|
|
||||||
|
Toolset Selection
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``v100`` toolset that comes with Visual Studio 10 2010 is selected by
|
||||||
|
default. The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
|
||||||
|
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
|
||||||
|
@ -20,3 +20,10 @@ a target platform name optionally at the end of this generator name:
|
|||||||
|
|
||||||
For compatibility with CMake versions prior to 3.0, one may specify this
|
For compatibility with CMake versions prior to 3.0, one may specify this
|
||||||
generator using the name "Visual Studio 11" without the year component.
|
generator using the name "Visual Studio 11" without the year component.
|
||||||
|
|
||||||
|
Toolset Selection
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``v110`` toolset that comes with Visual Studio 11 2012 is selected by
|
||||||
|
default. The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
|
||||||
|
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
|
||||||
|
@ -17,3 +17,12 @@ a target platform name optionally at the end of this generator name:
|
|||||||
|
|
||||||
For compatibility with CMake versions prior to 3.0, one may specify this
|
For compatibility with CMake versions prior to 3.0, one may specify this
|
||||||
generator using the name "Visual Studio 12" without the year component.
|
generator using the name "Visual Studio 12" without the year component.
|
||||||
|
|
||||||
|
Toolset Selection
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``v120`` toolset that comes with Visual Studio 12 2013 is selected by
|
||||||
|
default. The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
|
||||||
|
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
|
||||||
|
|
||||||
|
.. include:: VS_TOOLSET_HOST_ARCH.txt
|
||||||
|
@ -14,3 +14,12 @@ a target platform name optionally at the end of this generator name:
|
|||||||
|
|
||||||
``Visual Studio 14 2015 ARM``
|
``Visual Studio 14 2015 ARM``
|
||||||
Specify target platform ``ARM``.
|
Specify target platform ``ARM``.
|
||||||
|
|
||||||
|
Toolset Selection
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``v140`` toolset that comes with Visual Studio 14 2015 is selected by
|
||||||
|
default. The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
|
||||||
|
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
|
||||||
|
|
||||||
|
.. include:: VS_TOOLSET_HOST_ARCH.txt
|
||||||
|
@ -14,3 +14,12 @@ a target platform name optionally at the end of this generator name:
|
|||||||
|
|
||||||
``Visual Studio 15 2017 ARM``
|
``Visual Studio 15 2017 ARM``
|
||||||
Specify target platform ``ARM``.
|
Specify target platform ``ARM``.
|
||||||
|
|
||||||
|
Toolset Selection
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``v141`` toolset that comes with Visual Studio 15 2017 is selected by
|
||||||
|
default. The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
|
||||||
|
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
|
||||||
|
|
||||||
|
.. include:: VS_TOOLSET_HOST_ARCH.txt
|
||||||
|
@ -2,3 +2,10 @@ Xcode
|
|||||||
-----
|
-----
|
||||||
|
|
||||||
Generate Xcode project files.
|
Generate Xcode project files.
|
||||||
|
|
||||||
|
Toolset Selection
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
By default Xcode is allowed to select its own default toolchain.
|
||||||
|
The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
|
||||||
|
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
|
||||||
|
@ -52,13 +52,12 @@
|
|||||||
Specify toolset name if supported by generator.
|
Specify toolset name if supported by generator.
|
||||||
|
|
||||||
Some CMake generators support a toolset name to be given to the
|
Some CMake generators support a toolset name to be given to the
|
||||||
native build system to choose a compiler. This is supported only on
|
native build system to choose a compiler.
|
||||||
specific generators:
|
See the :variable:`CMAKE_GENERATOR_TOOLSET` variable.
|
||||||
|
This is supported only on specific generators:
|
||||||
|
|
||||||
::
|
* :ref:`Visual Studio Generators` for VS 2010 and above
|
||||||
|
* The :generator:`Xcode` generator for Xcode 3.0 and above
|
||||||
Visual Studio >= 10
|
|
||||||
Xcode >= 3.0
|
|
||||||
|
|
||||||
See native build system documentation for allowed toolset names.
|
See native build system documentation for allowed toolset names.
|
||||||
|
|
||||||
|
@ -964,6 +964,8 @@ are:
|
|||||||
* ``EXPORT_NAME``
|
* ``EXPORT_NAME``
|
||||||
* ``IMPORTED``
|
* ``IMPORTED``
|
||||||
* ``NAME``
|
* ``NAME``
|
||||||
|
* ``NO_SYSTEM_FROM_IMPORTED``
|
||||||
|
* Properties matching ``IMPORTED_LIBNAME_*``
|
||||||
* Properties matching ``MAP_IMPORTED_CONFIG_*``
|
* Properties matching ``MAP_IMPORTED_CONFIG_*``
|
||||||
|
|
||||||
``INTERFACE`` libraries may be installed and exported. Any content they refer
|
``INTERFACE`` libraries may be installed and exported. Any content they refer
|
||||||
|
@ -84,6 +84,33 @@ Feature requirements are evaluated transitively by consuming the link
|
|||||||
implementation. See :manual:`cmake-buildsystem(7)` for more on
|
implementation. See :manual:`cmake-buildsystem(7)` for more on
|
||||||
transitive behavior of build properties and usage requirements.
|
transitive behavior of build properties and usage requirements.
|
||||||
|
|
||||||
|
Requiring Language Standards
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
In projects that use a large number of commonly available features from
|
||||||
|
a particular language standard (e.g. C++ 11) one may specify a
|
||||||
|
meta-feature (e.g. ``cxx_std_11``) that requires use of a compiler mode
|
||||||
|
aware of that standard. This is simpler than specifying all the
|
||||||
|
features individually, but does not guarantee the existence of any
|
||||||
|
particular feature. Diagnosis of use of unsupported features will be
|
||||||
|
delayed until compile time.
|
||||||
|
|
||||||
|
For example, if C++ 11 features are used extensively in a project's
|
||||||
|
header files, then clients must use a compiler mode aware of C++ 11
|
||||||
|
or above. This can be requested with the code:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
target_compile_features(mylib PUBLIC cxx_std_11)
|
||||||
|
|
||||||
|
In this example, CMake will ensure the compiler is invoked in a mode
|
||||||
|
that is aware of C++ 11 (or above), adding flags such as
|
||||||
|
``-std=gnu++11`` if necessary. This applies to sources within ``mylib``
|
||||||
|
as well as any dependents (that may include headers from ``mylib``).
|
||||||
|
|
||||||
|
Availability of Compiler Extensions
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
Because the :prop_tgt:`CXX_EXTENSIONS` target property is ``ON`` by default,
|
Because the :prop_tgt:`CXX_EXTENSIONS` target property is ``ON`` by default,
|
||||||
CMake uses extended variants of language dialects by default, such as
|
CMake uses extended variants of language dialects by default, such as
|
||||||
``-std=gnu++11`` instead of ``-std=c++11``. That target property may be
|
``-std=gnu++11`` instead of ``-std=c++11``. That target property may be
|
||||||
@ -299,7 +326,7 @@ the feature-appropriate include directory
|
|||||||
Supported Compilers
|
Supported Compilers
|
||||||
===================
|
===================
|
||||||
|
|
||||||
CMake is currently aware of the :prop_tgt:`language standards <CXX_STANDARD>`
|
CMake is currently aware of the :prop_tgt:`C++ standards <CXX_STANDARD>`
|
||||||
and :prop_gbl:`compile features <CMAKE_CXX_KNOWN_FEATURES>` available from
|
and :prop_gbl:`compile features <CMAKE_CXX_KNOWN_FEATURES>` available from
|
||||||
the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
|
the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
|
||||||
versions specified for each:
|
versions specified for each:
|
||||||
@ -309,4 +336,18 @@ versions specified for each:
|
|||||||
* ``GNU``: GNU compiler versions 4.4 through 5.0.
|
* ``GNU``: GNU compiler versions 4.4 through 5.0.
|
||||||
* ``MSVC``: Microsoft Visual Studio versions 2010 through 2015.
|
* ``MSVC``: Microsoft Visual Studio versions 2010 through 2015.
|
||||||
* ``SunPro``: Oracle SolarisStudio version 12.4.
|
* ``SunPro``: Oracle SolarisStudio version 12.4.
|
||||||
* ``Intel``: Intel compiler versions 12.1 through 16.0 on UNIX platforms.
|
* ``Intel``: Intel compiler versions 12.1 through 17.0.
|
||||||
|
|
||||||
|
CMake is currently aware of the :prop_tgt:`C standards <C_STANDARD>`
|
||||||
|
and :prop_gbl:`compile features <CMAKE_C_KNOWN_FEATURES>` available from
|
||||||
|
the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
|
||||||
|
versions specified for each:
|
||||||
|
|
||||||
|
* all compilers and versions listed above for C++
|
||||||
|
* ``GNU``: GNU compiler versions 3.4 through 5.0.
|
||||||
|
|
||||||
|
CMake is currently aware of the :prop_tgt:`CUDA standards <CUDA_STANDARD>`
|
||||||
|
from the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
|
||||||
|
versions specified for each:
|
||||||
|
|
||||||
|
* ``NVIDIA``: NVIDIA nvcc compiler 7.5 though 8.0.
|
||||||
|
@ -11,7 +11,7 @@ Introduction
|
|||||||
============
|
============
|
||||||
|
|
||||||
This manual is intended for reference by developers modifying the CMake
|
This manual is intended for reference by developers modifying the CMake
|
||||||
source tree itself.
|
source tree itself, and by those authoring externally-maintained modules.
|
||||||
|
|
||||||
|
|
||||||
Permitted C++ Subset
|
Permitted C++ Subset
|
||||||
@ -540,7 +540,7 @@ a :ref:`Line Comment` block of the form:
|
|||||||
|
|
||||||
or a :ref:`Bracket Comment` of the form:
|
or a :ref:`Bracket Comment` of the form:
|
||||||
|
|
||||||
.. code-block:: cmake
|
::
|
||||||
|
|
||||||
#[[.rst:
|
#[[.rst:
|
||||||
<module-name>
|
<module-name>
|
||||||
@ -558,7 +558,7 @@ All such comments must start with ``#`` in the first column.
|
|||||||
|
|
||||||
For example, a ``Modules/Findxxx.cmake`` module may contain:
|
For example, a ``Modules/Findxxx.cmake`` module may contain:
|
||||||
|
|
||||||
.. code-block:: cmake
|
::
|
||||||
|
|
||||||
# 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.
|
||||||
|
@ -51,6 +51,8 @@ Available logical expressions are:
|
|||||||
``0`` if all ``?`` are ``0``, else ``1``
|
``0`` if all ``?`` are ``0``, else ``1``
|
||||||
``$<NOT:?>``
|
``$<NOT:?>``
|
||||||
``0`` if ``?`` is ``1``, else ``1``
|
``0`` if ``?`` is ``1``, else ``1``
|
||||||
|
``$<IF:?,true-value...,false-value...>```
|
||||||
|
``true-value...`` if ``?`` is ``1``, ``false-value...`` if ``?`` is ``0``
|
||||||
``$<STREQUAL:a,b>``
|
``$<STREQUAL:a,b>``
|
||||||
``1`` if ``a`` is STREQUAL ``b``, else ``0``
|
``1`` if ``a`` is STREQUAL ``b``, else ``0``
|
||||||
``$<EQUAL:a,b>``
|
``$<EQUAL:a,b>``
|
||||||
|
@ -255,7 +255,7 @@ invocation as exactly one argument.
|
|||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
.. code-block:: cmake
|
::
|
||||||
|
|
||||||
message("This is a quoted argument containing multiple lines.
|
message("This is a quoted argument containing multiple lines.
|
||||||
This is always one argument even though it contains a ; character.
|
This is always one argument even though it contains a ; character.
|
||||||
@ -329,11 +329,17 @@ For example:
|
|||||||
To support legacy CMake code, unquoted arguments may also contain
|
To support legacy CMake code, unquoted arguments may also contain
|
||||||
double-quoted strings (``"..."``, possibly enclosing horizontal
|
double-quoted strings (``"..."``, possibly enclosing horizontal
|
||||||
whitespace), and make-style variable references (``$(MAKEVAR)``).
|
whitespace), and make-style variable references (``$(MAKEVAR)``).
|
||||||
|
|
||||||
Unescaped double-quotes must balance, may not appear at the
|
Unescaped double-quotes must balance, may not appear at the
|
||||||
beginning of an unquoted argument, and are treated as part of the
|
beginning of an unquoted argument, and are treated as part of the
|
||||||
content. For example, the unquoted arguments ``-Da="b c"``,
|
content. For example, the unquoted arguments ``-Da="b c"``,
|
||||||
``-Da=$(v)``, and ``a" "b"c"d`` are each interpreted literally.
|
``-Da=$(v)``, and ``a" "b"c"d`` are each interpreted literally.
|
||||||
|
|
||||||
|
Make-style references are treated literally as part of the content
|
||||||
|
and do not undergo variable expansion. They are treated as part
|
||||||
|
of a single argument (rather than as separate ``$``, ``(``,
|
||||||
|
``MAKEVAR``, and ``)`` arguments).
|
||||||
|
|
||||||
The above "unquoted_legacy" production represents such arguments.
|
The above "unquoted_legacy" production represents such arguments.
|
||||||
We do not recommend using legacy unquoted arguments in new code.
|
We do not recommend using legacy unquoted arguments in new code.
|
||||||
Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to
|
Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to
|
||||||
@ -421,7 +427,7 @@ A ``#`` immediately followed by a `Bracket Argument`_ forms a
|
|||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
.. code-block:: cmake
|
::
|
||||||
|
|
||||||
#[[This is a bracket comment.
|
#[[This is a bracket comment.
|
||||||
It runs until the close bracket.]]
|
It runs until the close bracket.]]
|
||||||
|
@ -59,12 +59,14 @@ All Modules
|
|||||||
/module/CPackDeb
|
/module/CPackDeb
|
||||||
/module/CPackDMG
|
/module/CPackDMG
|
||||||
/module/CPackIFW
|
/module/CPackIFW
|
||||||
|
/module/CPackIFWConfigureFile
|
||||||
/module/CPackNSIS
|
/module/CPackNSIS
|
||||||
/module/CPackPackageMaker
|
/module/CPackPackageMaker
|
||||||
/module/CPackProductBuild
|
/module/CPackProductBuild
|
||||||
/module/CPackRPM
|
/module/CPackRPM
|
||||||
/module/CPack
|
/module/CPack
|
||||||
/module/CPackWIX
|
/module/CPackWIX
|
||||||
|
/module/CSharpUtilities
|
||||||
/module/CTest
|
/module/CTest
|
||||||
/module/CTestCoverageCollectGCOV
|
/module/CTestCoverageCollectGCOV
|
||||||
/module/CTestScriptMode
|
/module/CTestScriptMode
|
||||||
|
@ -449,12 +449,12 @@ be true. This can be tested with logic in the package configuration file:
|
|||||||
foreach(_comp ${ClimbingStats_FIND_COMPONENTS})
|
foreach(_comp ${ClimbingStats_FIND_COMPONENTS})
|
||||||
if (NOT ";${_supported_components};" MATCHES _comp)
|
if (NOT ";${_supported_components};" MATCHES _comp)
|
||||||
set(ClimbingStats_FOUND False)
|
set(ClimbingStats_FOUND False)
|
||||||
set(ClimbingStats_NOTFOUND_MESSAGE "Unsupported component: ${_comp}")
|
set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
|
||||||
endif()
|
endif()
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStats${_comp}Targets.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStats${_comp}Targets.cmake")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
Here, the ``ClimbingStats_NOTFOUND_MESSAGE`` is set to a diagnosis that the package
|
Here, the ``ClimbingStats_NOT_FOUND_MESSAGE`` is set to a diagnosis that the package
|
||||||
could not be found because an invalid component was specified. This message
|
could not be found because an invalid component was specified. This message
|
||||||
variable can be set for any case where the ``_FOUND`` variable is set to ``False``,
|
variable can be set for any case where the ``_FOUND`` variable is set to ``False``,
|
||||||
and will be displayed to the user.
|
and will be displayed to the user.
|
||||||
|
@ -51,6 +51,14 @@ The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
|
|||||||
to determine whether to report an error on use of deprecated macros or
|
to determine whether to report an error on use of deprecated macros or
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
|
Policies Introduced by CMake 3.8
|
||||||
|
================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
CMP0067: Honor language standard in try_compile() source-file signature. </policy/CMP0067>
|
||||||
|
|
||||||
Policies Introduced by CMake 3.7
|
Policies Introduced by CMake 3.7
|
||||||
================================
|
================================
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ Properties of Global Scope
|
|||||||
/prop_gbl/TARGET_MESSAGES
|
/prop_gbl/TARGET_MESSAGES
|
||||||
/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
|
/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
|
||||||
/prop_gbl/USE_FOLDERS
|
/prop_gbl/USE_FOLDERS
|
||||||
|
/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
|
||||||
|
|
||||||
.. _`Directory Properties`:
|
.. _`Directory Properties`:
|
||||||
|
|
||||||
@ -121,6 +122,7 @@ Properties on Targets
|
|||||||
/prop_tgt/AUTORCC
|
/prop_tgt/AUTORCC
|
||||||
/prop_tgt/AUTORCC_OPTIONS
|
/prop_tgt/AUTORCC_OPTIONS
|
||||||
/prop_tgt/BINARY_DIR
|
/prop_tgt/BINARY_DIR
|
||||||
|
/prop_tgt/BUILD_RPATH
|
||||||
/prop_tgt/BUILD_WITH_INSTALL_RPATH
|
/prop_tgt/BUILD_WITH_INSTALL_RPATH
|
||||||
/prop_tgt/BUNDLE_EXTENSION
|
/prop_tgt/BUNDLE_EXTENSION
|
||||||
/prop_tgt/BUNDLE
|
/prop_tgt/BUNDLE
|
||||||
@ -142,6 +144,10 @@ Properties on Targets
|
|||||||
/prop_tgt/CONFIG_OUTPUT_NAME
|
/prop_tgt/CONFIG_OUTPUT_NAME
|
||||||
/prop_tgt/CONFIG_POSTFIX
|
/prop_tgt/CONFIG_POSTFIX
|
||||||
/prop_tgt/CROSSCOMPILING_EMULATOR
|
/prop_tgt/CROSSCOMPILING_EMULATOR
|
||||||
|
/prop_tgt/CUDA_SEPARABLE_COMPILATION
|
||||||
|
/prop_tgt/CUDA_EXTENSIONS
|
||||||
|
/prop_tgt/CUDA_STANDARD
|
||||||
|
/prop_tgt/CUDA_STANDARD_REQUIRED
|
||||||
/prop_tgt/CXX_EXTENSIONS
|
/prop_tgt/CXX_EXTENSIONS
|
||||||
/prop_tgt/CXX_STANDARD
|
/prop_tgt/CXX_STANDARD
|
||||||
/prop_tgt/CXX_STANDARD_REQUIRED
|
/prop_tgt/CXX_STANDARD_REQUIRED
|
||||||
@ -166,6 +172,8 @@ Properties on Targets
|
|||||||
/prop_tgt/IMPORTED_CONFIGURATIONS
|
/prop_tgt/IMPORTED_CONFIGURATIONS
|
||||||
/prop_tgt/IMPORTED_IMPLIB_CONFIG
|
/prop_tgt/IMPORTED_IMPLIB_CONFIG
|
||||||
/prop_tgt/IMPORTED_IMPLIB
|
/prop_tgt/IMPORTED_IMPLIB
|
||||||
|
/prop_tgt/IMPORTED_LIBNAME_CONFIG
|
||||||
|
/prop_tgt/IMPORTED_LIBNAME
|
||||||
/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG
|
/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG
|
||||||
/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES
|
/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES
|
||||||
/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG
|
/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG
|
||||||
@ -204,6 +212,7 @@ Properties on Targets
|
|||||||
/prop_tgt/LABELS
|
/prop_tgt/LABELS
|
||||||
/prop_tgt/LANG_CLANG_TIDY
|
/prop_tgt/LANG_CLANG_TIDY
|
||||||
/prop_tgt/LANG_COMPILER_LAUNCHER
|
/prop_tgt/LANG_COMPILER_LAUNCHER
|
||||||
|
/prop_tgt/LANG_CPPLINT
|
||||||
/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
|
/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
|
||||||
/prop_tgt/LANG_VISIBILITY_PRESET
|
/prop_tgt/LANG_VISIBILITY_PRESET
|
||||||
/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG
|
/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG
|
||||||
@ -229,6 +238,7 @@ Properties on Targets
|
|||||||
/prop_tgt/MACOSX_BUNDLE
|
/prop_tgt/MACOSX_BUNDLE
|
||||||
/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST
|
/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST
|
||||||
/prop_tgt/MACOSX_RPATH
|
/prop_tgt/MACOSX_RPATH
|
||||||
|
/prop_tgt/MANUALLY_ADDED_DEPENDENCIES
|
||||||
/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG
|
/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG
|
||||||
/prop_tgt/NAME
|
/prop_tgt/NAME
|
||||||
/prop_tgt/NO_SONAME
|
/prop_tgt/NO_SONAME
|
||||||
@ -265,8 +275,11 @@ Properties on Targets
|
|||||||
/prop_tgt/VERSION
|
/prop_tgt/VERSION
|
||||||
/prop_tgt/VISIBILITY_INLINES_HIDDEN
|
/prop_tgt/VISIBILITY_INLINES_HIDDEN
|
||||||
/prop_tgt/VS_CONFIGURATION_TYPE
|
/prop_tgt/VS_CONFIGURATION_TYPE
|
||||||
|
/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY
|
||||||
/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION
|
/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION
|
||||||
|
/prop_tgt/VS_DOTNET_REFERENCE_refname
|
||||||
/prop_tgt/VS_DOTNET_REFERENCES
|
/prop_tgt/VS_DOTNET_REFERENCES
|
||||||
|
/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL
|
||||||
/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
|
/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
|
||||||
/prop_tgt/VS_GLOBAL_KEYWORD
|
/prop_tgt/VS_GLOBAL_KEYWORD
|
||||||
/prop_tgt/VS_GLOBAL_PROJECT_TYPES
|
/prop_tgt/VS_GLOBAL_PROJECT_TYPES
|
||||||
@ -281,6 +294,7 @@ Properties on Targets
|
|||||||
/prop_tgt/VS_SCC_PROJECTNAME
|
/prop_tgt/VS_SCC_PROJECTNAME
|
||||||
/prop_tgt/VS_SCC_PROVIDER
|
/prop_tgt/VS_SCC_PROVIDER
|
||||||
/prop_tgt/VS_SDK_REFERENCES
|
/prop_tgt/VS_SDK_REFERENCES
|
||||||
|
/prop_tgt/VS_USER_PROPS
|
||||||
/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
|
/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
|
||||||
/prop_tgt/VS_WINRT_COMPONENT
|
/prop_tgt/VS_WINRT_COMPONENT
|
||||||
/prop_tgt/VS_WINRT_EXTENSIONS
|
/prop_tgt/VS_WINRT_EXTENSIONS
|
||||||
@ -288,6 +302,8 @@ Properties on Targets
|
|||||||
/prop_tgt/WIN32_EXECUTABLE
|
/prop_tgt/WIN32_EXECUTABLE
|
||||||
/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS
|
/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS
|
||||||
/prop_tgt/XCODE_ATTRIBUTE_an-attribute
|
/prop_tgt/XCODE_ATTRIBUTE_an-attribute
|
||||||
|
/prop_tgt/XCODE_EXPLICIT_FILE_TYPE
|
||||||
|
/prop_tgt/XCODE_PRODUCT_TYPE
|
||||||
/prop_tgt/XCTEST
|
/prop_tgt/XCTEST
|
||||||
|
|
||||||
.. _`Test Properties`:
|
.. _`Test Properties`:
|
||||||
@ -344,9 +360,17 @@ Properties on Source Files
|
|||||||
/prop_sf/MACOSX_PACKAGE_LOCATION
|
/prop_sf/MACOSX_PACKAGE_LOCATION
|
||||||
/prop_sf/OBJECT_DEPENDS
|
/prop_sf/OBJECT_DEPENDS
|
||||||
/prop_sf/OBJECT_OUTPUTS
|
/prop_sf/OBJECT_OUTPUTS
|
||||||
|
/prop_sf/SKIP_AUTOGEN
|
||||||
|
/prop_sf/SKIP_AUTOMOC
|
||||||
|
/prop_sf/SKIP_AUTORCC
|
||||||
|
/prop_sf/SKIP_AUTOUIC
|
||||||
/prop_sf/SYMBOLIC
|
/prop_sf/SYMBOLIC
|
||||||
|
/prop_sf/VS_COPY_TO_OUT_DIR
|
||||||
|
/prop_sf/VS_CSHARP_tagname
|
||||||
/prop_sf/VS_DEPLOYMENT_CONTENT
|
/prop_sf/VS_DEPLOYMENT_CONTENT
|
||||||
/prop_sf/VS_DEPLOYMENT_LOCATION
|
/prop_sf/VS_DEPLOYMENT_LOCATION
|
||||||
|
/prop_sf/VS_INCLUDE_IN_VSIX
|
||||||
|
/prop_sf/VS_RESOURCE_GENERATOR
|
||||||
/prop_sf/VS_SHADER_ENTRYPOINT
|
/prop_sf/VS_SHADER_ENTRYPOINT
|
||||||
/prop_sf/VS_SHADER_FLAGS
|
/prop_sf/VS_SHADER_FLAGS
|
||||||
/prop_sf/VS_SHADER_MODEL
|
/prop_sf/VS_SHADER_MODEL
|
||||||
|
@ -22,12 +22,11 @@ Qt 4 and Qt 5 may be used together in the same
|
|||||||
|
|
||||||
.. code-block:: cmake
|
.. code-block:: cmake
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR)
|
||||||
|
|
||||||
project(Qt4And5)
|
project(Qt4And5)
|
||||||
|
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
||||||
|
|
||||||
find_package(Qt5 COMPONENTS Widgets DBus REQUIRED)
|
find_package(Qt5 COMPONENTS Widgets DBus REQUIRED)
|
||||||
add_executable(publisher publisher.cpp)
|
add_executable(publisher publisher.cpp)
|
||||||
@ -73,14 +72,20 @@ The ``moc`` command line will consume the :prop_tgt:`COMPILE_DEFINITIONS` and
|
|||||||
:prop_tgt:`INCLUDE_DIRECTORIES` target properties from the target it is being
|
:prop_tgt:`INCLUDE_DIRECTORIES` target properties from the target it is being
|
||||||
invoked for, and for the appropriate build configuration.
|
invoked for, and for the appropriate build configuration.
|
||||||
|
|
||||||
Generated ``moc_*.cpp`` and ``*.moc`` files are placed in the build directory
|
The generated ``moc_*.cpp`` and ``*.moc`` files are placed in the
|
||||||
so it is convenient to set the :variable:`CMAKE_INCLUDE_CURRENT_DIR`
|
``<CMAKE_CURRENT_BINARY_DIR>/<TARGETNAME>_autogen/include`` directory which is
|
||||||
variable. The :prop_tgt:`AUTOMOC` target property may be pre-set for all
|
automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
|
(This differs from CMake 3.7 and below; see their documentation for details.)
|
||||||
|
|
||||||
|
The :prop_tgt:`AUTOMOC` target property may be pre-set for all
|
||||||
following targets by setting the :variable:`CMAKE_AUTOMOC` variable. The
|
following targets by setting the :variable:`CMAKE_AUTOMOC` variable. The
|
||||||
:prop_tgt:`AUTOMOC_MOC_OPTIONS` target property may be populated to set
|
:prop_tgt:`AUTOMOC_MOC_OPTIONS` target property may be populated to set
|
||||||
options to pass to ``moc``. The :variable:`CMAKE_AUTOMOC_MOC_OPTIONS`
|
options to pass to ``moc``. The :variable:`CMAKE_AUTOMOC_MOC_OPTIONS`
|
||||||
variable may be populated to pre-set the options for all following targets.
|
variable may be populated to pre-set the options for all following targets.
|
||||||
|
|
||||||
|
Source C++ files can be excluded from :prop_tgt:`AUTOMOC` processing by
|
||||||
|
enabling :prop_sf:`SKIP_AUTOMOC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||||
|
|
||||||
.. _`Qt AUTOUIC`:
|
.. _`Qt AUTOUIC`:
|
||||||
|
|
||||||
AUTOUIC
|
AUTOUIC
|
||||||
@ -94,10 +99,13 @@ If a preprocessor ``#include`` directive is found which matches
|
|||||||
``ui_<basename>.h``, and a ``<basename>.ui`` file exists, then ``uic`` will
|
``ui_<basename>.h``, and a ``<basename>.ui`` file exists, then ``uic`` will
|
||||||
be executed to generate the appropriate file.
|
be executed to generate the appropriate file.
|
||||||
|
|
||||||
Generated ``ui_*.h`` files are placed in the build directory so it is
|
The generated generated ``ui_*.h`` files are placed in the
|
||||||
convenient to set the :variable:`CMAKE_INCLUDE_CURRENT_DIR` variable. The
|
``<CMAKE_CURRENT_BINARY_DIR>/<TARGETNAME>_autogen/include`` directory which is
|
||||||
:prop_tgt:`AUTOUIC` target property may be pre-set for all following targets
|
automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
by setting the :variable:`CMAKE_AUTOUIC` variable. The
|
(This differs from CMake 3.7 and below; see their documentation for details.)
|
||||||
|
|
||||||
|
The :prop_tgt:`AUTOUIC` target property may be pre-set for all following
|
||||||
|
targets by setting the :variable:`CMAKE_AUTOUIC` variable. The
|
||||||
:prop_tgt:`AUTOUIC_OPTIONS` target property may be populated to set options
|
:prop_tgt:`AUTOUIC_OPTIONS` target property may be populated to set options
|
||||||
to pass to ``uic``. The :variable:`CMAKE_AUTOUIC_OPTIONS` variable may be
|
to pass to ``uic``. The :variable:`CMAKE_AUTOUIC_OPTIONS` variable may be
|
||||||
populated to pre-set the options for all following targets. The
|
populated to pre-set the options for all following targets. The
|
||||||
@ -144,6 +152,9 @@ result of linking with the :prop_tgt:`IMPORTED` target:
|
|||||||
Qt5::Widgets
|
Qt5::Widgets
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Source files can be excluded from :prop_tgt:`AUTOUIC` processing by
|
||||||
|
enabling :prop_sf:`SKIP_AUTOUIC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||||
|
|
||||||
.. _`Qt AUTORCC`:
|
.. _`Qt AUTORCC`:
|
||||||
|
|
||||||
AUTORCC
|
AUTORCC
|
||||||
@ -166,6 +177,9 @@ populated to pre-set the options for all following targets. The
|
|||||||
``<name>.qrc`` file to set particular options for the file. This
|
``<name>.qrc`` file to set particular options for the file. This
|
||||||
overrides options from the :prop_tgt:`AUTORCC_OPTIONS` target property.
|
overrides options from the :prop_tgt:`AUTORCC_OPTIONS` target property.
|
||||||
|
|
||||||
|
Source files can be excluded from :prop_tgt:`AUTORCC` processing by
|
||||||
|
enabling :prop_sf:`SKIP_AUTORCC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||||
|
|
||||||
qtmain.lib on Windows
|
qtmain.lib on Windows
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
@ -82,6 +82,7 @@ Variables that Provide Information
|
|||||||
/variable/CMAKE_VS_NsightTegra_VERSION
|
/variable/CMAKE_VS_NsightTegra_VERSION
|
||||||
/variable/CMAKE_VS_PLATFORM_NAME
|
/variable/CMAKE_VS_PLATFORM_NAME
|
||||||
/variable/CMAKE_VS_PLATFORM_TOOLSET
|
/variable/CMAKE_VS_PLATFORM_TOOLSET
|
||||||
|
/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
|
||||||
/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
|
/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
|
||||||
/variable/CMAKE_XCODE_PLATFORM_TOOLSET
|
/variable/CMAKE_XCODE_PLATFORM_TOOLSET
|
||||||
/variable/PROJECT_BINARY_DIR
|
/variable/PROJECT_BINARY_DIR
|
||||||
@ -160,6 +161,8 @@ Variables that Change Behavior
|
|||||||
/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
|
/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
|
||||||
/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
|
/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
|
||||||
/variable/CMAKE_STAGING_PREFIX
|
/variable/CMAKE_STAGING_PREFIX
|
||||||
|
/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
|
||||||
|
/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
|
||||||
/variable/CMAKE_SYSTEM_APPBUNDLE_PATH
|
/variable/CMAKE_SYSTEM_APPBUNDLE_PATH
|
||||||
/variable/CMAKE_SYSTEM_FRAMEWORK_PATH
|
/variable/CMAKE_SYSTEM_FRAMEWORK_PATH
|
||||||
/variable/CMAKE_SYSTEM_IGNORE_PATH
|
/variable/CMAKE_SYSTEM_IGNORE_PATH
|
||||||
@ -259,6 +262,7 @@ Variables that Control the Build
|
|||||||
/variable/CMAKE_AUTORCC_OPTIONS
|
/variable/CMAKE_AUTORCC_OPTIONS
|
||||||
/variable/CMAKE_AUTOUIC
|
/variable/CMAKE_AUTOUIC
|
||||||
/variable/CMAKE_AUTOUIC_OPTIONS
|
/variable/CMAKE_AUTOUIC_OPTIONS
|
||||||
|
/variable/CMAKE_BUILD_RPATH
|
||||||
/variable/CMAKE_BUILD_WITH_INSTALL_RPATH
|
/variable/CMAKE_BUILD_WITH_INSTALL_RPATH
|
||||||
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
|
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
|
||||||
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
|
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
|
||||||
@ -280,6 +284,7 @@ Variables that Control the Build
|
|||||||
/variable/CMAKE_IOS_INSTALL_COMBINED
|
/variable/CMAKE_IOS_INSTALL_COMBINED
|
||||||
/variable/CMAKE_LANG_CLANG_TIDY
|
/variable/CMAKE_LANG_CLANG_TIDY
|
||||||
/variable/CMAKE_LANG_COMPILER_LAUNCHER
|
/variable/CMAKE_LANG_COMPILER_LAUNCHER
|
||||||
|
/variable/CMAKE_LANG_CPPLINT
|
||||||
/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
|
/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
|
||||||
/variable/CMAKE_LANG_VISIBILITY_PRESET
|
/variable/CMAKE_LANG_VISIBILITY_PRESET
|
||||||
/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY
|
/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY
|
||||||
@ -325,6 +330,7 @@ Variables that Control the Build
|
|||||||
/variable/CMAKE_USE_RELATIVE_PATHS
|
/variable/CMAKE_USE_RELATIVE_PATHS
|
||||||
/variable/CMAKE_VISIBILITY_INLINES_HIDDEN
|
/variable/CMAKE_VISIBILITY_INLINES_HIDDEN
|
||||||
/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
|
/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
|
||||||
|
/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
|
||||||
/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
|
/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
|
||||||
/variable/CMAKE_WIN32_EXECUTABLE
|
/variable/CMAKE_WIN32_EXECUTABLE
|
||||||
/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute
|
/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute
|
||||||
@ -344,6 +350,10 @@ Variables for Languages
|
|||||||
/variable/CMAKE_C_EXTENSIONS
|
/variable/CMAKE_C_EXTENSIONS
|
||||||
/variable/CMAKE_C_STANDARD
|
/variable/CMAKE_C_STANDARD
|
||||||
/variable/CMAKE_C_STANDARD_REQUIRED
|
/variable/CMAKE_C_STANDARD_REQUIRED
|
||||||
|
/variable/CMAKE_CUDA_EXTENSIONS
|
||||||
|
/variable/CMAKE_CUDA_STANDARD
|
||||||
|
/variable/CMAKE_CUDA_STANDARD_REQUIRED
|
||||||
|
/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
|
||||||
/variable/CMAKE_CXX_COMPILE_FEATURES
|
/variable/CMAKE_CXX_COMPILE_FEATURES
|
||||||
/variable/CMAKE_CXX_EXTENSIONS
|
/variable/CMAKE_CXX_EXTENSIONS
|
||||||
/variable/CMAKE_CXX_STANDARD
|
/variable/CMAKE_CXX_STANDARD
|
||||||
|
@ -263,8 +263,10 @@ Available commands are:
|
|||||||
052f86c15bbde68af55c7f7b340ab639 file2.txt
|
052f86c15bbde68af55c7f7b340ab639 file2.txt
|
||||||
|
|
||||||
``remove [-f] <file>...``
|
``remove [-f] <file>...``
|
||||||
Remove the file(s), use ``-f`` to force it. If a file does
|
Remove the file(s). If any of the listed files already do not
|
||||||
not exist it will be silently ignored.
|
exist, the command returns a non-zero exit code, but no message
|
||||||
|
is logged. The ``-f`` option changes the behavior to return a
|
||||||
|
zero exit code (i.e. success) in such situations instead.
|
||||||
|
|
||||||
``remove_directory <dir>``
|
``remove_directory <dir>``
|
||||||
Remove a directory and its contents. If a directory does
|
Remove a directory and its contents. If a directory does
|
||||||
|
1
Help/module/CPackIFWConfigureFile.rst
Normal file
1
Help/module/CPackIFWConfigureFile.rst
Normal file
@ -0,0 +1 @@
|
|||||||
|
.. cmake-module:: ../../Modules/CPackIFWConfigureFile.cmake
|
1
Help/module/CSharpUtilities.rst
Normal file
1
Help/module/CSharpUtilities.rst
Normal file
@ -0,0 +1 @@
|
|||||||
|
.. cmake-module:: ../../Modules/CSharpUtilities.cmake
|
37
Help/policy/CMP0067.rst
Normal file
37
Help/policy/CMP0067.rst
Normal file
@ -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
|
@ -1,7 +1,7 @@
|
|||||||
AUTOGEN_TARGETS_FOLDER
|
AUTOGEN_TARGETS_FOLDER
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Name of :prop_tgt:`FOLDER` for ``*_automoc`` targets that are added automatically by
|
Name of :prop_tgt:`FOLDER` for ``*_autogen`` targets that are added automatically by
|
||||||
CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
|
CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
|
||||||
|
|
||||||
If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
|
If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
AUTOMOC_TARGETS_FOLDER
|
AUTOMOC_TARGETS_FOLDER
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Name of :prop_tgt:`FOLDER` for ``*_automoc`` targets that are added automatically by
|
Name of :prop_tgt:`FOLDER` for ``*_autogen`` targets that are added automatically by
|
||||||
CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
|
CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
|
||||||
|
|
||||||
This property is obsolete. Use :prop_gbl:`AUTOGEN_TARGETS_FOLDER` instead.
|
This property is obsolete. Use :prop_gbl:`AUTOGEN_TARGETS_FOLDER` instead.
|
||||||
|
@ -14,6 +14,18 @@ compile features and a list of supported compilers.
|
|||||||
|
|
||||||
The features known to this version of CMake are:
|
The features known to this version of CMake are:
|
||||||
|
|
||||||
|
``cxx_std_98``
|
||||||
|
Compiler mode is aware of C++ 98.
|
||||||
|
|
||||||
|
``cxx_std_11``
|
||||||
|
Compiler mode is aware of C++ 11.
|
||||||
|
|
||||||
|
``cxx_std_14``
|
||||||
|
Compiler mode is aware of C++ 14.
|
||||||
|
|
||||||
|
``cxx_std_17``
|
||||||
|
Compiler mode is aware of C++ 17.
|
||||||
|
|
||||||
``cxx_aggregate_default_initializers``
|
``cxx_aggregate_default_initializers``
|
||||||
Aggregate default initializers, as defined in N3605_.
|
Aggregate default initializers, as defined in N3605_.
|
||||||
|
|
||||||
|
@ -13,6 +13,15 @@ compile features and a list of supported compilers.
|
|||||||
|
|
||||||
The features known to this version of CMake are:
|
The features known to this version of CMake are:
|
||||||
|
|
||||||
|
``c_std_90``
|
||||||
|
Compiler mode is aware of C 90.
|
||||||
|
|
||||||
|
``c_std_99``
|
||||||
|
Compiler mode is aware of C 99.
|
||||||
|
|
||||||
|
``c_std_11``
|
||||||
|
Compiler mode is aware of C 11.
|
||||||
|
|
||||||
``c_function_prototypes``
|
``c_function_prototypes``
|
||||||
Function prototypes, as defined in ``ISO/IEC 9899:1990``.
|
Function prototypes, as defined in ``ISO/IEC 9899:1990``.
|
||||||
|
|
||||||
|
24
Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
Normal file
24
Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
Normal file
@ -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.
|
@ -6,3 +6,10 @@ Additional flags to be added when compiling this source file.
|
|||||||
These flags will be added to the list of compile flags when this
|
These flags will be added to the list of compile flags when this
|
||||||
source file builds. Use :prop_sf:`COMPILE_DEFINITIONS` to pass
|
source file builds. Use :prop_sf:`COMPILE_DEFINITIONS` to pass
|
||||||
additional preprocessor definitions.
|
additional preprocessor definitions.
|
||||||
|
|
||||||
|
Contents of ``COMPILE_FLAGS`` may use "generator expressions"
|
||||||
|
with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
|
||||||
|
manual for available expressions. However, :generator:`Xcode`
|
||||||
|
does not support per-config per-source settings, so expressions
|
||||||
|
that depend on the build configuration are not allowed with that
|
||||||
|
generator.
|
||||||
|
8
Help/prop_sf/SKIP_AUTOGEN.rst
Normal file
8
Help/prop_sf/SKIP_AUTOGEN.rst
Normal file
@ -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`.
|
6
Help/prop_sf/SKIP_AUTOMOC.rst
Normal file
6
Help/prop_sf/SKIP_AUTOMOC.rst
Normal file
@ -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`
|
6
Help/prop_sf/SKIP_AUTORCC.rst
Normal file
6
Help/prop_sf/SKIP_AUTORCC.rst
Normal file
@ -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`
|
6
Help/prop_sf/SKIP_AUTOUIC.rst
Normal file
6
Help/prop_sf/SKIP_AUTOUIC.rst
Normal file
@ -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`
|
6
Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
Normal file
6
Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
Normal file
@ -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``.
|
19
Help/prop_sf/VS_CSHARP_tagname.rst
Normal file
19
Help/prop_sf/VS_CSHARP_tagname.rst
Normal file
@ -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")
|
6
Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
Normal file
6
Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
Normal file
@ -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.
|
8
Help/prop_sf/VS_RESOURCE_GENERATOR.rst
Normal file
8
Help/prop_sf/VS_RESOURCE_GENERATOR.rst
Normal file
@ -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.
|
@ -22,7 +22,9 @@ When the test outputs a line that matches ``regex`` its start time is
|
|||||||
reset to the current time and its timeout duration is changed to
|
reset to the current time and its timeout duration is changed to
|
||||||
``seconds``. Prior to this, the timeout duration is determined by the
|
``seconds``. Prior to this, the timeout duration is determined by the
|
||||||
:prop_test:`TIMEOUT` property or the :variable:`CTEST_TEST_TIMEOUT`
|
:prop_test:`TIMEOUT` property or the :variable:`CTEST_TEST_TIMEOUT`
|
||||||
variable if either of these are set.
|
variable if either of these are set. Because the test's start time is
|
||||||
|
reset, its execution time will not include any time that was spent
|
||||||
|
waiting for the matching output.
|
||||||
|
|
||||||
:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
|
:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
|
||||||
timeouts when your test must wait for some system resource to become
|
timeouts when your test must wait for some system resource to become
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
AUTOGEN_TARGET_DEPENDS
|
AUTOGEN_TARGET_DEPENDS
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Target dependencies of the corresponding ``_automoc`` target.
|
Target dependencies of the corresponding ``_autogen`` target.
|
||||||
|
|
||||||
Targets which have their :prop_tgt:`AUTOMOC` target ``ON`` have a
|
Targets which have their :prop_tgt:`AUTOMOC` target ``ON`` have a
|
||||||
corresponding ``_automoc`` target which is used to autogenerate generate moc
|
corresponding ``_autogen`` target which is used to autogenerate generate moc
|
||||||
files. As this ``_automoc`` target is created at generate-time, it is not
|
files. As this ``_autogen`` target is created at generate-time, it is not
|
||||||
possible to define dependencies of it, such as to create inputs for the ``moc``
|
possible to define dependencies of it, such as to create inputs for the ``moc``
|
||||||
executable.
|
executable.
|
||||||
|
|
||||||
The ``AUTOGEN_TARGET_DEPENDS`` target property can be set instead to a list of
|
The ``AUTOGEN_TARGET_DEPENDS`` target property can be set instead to a list of
|
||||||
dependencies for the ``_automoc`` target. The buildsystem will be generated to
|
dependencies for the ``_autogen`` target. The buildsystem will be generated to
|
||||||
depend on its contents.
|
depend on its contents.
|
||||||
|
|
||||||
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
||||||
|
@ -15,11 +15,12 @@ source files at build time and invoke moc accordingly.
|
|||||||
the ``Q_OBJECT`` class declaration is expected in the header, and
|
the ``Q_OBJECT`` class declaration is expected in the header, and
|
||||||
``moc`` is run on the header file. A ``moc_foo.cpp`` file will be
|
``moc`` is run on the header file. A ``moc_foo.cpp`` file will be
|
||||||
generated from the source's header into the
|
generated from the source's header into the
|
||||||
:variable:`CMAKE_CURRENT_BINARY_DIR` directory. This allows the
|
``<CMAKE_CURRENT_BINARY_DIR>/<TARGETNAME>_autogen/include``
|
||||||
compiler to find the included ``moc_foo.cpp`` file regardless of the
|
directory which is automatically added to the target's
|
||||||
location the original source. However, if multiple source files
|
:prop_tgt:`INCLUDE_DIRECTORIES`. This allows the compiler to find the
|
||||||
in different directories do this then their generated moc files would
|
included ``moc_foo.cpp`` file regardless of the location the original source.
|
||||||
collide. In this case a diagnostic will be issued.
|
However, if multiple source files in different directories do this then their
|
||||||
|
generated moc files would collide. In this case a diagnostic will be issued.
|
||||||
|
|
||||||
* If an ``#include`` statement like ``#include "foo.moc"`` is found,
|
* If an ``#include`` statement like ``#include "foo.moc"`` is found,
|
||||||
then a ``Q_OBJECT`` is expected in the current source file and ``moc``
|
then a ``Q_OBJECT`` is expected in the current source file and ``moc``
|
||||||
@ -30,7 +31,7 @@ source files at build time and invoke moc accordingly.
|
|||||||
alternative extensions, such as ``hpp``, ``hxx`` etc when searching
|
alternative extensions, such as ``hpp``, ``hxx`` etc when searching
|
||||||
for headers. The resulting moc files, which are not included as shown
|
for headers. The resulting moc files, which are not included as shown
|
||||||
above in any of the source files are included in a generated
|
above in any of the source files are included in a generated
|
||||||
``<targetname>_automoc.cpp`` file, which is compiled as part of the
|
``moc_compilation.cpp`` file, which is compiled as part of the
|
||||||
target.
|
target.
|
||||||
|
|
||||||
This property is initialized by the value of the :variable:`CMAKE_AUTOMOC`
|
This property is initialized by the value of the :variable:`CMAKE_AUTOMOC`
|
||||||
@ -46,5 +47,8 @@ See the documentation for this variable for more details.
|
|||||||
The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
|
The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
|
||||||
automoc targets together in an IDE, e.g. in MSVS.
|
automoc targets together in an IDE, e.g. in MSVS.
|
||||||
|
|
||||||
|
Source C++ files can be excluded from :prop_tgt:`AUTOMOC` processing by
|
||||||
|
enabling :prop_sf:`SKIP_AUTOMOC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||||
|
|
||||||
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
||||||
with Qt.
|
with Qt.
|
||||||
|
@ -24,5 +24,8 @@ generate unspecified unique names for ``rcc``. Therefore if
|
|||||||
``Q_INIT_RESOURCE()`` or ``Q_CLEANUP_RESOURCE()`` need to be used the
|
``Q_INIT_RESOURCE()`` or ``Q_CLEANUP_RESOURCE()`` need to be used the
|
||||||
``.qrc`` file name must be unique.
|
``.qrc`` file name must be unique.
|
||||||
|
|
||||||
|
Source files can be excluded from :prop_tgt:`AUTORCC` processing by
|
||||||
|
enabling :prop_sf:`SKIP_AUTORCC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||||
|
|
||||||
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
||||||
with Qt.
|
with Qt.
|
||||||
|
@ -20,5 +20,8 @@ Additional command line options for ``uic`` can be set via the
|
|||||||
The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
|
The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
|
||||||
autouic targets together in an IDE, e.g. in MSVS.
|
autouic targets together in an IDE, e.g. in MSVS.
|
||||||
|
|
||||||
|
Source files can be excluded from :prop_tgt:`AUTOUIC` processing by
|
||||||
|
enabling :prop_sf:`SKIP_AUTOUIC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||||
|
|
||||||
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
||||||
with Qt.
|
with Qt.
|
||||||
|
10
Help/prop_tgt/BUILD_RPATH.rst
Normal file
10
Help/prop_tgt/BUILD_RPATH.rst
Normal file
@ -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.
|
@ -5,3 +5,7 @@ Use the given emulator to run executables created when crosscompiling.
|
|||||||
This command will be added as a prefix to :command:`add_test`,
|
This command will be added as a prefix to :command:`add_test`,
|
||||||
:command:`add_custom_command`, and :command:`add_custom_target` commands
|
:command:`add_custom_command`, and :command:`add_custom_target` commands
|
||||||
for built target system executables.
|
for built target system executables.
|
||||||
|
|
||||||
|
This property is initialized by the value of the
|
||||||
|
:variable:`CMAKE_CROSSCOMPILING_EMULATOR` variable if it is set when a target
|
||||||
|
is created.
|
||||||
|
17
Help/prop_tgt/CUDA_EXTENSIONS.rst
Normal file
17
Help/prop_tgt/CUDA_EXTENSIONS.rst
Normal file
@ -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.
|
13
Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
Normal file
13
Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
Normal file
@ -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)
|
32
Help/prop_tgt/CUDA_STANDARD.rst
Normal file
32
Help/prop_tgt/CUDA_STANDARD.rst
Normal file
@ -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.
|
18
Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
Normal file
18
Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
Normal file
@ -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.
|
@ -8,7 +8,7 @@ to build this target. For some compilers, this results in adding a
|
|||||||
flag such as ``-std=gnu++11`` to the compile line. For compilers that
|
flag such as ``-std=gnu++11`` to the compile line. For compilers that
|
||||||
have no notion of a standard level, such as MSVC, this has no effect.
|
have no notion of a standard level, such as MSVC, this has no effect.
|
||||||
|
|
||||||
Supported values are ``98``, ``11`` and ``14``.
|
Supported values are ``98``, ``11``, ``14``, and ``17``.
|
||||||
|
|
||||||
If the value requested does not result in a compile flag being added for
|
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
|
the compiler in use, a previous standard flag will be added instead. This
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
FRAMEWORK
|
FRAMEWORK
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Build ``SHARED`` library as Framework Bundle on the OS X and iOS.
|
Build ``SHARED`` or ``STATIC`` library as Framework Bundle on the OS X and iOS.
|
||||||
|
|
||||||
If a ``SHARED`` library target has this property set to ``TRUE`` it will be
|
If such a library target has this property set to ``TRUE`` it will be
|
||||||
built as a framework when built on the OS X and iOS. It will have the
|
built as a framework when built on the OS X and iOS. It will have the
|
||||||
directory structure required for a framework and will be suitable to
|
directory structure required for a framework and will be suitable to
|
||||||
be used with the ``-framework`` option
|
be used with the ``-framework`` option
|
||||||
|
23
Help/prop_tgt/IMPORTED_LIBNAME.rst
Normal file
23
Help/prop_tgt/IMPORTED_LIBNAME.rst
Normal file
@ -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).
|
7
Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
Normal file
7
Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
Normal file
@ -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.
|
13
Help/prop_tgt/LANG_CPPLINT.rst
Normal file
13
Help/prop_tgt/LANG_CPPLINT.rst
Normal file
@ -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.
|
8
Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
Normal file
8
Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
Normal file
@ -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.
|
||||||
|
6
Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
Normal file
6
Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
Normal file
@ -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.
|
7
Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
Normal file
7
Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
Normal 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``.
|
12
Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
Normal file
12
Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
Normal file
@ -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`
|
12
Help/prop_tgt/VS_USER_PROPS.rst
Normal file
12
Help/prop_tgt/VS_USER_PROPS.rst
Normal file
@ -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.
|
8
Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
Normal file
8
Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
Normal file
@ -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`.
|
8
Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
Normal file
8
Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
Normal file
@ -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`.
|
417
Help/release/3.8.rst
Normal file
417
Help/release/3.8.rst
Normal file
@ -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``.
|
@ -11,6 +11,7 @@ Releases
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
3.8 <3.8>
|
||||||
3.7 <3.7>
|
3.7 <3.7>
|
||||||
3.6 <3.6>
|
3.6 <3.6>
|
||||||
3.5 <3.5>
|
3.5 <3.5>
|
||||||
|
10
Help/variable/CMAKE_BUILD_RPATH.rst
Normal file
10
Help/variable/CMAKE_BUILD_RPATH.rst
Normal file
@ -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.
|
||||||
|
11
Help/variable/CMAKE_CUDA_EXTENSIONS.rst
Normal file
11
Help/variable/CMAKE_CUDA_EXTENSIONS.rst
Normal file
@ -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.
|
11
Help/variable/CMAKE_CUDA_STANDARD.rst
Normal file
11
Help/variable/CMAKE_CUDA_STANDARD.rst
Normal file
@ -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.
|
11
Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
Normal file
11
Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
Normal file
@ -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.
|
7
Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
Normal file
7
Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
Normal file
@ -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.
|
||||||
|
@ -23,6 +23,7 @@ include:
|
|||||||
Intel = Intel Compiler (intel.com)
|
Intel = Intel Compiler (intel.com)
|
||||||
MIPSpro = SGI MIPSpro (sgi.com)
|
MIPSpro = SGI MIPSpro (sgi.com)
|
||||||
MSVC = Microsoft Visual Studio (microsoft.com)
|
MSVC = Microsoft Visual Studio (microsoft.com)
|
||||||
|
NVIDIA = NVIDIA CUDA Compiler (nvidia.com)
|
||||||
OpenWatcom = Open Watcom (openwatcom.org)
|
OpenWatcom = Open Watcom (openwatcom.org)
|
||||||
PGI = The Portland Group (pgroup.com)
|
PGI = The Portland Group (pgroup.com)
|
||||||
PathScale = PathScale (pathscale.com)
|
PathScale = PathScale (pathscale.com)
|
||||||
|
6
Help/variable/CMAKE_LANG_CPPLINT.rst
Normal file
6
Help/variable/CMAKE_LANG_CPPLINT.rst
Normal file
@ -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``.
|
@ -17,6 +17,8 @@ warn by default:
|
|||||||
policy :policy:`CMP0065`.
|
policy :policy:`CMP0065`.
|
||||||
* ``CMAKE_POLICY_WARNING_CMP0066`` controls the warning for
|
* ``CMAKE_POLICY_WARNING_CMP0066`` controls the warning for
|
||||||
policy :policy:`CMP0066`.
|
policy :policy:`CMP0066`.
|
||||||
|
* ``CMAKE_POLICY_WARNING_CMP0067`` controls the warning for
|
||||||
|
policy :policy:`CMP0067`.
|
||||||
|
|
||||||
This variable should not be set by a project in CMake code. Project
|
This variable should not be set by a project in CMake code. Project
|
||||||
developers running CMake may set this variable in their cache to
|
developers running CMake may set this variable in their cache to
|
||||||
|
25
Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
Normal file
25
Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
Normal file
@ -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…
x
Reference in New Issue
Block a user