diff options
165 files changed, 1080 insertions, 475 deletions
diff --git a/.clang-format b/.clang-format index 4bfce44..8c015ef 100644 --- a/.clang-format +++ b/.clang-format @@ -32,16 +32,18 @@ IncludeCategories: Priority: 5 - Regex: '^(<|")Qt?[A-Z]' Priority: 6 - - Regex: '^(<|")cmsys/' + - Regex: '^<cmtp/' Priority: 7 - - Regex: '^(<|")cm_' + - Regex: '^(<|")cmsys/' Priority: 8 - - Regex: '^(<|")cm[A-Z][^.]+\.h' + - Regex: '^(<|")cm_' Priority: 9 + - Regex: '^(<|")cm[A-Z][^.]+\.h' + Priority: 10 - Regex: '^<[^.]+\.h' Priority: 4 - Regex: '^<' Priority: 1 - Regex: '.*' - Priority: 10 + Priority: 11 ... diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a91d20..0a55ca3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ - tags@cmake/cmake .fedora31: &fedora31 - image: "kitware/cmake:ci-fedora31-x86_64-2020-04-27" + image: "kitware/cmake:ci-fedora31-x86_64-2020-05-05" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/gitlab-kitware-cmake ci" @@ -29,6 +29,14 @@ CMAKE_CONFIGURATION: fedora31_tidy CTEST_NO_WARNINGS_ALLOWED: 1 +.fedora31_sphinx: &fedora31_sphinx + extends: .fedora31 + + variables: + CMAKE_CONFIGURATION: fedora31_sphinx + CTEST_NO_WARNINGS_ALLOWED: 1 + CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" + before_script: - .gitlab/ci/cmake.sh - .gitlab/ci/ninja.sh @@ -95,3 +103,23 @@ build:fedora31-tidy: - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake" - sccache --show-stats interruptible: true + +build:fedora31-sphinx: + <<: + - *fedora31_sphinx + stage: build + only: *only_settings + tags: + - build + - docker + - linux + - linux-3.17 # Needed to be able to load Fedora's Qt libraries. + + script: + - .gitlab/ci/sccache.sh + - sccache --start-server + - sccache --show-stats + - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake" + - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake" + - sccache --show-stats + interruptible: true diff --git a/.gitlab/ci/configure_fedora31_sphinx.cmake b/.gitlab/ci/configure_fedora31_sphinx.cmake new file mode 100644 index 0000000..dfc9b8c --- /dev/null +++ b/.gitlab/ci/configure_fedora31_sphinx.cmake @@ -0,0 +1,8 @@ +set(SPHINX_INFO ON CACHE BOOL "") +set(SPHINX_MAN ON CACHE BOOL "") +set(SPHINX_HTML ON CACHE BOOL "") +set(SPHINX_SINGLEHTML ON CACHE BOOL "") +set(SPHINX_QTHELP ON CACHE BOOL "") +set(SPHINX_TEXT ON CACHE BOOL "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/docker/fedora31/install_deps.sh b/.gitlab/ci/docker/fedora31/install_deps.sh index 978fdbd..7f8da57 100755 --- a/.gitlab/ci/docker/fedora31/install_deps.sh +++ b/.gitlab/ci/docker/fedora31/install_deps.sh @@ -5,9 +5,15 @@ dnf install -y \ openssl-devel # Install development tools. -dnf install -y \ +dnf install --setopt=install_weak_deps=False -y \ clang-tools-extra \ gcc-c++ \ git-core +# Install documentation tools. +dnf install --setopt=install_weak_deps=False -y \ + python3-sphinx \ + texinfo \ + qt5-qttools-devel + dnf clean all diff --git a/.gitlab/ci/gitlab_ci.cmake b/.gitlab/ci/gitlab_ci.cmake index 401cc40..b49f51d 100644 --- a/.gitlab/ci/gitlab_ci.cmake +++ b/.gitlab/ci/gitlab_ci.cmake @@ -5,6 +5,9 @@ endif () # Set up the source and build paths. set(CTEST_SOURCE_DIRECTORY "$ENV{CI_PROJECT_DIR}") +if (NOT "$ENV{CTEST_SOURCE_SUBDIRECTORY}" STREQUAL "") + string(APPEND CTEST_SOURCE_DIRECTORY "/$ENV{CTEST_SOURCE_SUBDIRECTORY}") +endif () set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build") if ("$ENV{CMAKE_CONFIGURATION}" STREQUAL "") diff --git a/CMakeLists.txt b/CMakeLists.txt index 32a483d..166b664 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -376,10 +376,13 @@ macro (CMAKE_BUILD_UTILITIES) include_directories(SYSTEM "${CMake_SOURCE_DIR}/Utilities/std") endif() - include_directories( - ${CMake_BINARY_DIR}/Utilities - ${CMake_SOURCE_DIR}/Utilities - ) + include_directories("${CMake_BINARY_DIR}/Utilities") + if ((CMAKE_SYSTEM_NAME STREQUAL "AIX" OR CMAKE_SYSTEM_NAME STREQUAL "OS400") AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # using -isystem option generate error "template with C linkage" + include_directories("${CMake_SOURCE_DIR}/Utilities") + else() + include_directories(SYSTEM "${CMake_SOURCE_DIR}/Utilities") + endif() #--------------------------------------------------------------------- # Build CMake std library for CMake and CTest. diff --git a/CTestConfig.cmake b/CTestConfig.cmake index 020582e..9ec9e8f 100644 --- a/CTestConfig.cmake +++ b/CTestConfig.cmake @@ -1,6 +1,8 @@ # Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. +# If changing this file, also update Utilities/Sphinx/CTestConfig.cmake + set(CTEST_PROJECT_NAME "CMake") set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC") diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in index c3f3b7c..622f054 100644 --- a/CTestCustom.cmake.in +++ b/CTestCustom.cmake.in @@ -80,7 +80,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "compilation completed with warnings" # PGI "[0-9]+ Warning\\(s\\) detected" # SunPro -# scanbuild exceptions + # scanbuild exceptions "char_traits.h:.*: warning: Null pointer argument in call to string length function" "stl_construct.h:.*: warning: Forming reference to null pointer" ".*stl_uninitialized.h:75:19: warning: Forming reference to null pointer.*" diff --git a/Help/dev/source.rst b/Help/dev/source.rst index 65a6adf..0ccb8f4 100644 --- a/Help/dev/source.rst +++ b/Help/dev/source.rst @@ -163,6 +163,18 @@ It is allowed to pass raw pointers between objects to enable objects sharing. A raw pointer **must** not be deleted. Only the object(s) owning the smart pointer are allowed to delete dynamically allocated memory. +Third Parties +============= + +To build CMake, some third parties are needed. Under ``Utilities`` +directory, are versions of these third parties which can be used as an +alternate to the ones provided by the system. + +To enable the selection of the third parties between the system and CMake ones, +in CMake sources, third parties headers must be prefixed by ``cm3p/`` +(for example: ``<cm3p/json/reader.h>``). These wrappers are located under +``Utilities/cm3p`` directory. + Source Tree Layout ================== @@ -208,6 +220,9 @@ The CMake source tree is organized as follows. * ``Utilities/std/cmext``: Extensions to the C++ STL. + * ``Utilities/cm3p``: + Public headers for third parties needed to build CMake. + * ``Utilities/Sphinx/``: Sphinx configuration to build CMake user documentation. diff --git a/Help/guide/user-interaction/index.rst b/Help/guide/user-interaction/index.rst index 3a1038f..c724b6f 100644 --- a/Help/guide/user-interaction/index.rst +++ b/Help/guide/user-interaction/index.rst @@ -86,6 +86,7 @@ populated. It is always advised to use different directories for the source and the build. .. image:: /guide/user-interaction/GUI-Source-Binary.png + :alt: Choosing source and binary directories Generating a Buildsystem ======================== @@ -246,16 +247,19 @@ The "Configure" button triggers a new dialog to select the CMake generator to use. .. image:: /guide/user-interaction/GUI-Configure-Dialog.png + :alt: Configuring a generator All generators available on the command line are also available in :manual:`cmake-gui(1)`. .. image:: /guide/user-interaction/GUI-Choose-Generator.png + :alt: Choosing a generator When choosing a Visual Studio generator, further options are available to set an architecture to generate for. .. image:: /manual/VS-Choose-Arch.png + :alt: Choosing an architecture for Visual Studio generators .. _`Setting Build Variables`: @@ -356,6 +360,7 @@ button. This triggers a new dialog to set the value of the variable. .. image:: /guide/user-interaction/GUI-Add-Entry.png + :alt: Editing a cache entry The main view of the :manual:`cmake-gui(1)` user interface can be used to edit existing variables. diff --git a/Help/prop_tgt/INSTALL_RPATH.rst b/Help/prop_tgt/INSTALL_RPATH.rst index 93b4488..4549b92 100644 --- a/Help/prop_tgt/INSTALL_RPATH.rst +++ b/Help/prop_tgt/INSTALL_RPATH.rst @@ -8,5 +8,9 @@ targets (for platforms that support it). This property is initialized by the value of the variable :variable:`CMAKE_INSTALL_RPATH` if it is set when a target is created. +Because the rpath may contain ``${ORIGIN}``, which coincides with CMake syntax, +the contents of ``INSTALL_RPATH`` are properly escaped in the +``cmake_install.cmake`` script (see policy :policy:`CMP0095`.) + This property supports :manual:`generator expressions <cmake-generator-expressions(7)>`. diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake index 6aeb74a..d8ca011 100644 --- a/Modules/FindPython/Support.cmake +++ b/Modules/FindPython/Support.cmake @@ -607,36 +607,46 @@ function (_PYTHON_VALIDATE_INTERPRETER) get_filename_component (python_name "${_${_PYTHON_PREFIX}_EXECUTABLE}" NAME) - if (expected_version AND NOT python_name STREQUAL "python${expected_version}${abi}${CMAKE_EXECUTABLE_SUFFIX}") - # executable found must have a specific version - execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c - "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))" - RESULT_VARIABLE result - OUTPUT_VARIABLE version - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - if (result) - # interpreter is not usable - set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"" PARENT_SCOPE) - set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND") - else() - if (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version) - # interpreter has wrong version - set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"" PARENT_SCOPE) + if (expected_version) + if (NOT python_name STREQUAL "python${expected_version}${abi}${CMAKE_EXECUTABLE_SUFFIX}") + # compute number of components for version + string (REGEX REPLACE "[^.]" "" dots "${expected_version}") + # add one dot because there is one dot less than there are components + string (LENGTH "${dots}." count) + if (count GREATER 3) + set (count 3) + endif() + + # executable found must have a specific version + execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c + "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:${count}]]))" + RESULT_VARIABLE result + OUTPUT_VARIABLE version + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + if (result) + # interpreter is not usable + set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"" PARENT_SCOPE) set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND") else() - # check that version is OK - string(REGEX REPLACE "^([0-9]+)\\..*$" "\\1" major_version "${version}") - string(REGEX REPLACE "^([0-9]+)\\.?.*$" "\\1" expected_major_version "${expected_version}") - if (NOT major_version VERSION_EQUAL expected_major_version - OR NOT version VERSION_GREATER_EQUAL expected_version) + if (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version) + # interpreter has wrong version set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"" PARENT_SCOPE) set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND") + else() + # check that version is OK + string(REGEX REPLACE "^([0-9]+)\\.?.*$" "\\1" major_version "${version}") + string(REGEX REPLACE "^([0-9]+)\\.?.*$" "\\1" expected_major_version "${expected_version}") + if (NOT major_version VERSION_EQUAL expected_major_version + OR NOT version VERSION_GREATER_EQUAL expected_version) + set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"" PARENT_SCOPE) + set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND") + endif() endif() endif() - endif() - if (NOT _${_PYTHON_PREFIX}_EXECUTABLE) - return() + if (NOT _${_PYTHON_PREFIX}_EXECUTABLE) + return() + endif() endif() else() if (NOT python_name STREQUAL "python${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}") @@ -713,7 +723,14 @@ function (_PYTHON_VALIDATE_COMPILER) # check only major version file (WRITE "${working_dir}/version.py" "import sys; sys.stdout.write(str(sys.version_info[0]))") else() - file (WRITE "${working_dir}/version.py" "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))\n") + # compute number of components for version + string (REGEX REPLACE "[^.]" "" dots "${expected_version}") + # add one dot because there is one dot less than there are components + string (LENGTH "${dots}." count) + if (count GREATER 3) + set (count 3) + endif() + file (WRITE "${working_dir}/version.py" "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:${count}]]))\n") endif() execute_process (COMMAND "${_${_PYTHON_PREFIX}_COMPILER}" /target:exe /embed "${working_dir}/version.py" WORKING_DIRECTORY "${working_dir}" @@ -772,7 +789,9 @@ function (_PYTHON_VALIDATE_LIBRARY) set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND") else() if (expected_version) - if ((_PVL_EXACT AND NOT lib_VERSION VERSION_EQUAL expected_version) OR (lib_VERSION VERSION_LESS expected_version)) + # library have only major.minor information + string (REGEX MATCH "[0-9](\\.[0-9]+)?" version "${expected_version}") + if ((_PVL_EXACT AND NOT lib_VERSION VERSION_EQUAL version) OR (lib_VERSION VERSION_LESS version)) # library has wrong version set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong version for the library \"${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}\"" PARENT_SCOPE) set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND") @@ -932,20 +951,20 @@ endif() set (_${_PYTHON_PREFIX}_FIND_DEVELOPMENT_ARTIFACTS ${_${_PYTHON_PREFIX}_FIND_DEVELOPMENT_MODULE_ARTIFACTS} ${_${_PYTHON_PREFIX}_FIND_DEVELOPMENT_EMBED_ARTIFACTS}) list (REMOVE_DUPLICATES _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_ARTIFACTS) -unset (_${_PYTHON_PREFIX}_FIND_VERSIONS) - # Set versions to search ## default: search any version set (_${_PYTHON_PREFIX}_FIND_VERSIONS ${_${_PYTHON_PREFIX}_VERSIONS}) +unset (_${_PYTHON_PREFIX}_FIND_VERSION_EXACT) -if (${_PYTHON_PREFIX}_FIND_VERSION_COUNT GREATER "1") +if (${_PYTHON_PREFIX}_FIND_VERSION_COUNT) if (${_PYTHON_PREFIX}_FIND_VERSION_EXACT) + set (_${_PYTHON_PREFIX}_FIND_VERSION_EXACT "EXACT") set (_${_PYTHON_PREFIX}_FIND_VERSIONS ${${_PYTHON_PREFIX}_FIND_VERSION_MAJOR}.${${_PYTHON_PREFIX}_FIND_VERSION_MINOR}) else() unset (_${_PYTHON_PREFIX}_FIND_VERSIONS) # add all compatible versions foreach (_${_PYTHON_PREFIX}_VERSION IN LISTS _${_PYTHON_PREFIX}_VERSIONS) - if (_${_PYTHON_PREFIX}_VERSION VERSION_GREATER_EQUAL ${_PYTHON_PREFIX}_FIND_VERSION) + if (_${_PYTHON_PREFIX}_VERSION VERSION_GREATER_EQUAL "${${_PYTHON_PREFIX}_FIND_VERSION_MAJOR}.${${_PYTHON_PREFIX}_FIND_VERSION_MINOR}") list (APPEND _${_PYTHON_PREFIX}_FIND_VERSIONS ${_${_PYTHON_PREFIX}_VERSION}) endif() endforeach() @@ -1152,14 +1171,15 @@ function (_PYTHON_CHECK_DEVELOPMENT_SIGNATURE module) endif() string (MD5 signature "${signature}") if (signature STREQUAL _${_PYTHON_PREFIX}_DEVELOPMENT_${id}_SIGNATURE) - if (${_PYTHON_PREFIX}_FIND_VERSION_EXACT) - set (exact EXACT) - endif() if ("LIBRARY" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_${id}_ARTIFACTS) - _python_validate_library (${${_PYTHON_PREFIX}_FIND_VERSION} ${exact} CHECK_EXISTS) + _python_validate_library (${${_PYTHON_PREFIX}_FIND_VERSION} + ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT} + CHECK_EXISTS) endif() if ("INCLUDE_DIR" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_${id}_ARTIFACTS) - _python_validate_include_dir (${${_PYTHON_PREFIX}_FIND_VERSION} ${exact} CHECK_EXISTS) + _python_validate_include_dir (${${_PYTHON_PREFIX}_FIND_VERSION} + ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT} + CHECK_EXISTS) endif() else() if ("LIBRARY" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_${id}_ARTIFACTS) @@ -1267,7 +1287,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1288,7 +1308,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1303,7 +1323,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) PATH_SUFFIXES ${_${_PYTHON_PREFIX}_PATH_SUFFIXES} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1317,7 +1337,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) PATH_SUFFIXES ${_${_PYTHON_PREFIX}_PATH_SUFFIXES} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1326,7 +1346,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) NAMES ${_${_PYTHON_PREFIX}_NAMES} NAMES_PER_DIR PATH_SUFFIXES ${_${_PYTHON_PREFIX}_PATH_SUFFIXES}) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1339,7 +1359,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) PATHS ${_${_PYTHON_PREFIX}_FRAMEWORK_PATHS} PATH_SUFFIXES ${_${_PYTHON_PREFIX}_PATH_SUFFIXES} NO_DEFAULT_PATH) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1352,7 +1372,7 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) PATHS ${_${_PYTHON_PREFIX}_REGISTRY_PATHS} PATH_SUFFIXES ${_${_PYTHON_PREFIX}_PATH_SUFFIXES} NO_DEFAULT_PATH) - _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_interpreter (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_EXECUTABLE) break() endif() @@ -1698,7 +1718,7 @@ if ("Compiler" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) PATH_SUFFIXES ${_${_PYTHON_PREFIX}_IRON_PYTHON_PATH_SUFFIXES} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - _python_validate_compiler (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_compiler (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_COMPILER) break() endif() @@ -1710,7 +1730,7 @@ if ("Compiler" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS) PATH_SUFFIXES ${_${_PYTHON_PREFIX}_IRON_PYTHON_PATH_SUFFIXES} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - _python_validate_compiler (${${_PYTHON_PREFIX}_FIND_VERSION}) + _python_validate_compiler (${${_PYTHON_PREFIX}_FIND_VERSION} ${_${_PYTHON_PREFIX}_FIND_VERSION_EXACT}) if (_${_PYTHON_PREFIX}_COMPILER) break() endif() @@ -2463,11 +2483,10 @@ if (("Development.Module" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS # retrieve version from header file _python_get_version (INCLUDE PREFIX _${_PYTHON_PREFIX}_INC_) - if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE AND - NOT _${_PYTHON_PREFIX}_VERSION EQUAL "${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR}") - # update versioning + if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE) if ("${_${_PYTHON_PREFIX}_INC_VERSION_MAJOR}.${_${_PYTHON_PREFIX}_INC_VERSION_MINOR}" VERSION_EQUAL _${_PYTHON_PREFIX}_VERSION) + # update versioning set (_${_PYTHON_PREFIX}_VERSION ${_${_PYTHON_PREFIX}_INC_VERSION}) set (_${_PYTHON_PREFIX}_VERSION_PATCH ${_${_PYTHON_PREFIX}_INC_VERSION_PATCH}) endif() diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index e980fc7..81ceb4b 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,7 +1,7 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 17) -set(CMake_VERSION_PATCH 20200507) +set(CMake_VERSION_PATCH 20200510) #set(CMake_VERSION_RC 0) set(CMake_VERSION_IS_DIRTY 0) diff --git a/Source/CPack/WiX/cmWIXPatchParser.cxx b/Source/CPack/WiX/cmWIXPatchParser.cxx index 5588d2d..8b26c4e 100644 --- a/Source/CPack/WiX/cmWIXPatchParser.cxx +++ b/Source/CPack/WiX/cmWIXPatchParser.cxx @@ -6,7 +6,7 @@ #include <cm/memory> -#include "cm_expat.h" +#include <cm3p/expat.h> #include "cmCPackGenerator.h" diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx index aaa5318..967cc60 100644 --- a/Source/CPack/cmCPackArchiveGenerator.cxx +++ b/Source/CPack/cmCPackArchiveGenerator.cxx @@ -8,7 +8,7 @@ #include <utility> #include <vector> -#include "cm_libarchive.h" +#include <cm3p/archive.h> #include "cmCPackComponentGroup.h" #include "cmCPackGenerator.h" diff --git a/Source/CPack/cmCPackExternalGenerator.cxx b/Source/CPack/cmCPackExternalGenerator.cxx index 142eb6f..11e1aec 100644 --- a/Source/CPack/cmCPackExternalGenerator.cxx +++ b/Source/CPack/cmCPackExternalGenerator.cxx @@ -8,10 +8,10 @@ #include <cm/memory> -#include "cmsys/FStream.hxx" +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" +#include "cmsys/FStream.hxx" #include "cmCPackComponentGroup.h" #include "cmCPackLog.h" diff --git a/Source/CTest/cmCTestBZR.cxx b/Source/CTest/cmCTestBZR.cxx index c87fb83b..c533cd7 100644 --- a/Source/CTest/cmCTestBZR.cxx +++ b/Source/CTest/cmCTestBZR.cxx @@ -10,9 +10,9 @@ #include <cmext/algorithm> -#include "cmsys/RegularExpression.hxx" +#include <cm3p/expat.h> -#include "cm_expat.h" +#include "cmsys/RegularExpression.hxx" #include "cmCTest.h" #include "cmCTestVC.h" diff --git a/Source/CTest/cmCTestCurl.h b/Source/CTest/cmCTestCurl.h index 9c5ba66..b0d7f07 100644 --- a/Source/CTest/cmCTestCurl.h +++ b/Source/CTest/cmCTestCurl.h @@ -8,7 +8,7 @@ #include <string> #include <vector> -#include "cm_curl.h" +#include <cm3p/curl/curl.h> class cmCTest; diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index b7251d9..a08cb34 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -21,13 +21,13 @@ #include <cm/memory> #include <cmext/algorithm> +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> +#include <cm3p/uv.h> + #include "cmsys/FStream.hxx" #include "cmsys/SystemInformation.hxx" -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" -#include "cm_uv.h" - #include "cmAffinity.h" #include "cmCTest.h" #include "cmCTestBinPacker.h" diff --git a/Source/CTest/cmCTestMultiProcessHandler.h b/Source/CTest/cmCTestMultiProcessHandler.h index 6e999f9..e21b912 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.h +++ b/Source/CTest/cmCTestMultiProcessHandler.h @@ -11,10 +11,9 @@ #include <string> #include <vector> +#include <cm3p/uv.h> #include <stddef.h> -#include "cm_uv.h" - #include "cmCTest.h" #include "cmCTestResourceAllocator.h" #include "cmCTestTestHandler.h" diff --git a/Source/CTest/cmCTestResourceSpec.cxx b/Source/CTest/cmCTestResourceSpec.cxx index 8f91efb..21c97de 100644 --- a/Source/CTest/cmCTestResourceSpec.cxx +++ b/Source/CTest/cmCTestResourceSpec.cxx @@ -7,12 +7,12 @@ #include <utility> #include <vector> +#include <cm3p/json/reader.h> +#include <cm3p/json/value.h> + #include "cmsys/FStream.hxx" #include "cmsys/RegularExpression.hxx" -#include "cm_jsoncpp_reader.h" -#include "cm_jsoncpp_value.h" - static const cmsys::RegularExpression IdentifierRegex{ "^[a-z_][a-z0-9_]*$" }; static const cmsys::RegularExpression IdRegex{ "^[a-z0-9_]+$" }; diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 811a7e8..2989025 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -9,9 +9,9 @@ #include <cmext/algorithm> -#include "cm_curl.h" -#include "cm_jsoncpp_reader.h" -#include "cm_jsoncpp_value.h" +#include <cm3p/curl/curl.h> +#include <cm3p/json/reader.h> +#include <cm3p/json/value.h> #include "cmAlgorithms.h" #include "cmCTest.h" diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx index 2742fd7..a549117 100644 --- a/Source/CTest/cmProcess.cxx +++ b/Source/CTest/cmProcess.cxx @@ -17,7 +17,7 @@ #include "cmGetPipes.h" #include "cmStringAlgorithms.h" #if defined(_WIN32) -# include "cm_kwiml.h" +# include <cm3p/kwiml/int.h> #endif #define CM_PROCESS_BUF_SIZE 65536 diff --git a/Source/CTest/cmProcess.h b/Source/CTest/cmProcess.h index 526c920..1e6578c 100644 --- a/Source/CTest/cmProcess.h +++ b/Source/CTest/cmProcess.h @@ -11,11 +11,10 @@ #include <utility> #include <vector> +#include <cm3p/uv.h> #include <stddef.h> #include <stdint.h> -#include "cm_uv.h" - #include "cmDuration.h" #include "cmProcessOutput.h" #include "cmUVHandlePtr.h" diff --git a/Source/cmAffinity.cxx b/Source/cmAffinity.cxx index 8f9fe2a..35443e7 100644 --- a/Source/cmAffinity.cxx +++ b/Source/cmAffinity.cxx @@ -2,7 +2,7 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmAffinity.h" -#include "cm_uv.h" +#include <cm3p/uv.h> #ifndef CMAKE_USE_SYSTEM_LIBUV # ifdef _WIN32 diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h index 8b0aa5e..c8e8dcb 100644 --- a/Source/cmAlgorithms.h +++ b/Source/cmAlgorithms.h @@ -15,8 +15,6 @@ #include <cmext/algorithm> -#include "cm_kwiml.h" - #include "cmRange.h" template <typename FwdIt> diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx index 0f9b42c..78bb6e0 100644 --- a/Source/cmArchiveWrite.cxx +++ b/Source/cmArchiveWrite.cxx @@ -7,12 +7,14 @@ #include <iostream> #include <sstream> +#include <cm3p/archive.h> +#include <cm3p/archive_entry.h> + #include "cmsys/Directory.hxx" #include "cmsys/Encoding.hxx" #include "cmsys/FStream.hxx" #include "cm_get_date.h" -#include "cm_libarchive.h" #include "cmLocale.h" #include "cmStringAlgorithms.h" diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 2a0ddba1..9b023d9 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -21,6 +21,9 @@ #include <cmext/algorithm> #include <cmext/string_view> +#include <cm3p/curl/curl.h> +#include <cm3p/zlib.h> + #include "cmsys/Base64.h" #include "cmsys/Directory.hxx" #include "cmsys/FStream.hxx" @@ -28,9 +31,6 @@ #include "cmsys/Process.h" #include "cmsys/RegularExpression.hxx" #include "cmsys/SystemInformation.hxx" - -#include "cm_curl.h" -#include "cm_zlib.h" #if defined(_WIN32) # include <windows.h> // IWYU pragma: keep #else diff --git a/Source/cmConnection.cxx b/Source/cmConnection.cxx index 884e314..e4d0cf1 100644 --- a/Source/cmConnection.cxx +++ b/Source/cmConnection.cxx @@ -5,7 +5,7 @@ #include <cassert> #include <cstring> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmServer.h" @@ -20,8 +20,13 @@ void cmEventBasedConnection::on_alloc_buffer(uv_handle_t* handle, uv_buf_t* buf) { (void)(handle); +#ifndef __clang_analyzer__ char* rawBuffer = new char[suggested_size]; *buf = uv_buf_init(rawBuffer, static_cast<unsigned int>(suggested_size)); +#else + (void)(suggested_size); + (void)(buf); +#endif /* __clang_analyzer__ */ } void cmEventBasedConnection::on_read(uv_stream_t* stream, ssize_t nread, @@ -76,6 +81,7 @@ void cmEventBasedConnection::WriteData(const std::string& _data) assert(uv_thread_equal(&curr_thread_id, &this->Server->ServeThreadId)); #endif +#ifndef __clang_analyzer__ auto data = _data; assert(this->WriteStream.get()); if (BufferStrategy) { @@ -90,6 +96,9 @@ void cmEventBasedConnection::WriteData(const std::string& _data) memcpy(req->buf.base, data.c_str(), ds); uv_write(reinterpret_cast<uv_write_t*>(req), this->WriteStream, &req->buf, 1, on_write); +#else + (void)(_data); +#endif /* __clang_analyzer__ */ } void cmEventBasedConnection::ReadData(const std::string& data) diff --git a/Source/cmConnection.h b/Source/cmConnection.h index 7bb2494..5335a7f 100644 --- a/Source/cmConnection.h +++ b/Source/cmConnection.h @@ -9,7 +9,7 @@ #include <memory> #include <string> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmUVHandlePtr.h" diff --git a/Source/cmCryptoHash.cxx b/Source/cmCryptoHash.cxx index dc7d939..b1e63ba 100644 --- a/Source/cmCryptoHash.cxx +++ b/Source/cmCryptoHash.cxx @@ -4,10 +4,10 @@ #include <cm/memory> -#include "cmsys/FStream.hxx" +#include <cm3p/kwiml/int.h> +#include <cm3p/rhash.h> -#include "cm_kwiml.h" -#include "cm_rhash.h" +#include "cmsys/FStream.hxx" static unsigned int const cmCryptoHashAlgoToId[] = { /* clang-format needs this comment to break after the opening brace */ diff --git a/Source/cmCurl.h b/Source/cmCurl.h index cb73ce6..7bd036e 100644 --- a/Source/cmCurl.h +++ b/Source/cmCurl.h @@ -7,7 +7,7 @@ #include <string> -#include "cm_curl.h" +#include <cm3p/curl/curl.h> std::string cmCurlSetCAInfo(::CURL* curl, const char* cafile = nullptr); std::string cmCurlSetNETRCOption(::CURL* curl, const std::string& netrc_level, diff --git a/Source/cmELF.cxx b/Source/cmELF.cxx index 202b205..a8d81f7 100644 --- a/Source/cmELF.cxx +++ b/Source/cmELF.cxx @@ -3,6 +3,7 @@ #include "cmELF.h" #include <cstddef> +#include <cstdint> #include <map> #include <memory> #include <sstream> @@ -12,14 +13,13 @@ #include <cm/memory> #include <cmext/algorithm> -#include "cmsys/FStream.hxx" +#include <cm3p/kwiml/abi.h> -#include "cm_kwiml.h" +#include "cmsys/FStream.hxx" // Include the ELF format information system header. #if defined(__OpenBSD__) # include <elf_abi.h> -# include <stdint.h> #elif defined(__HAIKU__) # include <elf32.h> # include <elf64.h> diff --git a/Source/cmExprParserHelper.h b/Source/cmExprParserHelper.h index eaf5dc7..717acdc 100644 --- a/Source/cmExprParserHelper.h +++ b/Source/cmExprParserHelper.h @@ -8,7 +8,7 @@ #include <string> #include <vector> -#include "cm_kwiml.h" +#include <cm3p/kwiml/int.h> class cmExprParserHelper { diff --git a/Source/cmFileAPI.h b/Source/cmFileAPI.h index e183e0d..ae07612 100644 --- a/Source/cmFileAPI.h +++ b/Source/cmFileAPI.h @@ -11,9 +11,9 @@ #include <unordered_set> #include <vector> -#include "cm_jsoncpp_reader.h" -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" +#include <cm3p/json/reader.h> +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> class cmake; diff --git a/Source/cmFileAPICMakeFiles.cxx b/Source/cmFileAPICMakeFiles.cxx index 44ba96c..1e4f3b6 100644 --- a/Source/cmFileAPICMakeFiles.cxx +++ b/Source/cmFileAPICMakeFiles.cxx @@ -6,7 +6,7 @@ #include <string> #include <vector> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> #include "cmFileAPI.h" #include "cmGlobalGenerator.h" diff --git a/Source/cmFileAPICMakeFiles.h b/Source/cmFileAPICMakeFiles.h index a851c32..1ae1e4f 100644 --- a/Source/cmFileAPICMakeFiles.h +++ b/Source/cmFileAPICMakeFiles.h @@ -5,7 +5,7 @@ #include "cmConfigure.h" // IWYU pragma: keep -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> class cmFileAPI; diff --git a/Source/cmFileAPICache.cxx b/Source/cmFileAPICache.cxx index 5d2ddf9..25e5916 100644 --- a/Source/cmFileAPICache.cxx +++ b/Source/cmFileAPICache.cxx @@ -7,7 +7,7 @@ #include <utility> #include <vector> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> #include "cmFileAPI.h" #include "cmState.h" diff --git a/Source/cmFileAPICache.h b/Source/cmFileAPICache.h index 09d9e1c..2f30c76 100644 --- a/Source/cmFileAPICache.h +++ b/Source/cmFileAPICache.h @@ -5,7 +5,7 @@ #include "cmConfigure.h" // IWYU pragma: keep -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> class cmFileAPI; diff --git a/Source/cmFileAPICodemodel.cxx b/Source/cmFileAPICodemodel.cxx index f34d7d5..b983b21 100644 --- a/Source/cmFileAPICodemodel.cxx +++ b/Source/cmFileAPICodemodel.cxx @@ -17,7 +17,7 @@ #include <cmext/algorithm> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> #include "cmCryptoHash.h" #include "cmFileAPI.h" diff --git a/Source/cmFileAPICodemodel.h b/Source/cmFileAPICodemodel.h index ffbd928..a6c6bdd 100644 --- a/Source/cmFileAPICodemodel.h +++ b/Source/cmFileAPICodemodel.h @@ -5,7 +5,7 @@ #include "cmConfigure.h" // IWYU pragma: keep -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> class cmFileAPI; diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 161bbe8..f3d49c3 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -19,11 +19,12 @@ #include <cmext/algorithm> #include <cmext/string_view> +#include <cm3p/kwiml/int.h> + #include "cmsys/FStream.hxx" #include "cmsys/Glob.hxx" #include "cmsys/RegularExpression.hxx" -#include "cm_kwiml.h" #include "cm_sys_stat.h" #include "cmAlgorithms.h" @@ -54,7 +55,7 @@ #include "cmake.h" #if !defined(CMAKE_BOOTSTRAP) -# include "cm_curl.h" +# include <cm3p/curl/curl.h> # include "cmCurl.h" # include "cmFileLockResult.h" diff --git a/Source/cmFileMonitor.h b/Source/cmFileMonitor.h index b510a2c..fc75b0c 100644 --- a/Source/cmFileMonitor.h +++ b/Source/cmFileMonitor.h @@ -9,7 +9,7 @@ #include <string> #include <vector> -#include "cm_uv.h" +#include <cm3p/uv.h> class cmRootWatcher; diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h index ae9ade7..7058a54 100644 --- a/Source/cmFindPackageCommand.h +++ b/Source/cmFindPackageCommand.h @@ -12,7 +12,7 @@ #include <string> #include <vector> -#include "cm_kwiml.h" +#include <cm3p/kwiml/int.h> #include "cmFindCommon.h" #include "cmPolicies.h" diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx index f76e205..9cee0e6 100644 --- a/Source/cmGeneratedFileStream.cxx +++ b/Source/cmGeneratedFileStream.cxx @@ -8,8 +8,9 @@ #include "cmSystemTools.h" #if !defined(CMAKE_BOOTSTRAP) +# include <cm3p/zlib.h> + # include "cm_codecvt.hxx" -# include "cm_zlib.h" #endif cmGeneratedFileStream::cmGeneratedFileStream(Encoding encoding) diff --git a/Source/cmGetPipes.cxx b/Source/cmGetPipes.cxx index 4eda1c5..a5b6469 100644 --- a/Source/cmGetPipes.cxx +++ b/Source/cmGetPipes.cxx @@ -2,10 +2,9 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmGetPipes.h" +#include <cm3p/uv.h> #include <fcntl.h> -#include "cm_uv.h" - #if defined(_WIN32) && !defined(__CYGWIN__) # include <io.h> diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index de6a649..6370ed2 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -52,8 +52,8 @@ #include "cmake.h" #if !defined(CMAKE_BOOTSTRAP) -# include "cm_jsoncpp_value.h" -# include "cm_jsoncpp_writer.h" +# include <cm3p/json/value.h> +# include <cm3p/json/writer.h> # include "cmCryptoHash.h" # include "cmQtAutoGenGlobalInitializer.h" diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index a76ab3c..dcd5a66 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -28,7 +28,7 @@ #include "cmTargetDepend.h" #if !defined(CMAKE_BOOTSTRAP) -# include "cm_jsoncpp_value.h" +# include <cm3p/json/value.h> # include "cmFileLockPool.h" #endif diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 8ef19cc..843b0f4 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -12,11 +12,11 @@ #include <cmext/algorithm> #include <cmext/memory> -#include "cmsys/FStream.hxx" +#include <cm3p/json/reader.h> +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> -#include "cm_jsoncpp_reader.h" -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" +#include "cmsys/FStream.hxx" #include "cmDocumentationEntry.h" #include "cmFortranParser.h" diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx index 5166de6..5dac072 100644 --- a/Source/cmGlobalVisualStudio10Generator.cxx +++ b/Source/cmGlobalVisualStudio10Generator.cxx @@ -6,12 +6,12 @@ #include <cm/memory> +#include <cm3p/json/reader.h> + #include "cmsys/FStream.hxx" #include "cmsys/Glob.hxx" #include "cmsys/RegularExpression.hxx" -#include "cm_jsoncpp_reader.h" - #include "cmAlgorithms.h" #include "cmDocumentationEntry.h" #include "cmGeneratorTarget.h" diff --git a/Source/cmJsonObjects.h b/Source/cmJsonObjects.h index 64291cc..2fd4b26 100644 --- a/Source/cmJsonObjects.h +++ b/Source/cmJsonObjects.h @@ -8,7 +8,7 @@ #include <string> #include <vector> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> class cmake; class cmGlobalGenerator; diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index b862449..9aca775 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -2732,9 +2732,11 @@ void cmLocalGenerator::AddPchDependencies(cmGeneratorTarget* target) std::string pchSourceObj = reuseTarget->GetPchFileObject(config, lang, arch); + const std::string configUpper = cmSystemTools::UpperCase(config); + // Link to the pch object file target->Target->AppendProperty( - "LINK_FLAGS", + cmStrCat("LINK_FLAGS_", configUpper), cmStrCat(" ", this->ConvertToOutputFormat(pchSourceObj, SHELL)), true); diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h index 1492304..9beae61 100644 --- a/Source/cmLocalGenerator.h +++ b/Source/cmLocalGenerator.h @@ -13,7 +13,7 @@ #include <unordered_map> #include <vector> -#include "cm_kwiml.h" +#include <cm3p/kwiml/int.h> #include "cmCustomCommandTypes.h" #include "cmListFileCache.h" diff --git a/Source/cmLocalVisualStudio10Generator.cxx b/Source/cmLocalVisualStudio10Generator.cxx index 02e2c6d..9076e26 100644 --- a/Source/cmLocalVisualStudio10Generator.cxx +++ b/Source/cmLocalVisualStudio10Generator.cxx @@ -4,7 +4,7 @@ #include <cmext/algorithm> -#include "cm_expat.h" +#include <cm3p/expat.h> #include "cmAlgorithms.h" #include "cmGeneratorTarget.h" diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index e18fac3..0b02724 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -7,10 +7,9 @@ #include <windows.h> +#include <cm3p/expat.h> #include <ctype.h> // for isspace -#include "cm_expat.h" - #include "cmComputeLinkInformation.h" #include "cmCustomCommand.h" #include "cmCustomCommandGenerator.h" diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 6c46353..58883b5 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -20,11 +20,12 @@ #include <cmext/algorithm> #include <cmext/string_view> +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> + #include "cmsys/FStream.hxx" #include "cmsys/RegularExpression.hxx" -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" #include "cm_sys_stat.h" #include "cmCommandArgumentParserHelper.h" diff --git a/Source/cmMakefileProfilingData.cxx b/Source/cmMakefileProfilingData.cxx index adf4eee..e0150dc 100644 --- a/Source/cmMakefileProfilingData.cxx +++ b/Source/cmMakefileProfilingData.cxx @@ -6,12 +6,12 @@ #include <stdexcept> #include <vector> +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> + #include "cmsys/FStream.hxx" #include "cmsys/SystemInformation.hxx" -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" - #include "cmListFileCache.h" #include "cmStringAlgorithms.h" #include "cmSystemTools.h" diff --git a/Source/cmMathCommand.cxx b/Source/cmMathCommand.cxx index f11b906..56221bf 100644 --- a/Source/cmMathCommand.cxx +++ b/Source/cmMathCommand.cxx @@ -4,7 +4,7 @@ #include <cstdio> -#include "cm_kwiml.h" +#include <cm3p/kwiml/int.h> #include "cmExecutionStatus.h" #include "cmExprParserHelper.h" diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index 0606484..efd2fd5 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -14,8 +14,8 @@ #include <cm/memory> #include <cmext/algorithm> -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> #include "cmComputeLinkInformation.h" #include "cmCustomCommandGenerator.h" diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h index 8678dc3..1ac5683 100644 --- a/Source/cmNinjaTargetGenerator.h +++ b/Source/cmNinjaTargetGenerator.h @@ -12,7 +12,7 @@ #include <utility> #include <vector> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> #include "cmCommonTargetGenerator.h" #include "cmGlobalNinjaGenerator.h" diff --git a/Source/cmPipeConnection.h b/Source/cmPipeConnection.h index 81f8a49..1215716 100644 --- a/Source/cmPipeConnection.h +++ b/Source/cmPipeConnection.h @@ -6,7 +6,7 @@ #include <string> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmConnection.h" #include "cmUVHandlePtr.h" diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index 235ee38..003a300 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -18,10 +18,10 @@ #include <cm/memory> #include <cmext/algorithm> -#include "cmsys/SystemInformation.hxx" +#include <cm3p/json/value.h> +#include <cm3p/json/writer.h> -#include "cm_jsoncpp_value.h" -#include "cm_jsoncpp_writer.h" +#include "cmsys/SystemInformation.hxx" #include "cmCustomCommand.h" #include "cmCustomCommandLines.h" diff --git a/Source/cmQtAutoGenerator.cxx b/Source/cmQtAutoGenerator.cxx index da96305..ee2bc09 100644 --- a/Source/cmQtAutoGenerator.cxx +++ b/Source/cmQtAutoGenerator.cxx @@ -2,9 +2,9 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmQtAutoGenerator.h" -#include "cmsys/FStream.hxx" +#include <cm3p/json/reader.h> -#include "cm_jsoncpp_reader.h" +#include "cmsys/FStream.hxx" #include "cmQtAutoGen.h" #include "cmStringAlgorithms.h" diff --git a/Source/cmQtAutoGenerator.h b/Source/cmQtAutoGenerator.h index bbe6dd0..83fb3ed 100644 --- a/Source/cmQtAutoGenerator.h +++ b/Source/cmQtAutoGenerator.h @@ -13,7 +13,7 @@ #include <cm/string_view> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> #include "cmFileTime.h" #include "cmQtAutoGen.h" diff --git a/Source/cmQtAutoMocUic.cxx b/Source/cmQtAutoMocUic.cxx index 36dd627..9adcabb 100644 --- a/Source/cmQtAutoMocUic.cxx +++ b/Source/cmQtAutoMocUic.cxx @@ -18,11 +18,11 @@ #include <cm/string_view> #include <cmext/algorithm> +#include <cm3p/json/value.h> + #include "cmsys/FStream.hxx" #include "cmsys/RegularExpression.hxx" -#include "cm_jsoncpp_value.h" - #include "cmCryptoHash.h" #include "cmFileTime.h" #include "cmGccDepfileReader.h" diff --git a/Source/cmServer.cxx b/Source/cmServer.cxx index 434fb68..7f97406 100644 --- a/Source/cmServer.cxx +++ b/Source/cmServer.cxx @@ -4,6 +4,7 @@ #include <algorithm> #include <cassert> +#include <csignal> #include <cstdint> #include <iostream> #include <mutex> @@ -12,10 +13,10 @@ #include <cm/memory> #include <cm/shared_mutex> -#include "cmsys/FStream.hxx" +#include <cm3p/json/reader.h> +#include <cm3p/json/writer.h> -#include "cm_jsoncpp_reader.h" -#include "cm_jsoncpp_writer.h" +#include "cmsys/FStream.hxx" #include "cmConnection.h" #include "cmFileMonitor.h" diff --git a/Source/cmServer.h b/Source/cmServer.h index ec40738..9543329 100644 --- a/Source/cmServer.h +++ b/Source/cmServer.h @@ -10,8 +10,8 @@ #include <cm/shared_mutex> -#include "cm_jsoncpp_value.h" -#include "cm_uv.h" +#include <cm3p/json/value.h> +#include <cm3p/uv.h> #include "cmUVHandlePtr.h" diff --git a/Source/cmServerConnection.cxx b/Source/cmServerConnection.cxx index 2791972..b4f41a0 100644 --- a/Source/cmServerConnection.cxx +++ b/Source/cmServerConnection.cxx @@ -4,7 +4,7 @@ #include "cmServerConnection.h" -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmServer.h" #include "cmServerDictionary.h" diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx index f6154eb..6b32de3 100644 --- a/Source/cmServerProtocol.cxx +++ b/Source/cmServerProtocol.cxx @@ -12,7 +12,7 @@ #include <cm/memory> #include <cmext/algorithm> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmExternalMakefileProjectGenerator.h" #include "cmFileMonitor.h" diff --git a/Source/cmServerProtocol.h b/Source/cmServerProtocol.h index 8446c3e..c71b7bf 100644 --- a/Source/cmServerProtocol.h +++ b/Source/cmServerProtocol.h @@ -8,7 +8,7 @@ #include <string> #include <utility> -#include "cm_jsoncpp_value.h" +#include <cm3p/json/value.h> #include "cmake.h" diff --git a/Source/cmStandardLexer.h b/Source/cmStandardLexer.h index 55d23c1..cc67ac2 100644 --- a/Source/cmStandardLexer.h +++ b/Source/cmStandardLexer.h @@ -63,7 +63,7 @@ #define YY_NO_UNPUT 1 #define ECHO -#include "cm_kwiml.h" +#include <cm3p/kwiml/int.h> typedef KWIML_INT_int8_t flex_int8_t; typedef KWIML_INT_uint8_t flex_uint8_t; typedef KWIML_INT_int16_t flex_int16_t; diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 23b099a..be799b0 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -14,7 +14,7 @@ #include <cmext/algorithm> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmDuration.h" #include "cmProcessOutput.h" @@ -22,7 +22,8 @@ #include "cmStringAlgorithms.h" #if !defined(CMAKE_BOOTSTRAP) -# include "cm_libarchive.h" +# include <cm3p/archive.h> +# include <cm3p/archive_entry.h> # include "cmArchiveWrite.h" # include "cmLocale.h" diff --git a/Source/cmUVHandlePtr.cxx b/Source/cmUVHandlePtr.cxx index 23dabb7..df2f64e 100644 --- a/Source/cmUVHandlePtr.cxx +++ b/Source/cmUVHandlePtr.cxx @@ -7,7 +7,7 @@ #include <cstdlib> #include <mutex> -#include "cm_uv.h" +#include <cm3p/uv.h> namespace cm { diff --git a/Source/cmUVHandlePtr.h b/Source/cmUVHandlePtr.h index 3083b60..d9de7f3 100644 --- a/Source/cmUVHandlePtr.h +++ b/Source/cmUVHandlePtr.h @@ -8,7 +8,7 @@ #include <memory> #include <type_traits> -#include "cm_uv.h" +#include <cm3p/uv.h> #if defined(__SUNPRO_CC) diff --git a/Source/cmUVProcessChain.cxx b/Source/cmUVProcessChain.cxx index 543c330..6040fd8 100644 --- a/Source/cmUVProcessChain.cxx +++ b/Source/cmUVProcessChain.cxx @@ -9,7 +9,7 @@ #include <cm/memory> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmGetPipes.h" #include "cmUVHandlePtr.h" diff --git a/Source/cmUVProcessChain.h b/Source/cmUVProcessChain.h index cd7397e..b5ccb19 100644 --- a/Source/cmUVProcessChain.h +++ b/Source/cmUVProcessChain.h @@ -11,7 +11,7 @@ #include <string> #include <vector> -#include "cm_uv.h" +#include <cm3p/uv.h> class cmUVProcessChain; diff --git a/Source/cmUVSignalHackRAII.h b/Source/cmUVSignalHackRAII.h index 63599db..60e4ca8 100644 --- a/Source/cmUVSignalHackRAII.h +++ b/Source/cmUVSignalHackRAII.h @@ -3,7 +3,7 @@ #pragma once #include "cmConfigure.h" // IWYU pragma: keep -#include "cm_uv.h" +#include <cm3p/uv.h> #if defined(CMAKE_USE_SYSTEM_LIBUV) && !defined(_WIN32) && \ UV_VERSION_MAJOR == 1 && UV_VERSION_MINOR < 19 diff --git a/Source/cmUVStreambuf.h b/Source/cmUVStreambuf.h index 1c8a771..50faede 100644 --- a/Source/cmUVStreambuf.h +++ b/Source/cmUVStreambuf.h @@ -8,7 +8,7 @@ #include <streambuf> #include <vector> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmUVHandlePtr.h" diff --git a/Source/cmVSSetupHelper.h b/Source/cmVSSetupHelper.h index 0980cef..a2fd3d5 100644 --- a/Source/cmVSSetupHelper.h +++ b/Source/cmVSSetupHelper.h @@ -8,13 +8,12 @@ #endif // Published by Visual Studio Setup team +#include <cm3p/Setup.Configuration.h> #include <string> #include <vector> #include <windows.h> -#include "cmvssetup/Setup.Configuration.h" - template <class T> class SmartCOMPtr { diff --git a/Source/cmVersion.h b/Source/cmVersion.h index bfd994d..932ef04 100644 --- a/Source/cmVersion.h +++ b/Source/cmVersion.h @@ -3,7 +3,7 @@ #ifndef cmVersion_h #define cmVersion_h -#include "cm_kwiml.h" +#include <cm3p/kwiml/int.h> /** \class cmVersion * \brief Helper class for providing CMake and CTest version information. diff --git a/Source/cmWorkerPool.cxx b/Source/cmWorkerPool.cxx index aa0d6b3..9fec936 100644 --- a/Source/cmWorkerPool.cxx +++ b/Source/cmWorkerPool.cxx @@ -13,7 +13,7 @@ #include <cm/memory> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmRange.h" #include "cmStringAlgorithms.h" diff --git a/Source/cmXMLParser.cxx b/Source/cmXMLParser.cxx index ad5c4ba..24da8c6 100644 --- a/Source/cmXMLParser.cxx +++ b/Source/cmXMLParser.cxx @@ -7,9 +7,9 @@ #include <iostream> #include <sstream> -#include "cmsys/FStream.hxx" +#include <cm3p/expat.h> -#include "cm_expat.h" +#include "cmsys/FStream.hxx" cmXMLParser::cmXMLParser() { diff --git a/Source/cmake.cxx b/Source/cmake.cxx index b451d27..65d5f10 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -57,7 +57,7 @@ #if !defined(CMAKE_BOOTSTRAP) # include <unordered_map> -# include "cm_jsoncpp_writer.h" +# include <cm3p/json/writer.h> # include "cmFileAPI.h" # include "cmGraphVizWriter.h" diff --git a/Source/cmake.h b/Source/cmake.h index cfcd264..cd152cb 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -27,7 +27,7 @@ #include "cmStateTypes.h" #if !defined(CMAKE_BOOTSTRAP) -# include "cm_jsoncpp_value.h" +# include <cm3p/json/value.h> #endif class cmExternalMakefileProjectGeneratorFactory; diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 2828116..b12990b 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -1,6 +1,8 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ +#include "cmConfigure.h" // IWYU pragma: keep + #include <cassert> #include <cctype> #include <climits> @@ -11,6 +13,8 @@ #include <cmext/algorithm> +#include <cm3p/uv.h> + #include "cmDocumentationEntry.h" // IWYU pragma: keep #include "cmGlobalGenerator.h" #include "cmMakefile.h" @@ -27,8 +31,6 @@ #endif #include "cmsys/Encoding.hxx" - -#include "cm_uv.h" #if defined(_WIN32) && !defined(CMAKE_BOOTSTRAP) # include "cmsys/ConsoleBuf.hxx" #endif diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx index a8e07e4..de76d73 100644 --- a/Source/cmcmd.cxx +++ b/Source/cmcmd.cxx @@ -4,10 +4,9 @@ #include <cmext/algorithm> +#include <cm3p/uv.h> #include <fcntl.h> -#include "cm_uv.h" - #include "cmDuration.h" #include "cmGlobalGenerator.h" #include "cmLocalGenerator.h" diff --git a/Tests/CMakeLib/testUVProcessChain.cxx b/Tests/CMakeLib/testUVProcessChain.cxx index 71a1764..61a77cf 100644 --- a/Tests/CMakeLib/testUVProcessChain.cxx +++ b/Tests/CMakeLib/testUVProcessChain.cxx @@ -8,7 +8,7 @@ #include <cm/memory> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmGetPipes.h" #include "cmUVHandlePtr.h" diff --git a/Tests/CMakeLib/testUVRAII.cxx b/Tests/CMakeLib/testUVRAII.cxx index cb05ace..0607f44 100644 --- a/Tests/CMakeLib/testUVRAII.cxx +++ b/Tests/CMakeLib/testUVRAII.cxx @@ -3,7 +3,7 @@ #include <thread> #include <utility> -#include "cm_uv.h" +#include <cm3p/uv.h> #include "cmUVHandlePtr.h" diff --git a/Tests/CMakeLib/testUVStreambuf.cxx b/Tests/CMakeLib/testUVStreambuf.cxx index cd9c9d4..b86ed76 100644 --- a/Tests/CMakeLib/testUVStreambuf.cxx +++ b/Tests/CMakeLib/testUVStreambuf.cxx @@ -3,10 +3,9 @@ #include <string> #include <vector> +#include <cm3p/uv.h> #include <stdint.h> -#include "cm_uv.h" - #include "cmGetPipes.h" #include "cmUVHandlePtr.h" #include "cmUVStreambuf.h" diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 32e6582..0c8a639 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -790,13 +790,8 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH endif() endmacro() if(CMake_BUILD_NIGHTLY_RELEASES) - ADD_NIGHTLY_BUILD_TEST(CMakeNightlyWin32 - win32_release.cmake) - ADD_NIGHTLY_BUILD_TEST(CMakeNightlyWin64 - win64_release.cmake) ADD_NIGHTLY_BUILD_TEST(CMakeNightlyOSX osx_release.cmake) - set_property(TEST CMakeNightlyWin64 PROPERTY DEPENDS CMakeNightlyWin32) endif() # add tests with more complex invocations diff --git a/Tests/CPackWiXGenerator/myotherapp.cpp b/Tests/CPackWiXGenerator/myotherapp.cpp index 0eefc1c..5047a34 100644 --- a/Tests/CPackWiXGenerator/myotherapp.cpp +++ b/Tests/CPackWiXGenerator/myotherapp.cpp @@ -1,3 +1,3 @@ int main() { -}
\ No newline at end of file +} diff --git a/Tests/FindPython/CMakeLists.txt b/Tests/FindPython/CMakeLists.txt index 2cec030..fdfa36e 100644 --- a/Tests/FindPython/CMakeLists.txt +++ b/Tests/FindPython/CMakeLists.txt @@ -150,6 +150,99 @@ if(CMake_TEST_FindPython) --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> ) + add_test(NAME FindPython.Python2.ExactVersion.LOCATION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python2.ExactVersion.LOCATION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_MAJOR_VERSION=2 + -DPython_REQUESTED_VERSION=2.1.2 + -DPython2_FIND_STRATEGY=LOCATION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python2.ExactVersion.VERSION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python2.ExactVersion.VERSION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_MAJOR_VERSION=2 + -DPython_REQUESTED_VERSION=2.1.2 + -DPython2_FIND_STRATEGY=VERSION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python3.ExactVersion.LOCATION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python3.ExactVersion.LOCATION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_MAJOR_VERSION=3 + -DPython_REQUESTED_VERSION=3.1.2 + -DPython3_FIND_STRATEGY=LOCATION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python3.ExactVersion.VERSION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python3.ExactVersion.VERSION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_MAJOR_VERSION=3 + -DPython_REQUESTED_VERSION=3.1.2 + -DPython3_FIND_STRATEGY=VERSION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python.V2.ExactVersion.LOCATION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python.V2.ExactVersion.LOCATION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_REQUESTED_VERSION=2.1.2 + -DPython_FIND_STRATEGY=LOCATION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python.V2.ExactVersion.VERSION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python.V2.ExactVersion.VERSION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_REQUESTED_VERSION=2.1.2 + -DPython_FIND_STRATEGY=VERSION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python.V3.ExactVersion.LOCATION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python.V3.ExactVersion.LOCATION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_REQUESTED_VERSION=3.1.2 + -DPython_FIND_STRATEGY=LOCATION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python.V3.ExactVersion.VERSION COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion" + "${CMake_BINARY_DIR}/Tests/FindPython/Python.V3.ExactVersion.VERSION" + ${build_generator_args} + --build-project TestExactVersion + --build-options ${build_options} -DPython_REQUESTED_VERSION=3.1.2 + -DPython_FIND_STRATEGY=VERSION + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.MultiplePackages COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> --build-and-test diff --git a/Tests/FindPython/ExactVersion/CMakeLists.txt b/Tests/FindPython/ExactVersion/CMakeLists.txt new file mode 100644 index 0000000..e09f73a --- /dev/null +++ b/Tests/FindPython/ExactVersion/CMakeLists.txt @@ -0,0 +1,56 @@ +cmake_minimum_required(VERSION 3.1) + +project(TestExactVersion C) + +find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} COMPONENTS Interpreter Development) +if (NOT Python${Python_MAJOR_VERSION}_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}") +endif() +if (NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Interpreter") +endif() +if (NOT Python${Python_MAJOR_VERSION}_Development_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Development") +endif() + +if(NOT TARGET Python${Python_MAJOR_VERSION}::Interpreter) + message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Interpreter not found") +endif() + +if(NOT TARGET Python${Python_MAJOR_VERSION}::Python) + message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Python not found") +endif() +if(NOT TARGET Python${Python_MAJOR_VERSION}::Module) + message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Module not found") +endif() + + +# reset artifacts and second search with exact version already founded +unset (Python${Python_MAJOR_VERSION}_EXECUTABLE) +unset (_Python${Python_MAJOR_VERSION}_EXECUTABLE CACHE) + +unset (_Python${Python_MAJOR_VERSION}_LIBRARY_RELEASE CACHE) +unset (_Python${Python_MAJOR_VERSION}_INCLUDE_DIR CACHE) + +set (Python_REQUESTED_VERSION ${Python${Python_MAJOR_VERSION}_VERSION}) +find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} EXACT COMPONENTS Interpreter Development) +if (NOT Python${Python_MAJOR_VERSION}_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}") +endif() +if (NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Interpreter") +endif() +if (NOT Python${Python_MAJOR_VERSION}_Development_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Development") +endif() + +if(NOT TARGET Python${Python_MAJOR_VERSION}::Interpreter) + message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Interpreter not found") +endif() + +if(NOT TARGET Python${Python_MAJOR_VERSION}::Python) + message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Python not found") +endif() +if(NOT TARGET Python${Python_MAJOR_VERSION}::Module) + message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Module not found") +endif() diff --git a/Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h b/Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h Binary files differindex bf56ec6..2d39178 100644 --- a/Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h +++ b/Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h diff --git a/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.cpp b/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.cpp index 154e268..0c37370 100644 --- a/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.cpp +++ b/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.cpp @@ -1 +1 @@ -#include "MyForm.h"
\ No newline at end of file +#include "MyForm.h" diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp index 87e8bad..66cb282 100644 --- a/Utilities/IWYU/mapping.imp +++ b/Utilities/IWYU/mapping.imp @@ -97,54 +97,15 @@ { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<60, 1> > >::type", private, "\"cmConfigure.h\"", public ] }, { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<1, 1000> > >::type", private, "\"cmConfigure.h\"", public ] }, - # KWIML - { include: [ "<stdint.h>", public, "\"cm_kwiml.h\"", public ] }, - { include: [ "<inttypes.h>", public, "\"cm_kwiml.h\"", public ] }, - - # Self-sufficient wrapper for <sys/stat.h> - { symbol: [ "mode_t", private, "\"cm_sys_stat.h\"", public ] }, - - # Wrappers for 3rd-party libraries used from the system. - { include: [ "<archive.h>", private, "\"cm_libarchive.h\"", public ] }, - { include: [ "<archive_entry.h>", private, "\"cm_libarchive.h\"", public ] }, - { include: [ "@<curl/.+\\.h>", private, "\"cm_curl.h\"", public ] }, - { include: [ "<expat.h>", private, "\"cm_expat.h\"", public ] }, - { include: [ "<expat_external.h>", private, "\"cm_expat.h\"", public ] }, - { include: [ "<json/reader.h>", private, "\"cm_jsoncpp_reader.h\"", public ] }, - { include: [ "<json/value.h>", private, "\"cm_jsoncpp_value.h\"", public ] }, - { include: [ "<json/writer.h>", private, "\"cm_jsoncpp_writer.h\"", public ] }, - { include: [ "<rhash.h>", private, "\"cm_rhash.h\"", public ] }, - { include: [ "<uv.h>", private, "\"cm_uv.h\"", public ] }, - { include: [ "@<uv[/-].+\\.h>", private, "\"cm_uv.h\"", public ] }, - { include: [ "<kwiml/abi.h>", private, "\"cm_kwiml.h\"", public ] }, - { include: [ "<kwiml/int.h>", private, "\"cm_kwiml.h\"", public ] }, - { include: [ "<zconf.h>", private, "\"cm_zlib.h\"", public ] }, - { include: [ "<zlib.h>", private, "\"cm_zlib.h\"", public ] }, - - # Wrappers for bundled 3rd-party libraries. - { include: [ "\"cmlibarchive/libarchive/archive.h\"", private, "\"cm_libarchive.h\"", public ] }, - { include: [ "\"cmlibarchive/libarchive/archive_entry.h\"", private, "\"cm_libarchive.h\"", public ] }, - { include: [ "@\"cmcurl/include/curl/.+\\.h\"", private, "\"cm_curl.h\"", public ] }, - { include: [ "\"cmexpat/lib/expat.h\"", private, "\"cm_expat.h\"", public ] }, - { include: [ "\"cmexpat/lib/expat_external.h\"", private, "\"cm_expat.h\"", public ] }, - { include: [ "\"cmjsoncpp/include/json/reader.h\"", private, "\"cm_jsoncpp_reader.h\"", public ] }, - { include: [ "\"cmjsoncpp/include/json/value.h\"", private, "\"cm_jsoncpp_value.h\"", public ] }, - { include: [ "\"cmjsoncpp/include/json/writer.h\"", private, "\"cm_jsoncpp_writer.h\"", public ] }, - { include: [ "\"cmlibrhash/librhash/rhash.h\"", private, "\"cm_rhash.h\"", public ] }, - { include: [ "\"cmlibuv/include/uv.h\"", private, "\"cm_uv.h\"", public ] }, - { include: [ "@\"cmlibuv/include/uv/.+\\.h\"", private, "\"cm_uv.h\"", public ] }, - { include: [ "\"KWIML/include/kwiml/abi.h\"", private, "\"cm_kwiml.h\"", public ] }, - { include: [ "\"KWIML/include/kwiml/int.h\"", private, "\"cm_kwiml.h\"", public ] }, - { include: [ "\"cmzlib/cm_zlib_mangle.h\"", private, "\"cm_zlib.h\"", public ] }, - { include: [ "\"cmzlib/zconf.h\"", private, "\"cm_zlib.h\"", public ] }, - { include: [ "\"cmzlib/zlib.h\"", private, "\"cm_zlib.h\"", public ] }, - - # System symbols used by libuv - { symbol: [ "SIGHUP", private, "\"cm_uv.h\"", public ] }, - { symbol: [ "SIGINT", private, "\"cm_uv.h\"", public ] }, - { symbol: [ "ssize_t", private, "\"cm_uv.h\"", public ] }, - - { symbol: [ "Json::ArrayIndex", private, "\"cm_jsoncpp_value.h\"", public ] }, + # Wrappers for 3rd-party libraries + { include: [ "@<.*curl/curlver.h>", private, "<cm3p/curl/curl.h>", public ] }, + { include: [ "@<.*json/forwards.h>", private, "<cm3p/json/value.h>", public ] }, + { include: [ "@<.*uv/.+\\.h>", private, "<cm3p/uv.h>", public ] }, + { include: [ "@<.*expat_external.h>", private, "<cm3p/expat.h>", public ] }, + { include: [ "@<.*zconf.h>", private, "<cm3p/zlib.h>", public ] }, + { include: [ "@<.*cm_zlib_mangle.h>", private, "<cm3p/zlib.h>", public ] }, + # # System symbols used by libuv + { symbol: [ "ssize_t", private, "<cm3p/uv.h>", public ] }, { symbol: [ "std::ifstream", private, "\"cmsys/FStream.hxx\"", public ] }, { symbol: [ "std::ofstream", private, "\"cmsys/FStream.hxx\"", public ] }, @@ -156,8 +117,6 @@ { include: [ "<fstream>", public, "\"cmsys/FStream.hxx\"", public ] }, # major and minor are used as macro arguments. Those are false matches. - { symbol: [ "major", private, "\"cm_kwiml.h\"", public ] }, - { symbol: [ "minor", private, "\"cm_kwiml.h\"", public ] }, { symbol: [ "major", private, "\"cmVersion.h\"", public ] }, { symbol: [ "minor", private, "\"cmVersion.h\"", public ] }, diff --git a/Utilities/Release/.gitattributes b/Utilities/Release/.gitattributes new file mode 100644 index 0000000..24e115f --- /dev/null +++ b/Utilities/Release/.gitattributes @@ -0,0 +1 @@ +*.patch -whitespace diff --git a/Utilities/Release/README.rst b/Utilities/Release/README.rst index de294d1..9993afa 100644 --- a/Utilities/Release/README.rst +++ b/Utilities/Release/README.rst @@ -9,49 +9,57 @@ on ``cmake.org``. See also the `CMake Source Code Guide`_. Docker ------ -The ``linux/<arch>/`` directories contain Docker specifications that anyone -may use to produce Linux binaries for CMake: +The ``<os>/<arch>/`` directories contain Docker specifications that anyone +may use to produce binaries for CMake on the following platforms: -* ``linux/<arch>/base/Dockerfile``: +* ``linux/x86_64/``: Linux on ``x86_64`` architectures. +* ``win/x86/``: Windows on ``x86_64`` and ``i386`` architectures. + +Each ``<os>/<arch>/`` directory contains the following: + +* ``<os>/<arch>/base/Dockerfile``: Produces a base image with a build environment for portable CMake binaries. This image is published in the `kitware/cmake Docker Hub Repository`_ - with tag ``build-linux-<arch>-base-<date>``. + with tag ``build-<os>-<arch>-base-<date>``. -* ``linux/<arch>/deps/Dockerfile``: +* ``<os>/<arch>/deps/Dockerfile``: Produces an image with custom-built dependencies for portable CMake binaries. This image is published in the `kitware/cmake Docker Hub Repository`_ - with tag ``build-linux-<arch>-deps-<date>``. + with tag ``build-<os>-<arch>-deps-<date>``. -* ``linux/<arch>/Dockerfile``: - Produce an image containing a portable CMake binary package for Linux. +* ``<os>/<arch>/Dockerfile``: + Produce an image containing a portable CMake binary package. Build this image using the CMake source directory as the build context. - The resulting image will have an ``/out`` directory containing the package. - For example: + The resulting image will have an ``/out`` (or ``c:/out``) directory + containing the package. For example, on Linux ``x86_64``: .. code-block:: console $ docker build --tag=cmake:build --network none \ - -f cmake-src/Utilities/Release/linux/$arch/Dockerfile cmake-src + -f cmake-src/Utilities/Release/linux/x86_64/Dockerfile cmake-src $ docker container create --name cmake-build cmake:build $ docker cp cmake-build:/out . - $ ls out/cmake-*-Linux-$arch.* + $ ls out/cmake-*-Linux-x86_64.* -* ``linux/<arch>/test/Dockerfile``: + On Windows, the ``win/x86`` specifications support both the ``x86_64`` + and ``i386`` architectures selected via ``--build-arg ARCH=...``. + +* ``<os>/<arch>/test/Dockerfile``: Produces a base image with a test environment for packaged CMake binaries. - For example, build the test base image: + For example, on Linux ``x86_64``, one may build the test base image: .. code-block:: console $ docker build --tag=cmake:test-base \ - cmake-src/Utilities/Release/linux/$arch/test + cmake-src/Utilities/Release/linux/x86_64/test Then create a local ``test/Dockerfile`` to prepare an image with both the CMake source tree and the above-built package:: FROM cmake:test-base COPY cmake-src /opt/cmake/src/cmake - ADD out/cmake-<ver>-Linux-<arch>.tar.gz /opt/ - ENV PATH=/opt/cmake-<ver>-Linux-<arch>/bin:$PATH + ADD out/cmake-<ver>-Linux-x86_64.tar.gz /opt/ + ENV PATH=/opt/cmake-<ver>-Linux-x86_64/bin:$PATH Build the test image and run it to drive testing: @@ -61,6 +69,10 @@ may use to produce Linux binaries for CMake: $ docker run --network none cmake:test bash test-make.bash $ docker run --network none cmake:test bash test-ninja.bash + On Windows, the test scripts are called ``test-nmake.bat`` and + ``test-ninja.bat``. In the ``x86`` architecture they accept one + argument specifying either ``x86_64`` or ``i386``. + .. _`kitware/cmake Docker Hub Repository`: https://hub.docker.com/r/kitware/cmake Scripts for Kitware diff --git a/Utilities/Release/create-cmake-release.cmake b/Utilities/Release/create-cmake-release.cmake index 17a2151..88ac826 100644 --- a/Utilities/Release/create-cmake-release.cmake +++ b/Utilities/Release/create-cmake-release.cmake @@ -46,13 +46,9 @@ endfunction() write_docs_shell_script("create-${CMAKE_CREATE_VERSION}-docs.sh") write_rel_shell_script("create-${CMAKE_CREATE_VERSION}-macos.sh" osx_release ) # macOS x86_64 -write_rel_shell_script("create-${CMAKE_CREATE_VERSION}-win64.sh" win64_release ) # Windows x64 -write_rel_shell_script("create-${CMAKE_CREATE_VERSION}-win32.sh" win32_release ) # Windows x86 message("Build docs first and then build for each platform: ./create-${CMAKE_CREATE_VERSION}-docs.sh && ./create-${CMAKE_CREATE_VERSION}-macos.sh && - ./create-${CMAKE_CREATE_VERSION}-win64.sh && - ./create-${CMAKE_CREATE_VERSION}-win32.sh && echo done ") diff --git a/Utilities/Release/linux/x86_64/test/cache-ninja.txt b/Utilities/Release/linux/x86_64/test/cache-ninja.txt deleted file mode 100644 index b00370e..0000000 --- a/Utilities/Release/linux/x86_64/test/cache-ninja.txt +++ /dev/null @@ -1,4 +0,0 @@ -CMAKE_Fortran_COMPILER:STRING= -CMake_TEST_IPO_WORKS_C:BOOL=ON -CMake_TEST_IPO_WORKS_CXX:BOOL=ON -CMake_TEST_Qt5:BOOL=ON diff --git a/Utilities/Release/win/x86/Dockerfile b/Utilities/Release/win/x86/Dockerfile new file mode 100644 index 0000000..a4f7445 --- /dev/null +++ b/Utilities/Release/win/x86/Dockerfile @@ -0,0 +1,23 @@ +# escape=` + +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# Produce an image containing a portable CMake binary package for Windows. +# Build using the CMake source directory as the build context. +# The resulting image will have a 'c:\out' directory containing the package. + +ARG FROM_IMAGE_NAME=kitware/cmake:build-win-x86-deps-2020-04-27 +ARG FROM_IMAGE_DIGEST=@sha256:04e229c0c0ba2247855d0e8c0fb87c1686f983adbafa4ce413e61b3905edb76b +ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST + +FROM $FROM_IMAGE as build +COPY . C:\cmake\src\cmake +ARG ARCH="x86_64" +ARG TEST="true" +RUN \cmake\src\cmake\Utilities\Release\win\x86\build.bat %ARCH% %TEST% + +# Package in a separate stage so the builder can optionally skip it. +FROM build as pack +ARG PACK="ZIP WIX" +RUN \cmake\src\cmake\Utilities\Release\win\x86\pack.bat %PACK% diff --git a/Utilities/Release/win/x86/base/Dockerfile b/Utilities/Release/win/x86/base/Dockerfile new file mode 100644 index 0000000..c2c00f8 --- /dev/null +++ b/Utilities/Release/win/x86/base/Dockerfile @@ -0,0 +1,30 @@ +# escape=` + +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# Produce a base image with a build environment for portable CMake binaries. +# Build using the directory containing this file as its own build context. + +ARG FROM_IMAGE_NAME=mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 +ARG FROM_IMAGE_DIGEST=@sha256:a94289bfd61ba89cd162f7cf84afe0e307d4d2576b44b9bd277e7b3036ccfa6b +ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST +FROM $FROM_IMAGE + +# Use a traditional Windows shell. +SHELL ["cmd", "/S", "/C"] + +# Install Visual Studio Build Tools for desktop development with C++. +ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe +RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache ` + --installPath C:\BuildTools ` + --add Microsoft.VisualStudio.Workload.VCTools ` + --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ` + --add Microsoft.VisualStudio.Component.VC.CLI.Support ` + --add Microsoft.VisualStudio.Component.VC.ATL ` + --add Microsoft.VisualStudio.Component.Windows10SDK.18362 ` + || IF "%ERRORLEVEL%"=="3010" EXIT 0 +RUN del C:\TEMP\vs_buildtools.exe + +# Add a toolchain environment loader for each architecture. +COPY msvc-x86_64.bat msvc-i386.bat C:\ diff --git a/Utilities/Release/win/x86/base/msvc-i386.bat b/Utilities/Release/win/x86/base/msvc-i386.bat new file mode 100755 index 0000000..a63bdd2 --- /dev/null +++ b/Utilities/Release/win/x86/base/msvc-i386.bat @@ -0,0 +1 @@ +@C:\BuildTools\VC\Auxiliary\Build\vcvarsall.bat x86 diff --git a/Utilities/Release/win/x86/base/msvc-x86_64.bat b/Utilities/Release/win/x86/base/msvc-x86_64.bat new file mode 100755 index 0000000..cffe0e7 --- /dev/null +++ b/Utilities/Release/win/x86/base/msvc-x86_64.bat @@ -0,0 +1 @@ +@C:\BuildTools\VC\Auxiliary\Build\vcvarsall.bat x64 diff --git a/Utilities/Release/win/x86/build.bat b/Utilities/Release/win/x86/build.bat new file mode 100755 index 0000000..2125572 --- /dev/null +++ b/Utilities/Release/win/x86/build.bat @@ -0,0 +1,19 @@ +@rem Distributed under the OSI-approved BSD 3-Clause License. See accompanying +@rem file Copyright.txt or https://cmake.org/licensing for details. + +set ARCH=%1 +set TEST=%2 + +copy \msvc-%ARCH%.bat \msvc.bat +call \msvc.bat && @echo on || exit /b +set PATH=C:\ninja;%PATH% + +mkdir \cmake\src\cmake-build && ^ +cd \cmake\src\cmake-build && ^ +copy ..\cmake\Utilities\Release\win\x86\cache-%ARCH%.txt CMakeCache.txt && ^ +\cmake\cmake\bin\cmake ..\cmake -GNinja && ^ +ninja && ( + if "%TEST%"=="true" ( + bin\ctest --output-on-failure -j %NUMBER_OF_PROCESSORS% -R "^(CMake\.|CMakeLib\.|CMakeServerLib\.|RunCMake\.ctest_memcheck)" + ) +) diff --git a/Utilities/Release/win/x86/cache-i386.txt b/Utilities/Release/win/x86/cache-i386.txt new file mode 100644 index 0000000..3c0ecc7 --- /dev/null +++ b/Utilities/Release/win/x86/cache-i386.txt @@ -0,0 +1,45 @@ +CMAKE_BUILD_TYPE:STRING=Release + +# Use APIs from at most Windows 7 +CMAKE_C_FLAGS:STRING=-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000 +CMAKE_CXX_FLAGS:STRING=-GR -EHsc -D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000 +CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x86 -subsystem:console,6.01 + +# Link C/C++ runtime library statically. +CMAKE_MSVC_RUNTIME_LIBRARY:STRING=MultiThreaded$<$<CONFIG:Debug>:Debug> + +# No ssl support in curl: use native Windows APIs. +CMAKE_USE_OPENSSL:BOOL=OFF + +# Enable cmake-gui with static qt plugins +BUILD_QtDialog:BOOL=TRUE +CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 +CMAKE_PREFIX_PATH:STRING=C:/qt-i386 +CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=c:/qt-i386/plugins/platforms/qwindows.lib;c:/qt-i386/plugins/styles/qwindowsvistastyle.lib;c:/qt-i386/lib/Qt5EventDispatcherSupport.lib;c:/qt-i386/lib/Qt5FontDatabaseSupport.lib;c:/qt-i386/lib/Qt5ThemeSupport.lib;c:/qt-i386/lib/qtfreetype.lib;c:/qt-i386/lib/qtlibpng.lib;imm32.lib;wtsapi32.lib + +# Build documentation. +CMAKE_DOC_DIR:STRING=doc/cmake +PYTHON_EXECUTABLE:FILEPATH=C:/python3/python.exe +SPHINX_EXECUTABLE:FILEPATH=C:/python3/Scripts/sphinx-build.exe +SPHINX_HTML:BOOL=ON +SPHINX_MAN:BOOL=ON +SPHINX_QTHELP:BOOL=ON +QCOLLECTIONGENERATOR_EXECUTABLE:PATH=C:/qt-i386/bin/qhelpgenerator.exe + +# No bootstrap with MSVC tools. +CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE + +# No MFC in base image. +CTEST_RUN_MFC:BOOL=OFF + +# No Fortran compiler. +CMAKE_Fortran_COMPILER:FILEPATH=FALSE + +# No Swift compiler. +CMAKE_Swift_COMPILER:FILEPATH=FALSE + +# Skip Qt5 tests because our Qt is static. +CMake_TEST_Qt5:BOOL=FALSE + +# CPack package file name component for this platform. +CPACK_SYSTEM_NAME:STRING=win32-x86 diff --git a/Utilities/Release/win/x86/cache-x86_64.txt b/Utilities/Release/win/x86/cache-x86_64.txt new file mode 100644 index 0000000..2ccf93b --- /dev/null +++ b/Utilities/Release/win/x86/cache-x86_64.txt @@ -0,0 +1,45 @@ +CMAKE_BUILD_TYPE:STRING=Release + +# Use APIs from at most Windows 7 +CMAKE_C_FLAGS:STRING=-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000 +CMAKE_CXX_FLAGS:STRING=-GR -EHsc -D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000 +CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x64 -subsystem:console,6.01 + +# Link C/C++ runtime library statically. +CMAKE_MSVC_RUNTIME_LIBRARY:STRING=MultiThreaded$<$<CONFIG:Debug>:Debug> + +# No ssl support in curl: use native Windows APIs. +CMAKE_USE_OPENSSL:BOOL=OFF + +# Enable cmake-gui with static qt plugins +BUILD_QtDialog:BOOL=TRUE +CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 +CMAKE_PREFIX_PATH:STRING=C:/qt-x86_64 +CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=c:/qt-x86_64/plugins/platforms/qwindows.lib;c:/qt-x86_64/plugins/styles/qwindowsvistastyle.lib;c:/qt-x86_64/lib/Qt5EventDispatcherSupport.lib;c:/qt-x86_64/lib/Qt5FontDatabaseSupport.lib;c:/qt-x86_64/lib/Qt5ThemeSupport.lib;c:/qt-x86_64/lib/qtfreetype.lib;c:/qt-x86_64/lib/qtlibpng.lib;imm32.lib;wtsapi32.lib + +# Build documentation. +CMAKE_DOC_DIR:STRING=doc/cmake +PYTHON_EXECUTABLE:FILEPATH=C:/python3/python.exe +SPHINX_EXECUTABLE:FILEPATH=C:/python3/Scripts/sphinx-build.exe +SPHINX_HTML:BOOL=ON +SPHINX_MAN:BOOL=ON +SPHINX_QTHELP:BOOL=ON +QCOLLECTIONGENERATOR_EXECUTABLE:PATH=C:/qt-x86_64/bin/qhelpgenerator.exe + +# No bootstrap with MSVC tools. +CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE + +# No MFC in base image. +CTEST_RUN_MFC:BOOL=OFF + +# No Fortran compiler. +CMAKE_Fortran_COMPILER:FILEPATH=FALSE + +# No Swift compiler. +CMAKE_Swift_COMPILER:FILEPATH=FALSE + +# Skip Qt5 tests because our Qt is static. +CMake_TEST_Qt5:BOOL=FALSE + +# CPack package file name component for this platform. +CPACK_SYSTEM_NAME:STRING=win64-x64 diff --git a/Utilities/Release/win/x86/deps/Dockerfile b/Utilities/Release/win/x86/deps/Dockerfile new file mode 100644 index 0000000..4b294c1 --- /dev/null +++ b/Utilities/Release/win/x86/deps/Dockerfile @@ -0,0 +1,127 @@ +# escape=` + +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# Produce an image with custom-built dependencies for portable CMake binaries. +# Build using the directory containing this file as its own build context. + +ARG FROM_IMAGE_NAME=kitware/cmake:build-win-x86-base-2020-04-27 +ARG FROM_IMAGE_DIGEST=@sha256:c5a8948d636319cdac0180266996558bb6fb037125792b5b837f069d02e53d7c +ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST + +# Qt Source +FROM $FROM_IMAGE AS qt-src + +# JOM +ADD http://download.qt-project.org/official_releases/jom/unstable-jom.zip C:\jom\jom.zip +RUN cd \jom ` + && powershell -Command " ` + if ($(Get-FileHash jom.zip).Hash -eq '128fdd846fe24f8594eed37d1d8929a0ea78df563537c0c1b1861a635013fff8') {` + Expand-Archive -Path jom.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del jom.zip + +# XZ +ADD https://tukaani.org/xz/xz-5.2.5-windows.zip C:\xz\xz.zip +RUN cd \xz ` + && powershell -Command " ` + if ($(Get-FileHash xz.zip).Hash -eq 'd83b82ca75dfab39a13dda364367b34970c781a9df4d41264db922ac3a8f622d') {` + Expand-Archive -Path xz.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del xz.zip + +# Git +ADD https://github.com/git-for-windows/git/releases/download/v2.26.2.windows.1/MinGit-2.26.2-busybox-64-bit.zip C:\git\git.zip +RUN cd \git ` + && powershell -Command " ` + if ($(Get-FileHash git.zip).Hash -eq 'e834ea73fe093fb180dc45f67a1f2a7a566dab53d1d45bc3cd150106f5c40520') {` + Expand-Archive -Path git.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del git.zip + +# Qt Source +ADD https://download.qt.io/official_releases/qt/5.12/5.12.1/single/qt-everywhere-src-5.12.1.tar.xz C:\qt-src\qt.tar.xz +RUN cd \qt-src ` + && powershell -Command " ` + if ($(Get-FileHash qt.tar.xz).Hash -eq 'caffbd625c7bc10ff8c5c7a27dbc7d84fa4de146975c0e1ffe904b514ccd6da4') {` + \xz\bin_x86-64\xz -d qt.tar.xz ` + } else {` + exit 1 ` + }" ` + && tar xvf qt.tar ` + && del qt.tar ` + && move qt-everywhere-src-5.12.1 qt +COPY qt-build.bat qt-install.patch C:\qt-src\ + +# Qt Build i386 +FROM qt-src as qt-i386 +RUN \qt-src\qt-build.bat i386 + +# Qt Build x86_64 +FROM qt-src as qt-x86_64 +RUN \qt-src\qt-build.bat x86_64 + +# Output Stage +FROM $FROM_IMAGE + +# Qt +COPY --from=qt-i386 C:\qt-i386 C:\qt-i386 +COPY --from=qt-x86_64 C:\qt-x86_64 C:\qt-x86_64 + +# WIX +ADD https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip C:\wix\wix.zip +RUN cd \wix ` + && powershell -Command " ` + if ($(Get-FileHash wix.zip).Hash -eq '2c1888d5d1dba377fc7fa14444cf556963747ff9a0a289a3599cf09da03b9e2e') {` + Expand-Archive -Path wix.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del wix.zip + +# Python and Sphinx +ADD https://www.python.org/ftp/python/3.8.2/python-3.8.2-embed-amd64.zip C:\python3\python3.zip +RUN cd \python3 ` + && powershell -Command " ` + if ($(Get-FileHash python3.zip).Hash -eq '2927a3a6d0fe1f6e047a86059220aeda374eed23113b9ef5355acb8452d56453') {` + Expand-Archive -Path python3.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del python3.zip ` + && curl -O https://bootstrap.pypa.io/get-pip.py ` + && python get-pip.py ` + && del python38._pth ` + && set "PY_LIBS=C:\python3\Lib;C:\Python3\Lib\site-packages" ` + && set "PY_PIP=C:\python3\Scripts" ` + && Scripts\pip install --no-warn-script-location sphinx==2.1.2 + +# Ninja +ADD https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-win.zip C:\ninja\ninja.zip +RUN cd \ninja ` + && powershell -Command " ` + if ($(Get-FileHash ninja.zip).Hash -eq '919fd158c16bf135e8a850bb4046ec1ce28a7439ee08b977cd0b7f6b3463d178') {` + Expand-Archive -Path ninja.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del ninja.zip + +# CMake +ADD https://github.com/Kitware/CMake/releases/download/v3.17.1/cmake-3.17.1-win64-x64.zip C:\cmake\cmake.zip +RUN cd \cmake ` + && powershell -Command " ` + if ($(Get-FileHash cmake.zip).Hash -eq 'a5af7a2fe73f34070456397e940042e4469f072126c82974f44333ac43d478b1') {` + Expand-Archive -Path cmake.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && move cmake-*-win64-x64 cmake ` + && del cmake.zip diff --git a/Utilities/Release/win/x86/deps/qt-build.bat b/Utilities/Release/win/x86/deps/qt-build.bat new file mode 100755 index 0000000..e8bfa81 --- /dev/null +++ b/Utilities/Release/win/x86/deps/qt-build.bat @@ -0,0 +1,47 @@ +set ARCH=%1 +call \msvc-%ARCH%.bat && @echo on || exit /b +mkdir \qt-src\qt-build && ^ +cd \qt-src\qt-build && ^ +..\qt\configure.bat ^ + -prefix C:/qt-%ARCH% ^ + -static ^ + -static-runtime ^ + -release ^ + -opensource -confirm-license ^ + -platform win32-msvc ^ + -mp ^ + -gui ^ + -widgets ^ + -qt-pcre ^ + -qt-zlib ^ + -qt-libpng ^ + -qt-libjpeg ^ + -no-gif ^ + -no-icu ^ + -no-pch ^ + -no-angle ^ + -no-opengl ^ + -no-dbus ^ + -no-harfbuzz ^ + -no-accessibility ^ + -skip declarative ^ + -skip multimedia ^ + -skip qtcanvas3d ^ + -skip qtconnectivity ^ + -skip qtdeclarative ^ + -skip qtlocation ^ + -skip qtmultimedia ^ + -skip qtsensors ^ + -skip qtserialport ^ + -skip qtsvg ^ + -skip qtwayland ^ + -skip qtwebchannel ^ + -skip qtwebengine ^ + -skip qtwebsockets ^ + -skip qtxmlpatterns ^ + -nomake examples -nomake tests ^ + && ^ +\jom\jom.exe -J %NUMBER_OF_PROCESSORS% && ^ +\jom\jom.exe install && ^ +cd \qt-%ARCH% && ^ +\git\cmd\git apply \qt-src\qt-install.patch diff --git a/Utilities/Release/win/x86/deps/qt-install.patch b/Utilities/Release/win/x86/deps/qt-install.patch new file mode 100644 index 0000000..39a649e --- /dev/null +++ b/Utilities/Release/win/x86/deps/qt-install.patch @@ -0,0 +1,26 @@ +diff --git a/lib/cmake/Qt5Core/Qt5CoreConfig.cmake b/lib/cmake/Qt5Core/Qt5CoreConfig.cmake +index 04ec302..75d5596 100644 +--- a/lib/cmake/Qt5Core/Qt5CoreConfig.cmake ++++ b/lib/cmake/Qt5Core/Qt5CoreConfig.cmake +@@ -118,7 +118,7 @@ if (NOT TARGET Qt5::Core) + list(REMOVE_DUPLICATES Qt5Core_COMPILE_DEFINITIONS) + list(REMOVE_DUPLICATES Qt5Core_EXECUTABLE_COMPILE_FLAGS) + +- set(_Qt5Core_LIB_DEPENDENCIES "") ++ set(_Qt5Core_LIB_DEPENDENCIES "${_qt5Core_install_prefix}/lib/qtpcre2.lib;netapi32.lib;version.lib") + + + add_library(Qt5::Core STATIC IMPORTED) +diff --git a/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake b/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake +index a07b953..2e07371 100644 +--- a/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake ++++ b/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake +@@ -118,7 +118,7 @@ if (NOT TARGET Qt5::Widgets) + list(REMOVE_DUPLICATES Qt5Widgets_COMPILE_DEFINITIONS) + list(REMOVE_DUPLICATES Qt5Widgets_EXECUTABLE_COMPILE_FLAGS) + +- set(_Qt5Widgets_LIB_DEPENDENCIES "Qt5::Gui;Qt5::Core") ++ set(_Qt5Widgets_LIB_DEPENDENCIES "Qt5::Gui;Qt5::Core;dwmapi.lib;uxtheme.lib") + + + add_library(Qt5::Widgets STATIC IMPORTED) diff --git a/Utilities/Release/win/x86/pack.bat b/Utilities/Release/win/x86/pack.bat new file mode 100755 index 0000000..2d37eef --- /dev/null +++ b/Utilities/Release/win/x86/pack.bat @@ -0,0 +1,12 @@ +@rem Distributed under the OSI-approved BSD 3-Clause License. See accompanying +@rem file Copyright.txt or https://cmake.org/licensing for details. + +call \msvc.bat && @echo on || exit /b +set PATH=C:\wix;C:\ninja;%PATH% +cd \cmake\src\cmake-build && ( + for %%p in (%*) do ( + bin\cpack -G %%p + ) +) && ^ +mkdir \out && ^ +move cmake-*-win* \out diff --git a/Utilities/Release/win/x86/test/Dockerfile b/Utilities/Release/win/x86/test/Dockerfile new file mode 100644 index 0000000..15bcd37 --- /dev/null +++ b/Utilities/Release/win/x86/test/Dockerfile @@ -0,0 +1,37 @@ +# escape=` + +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# Produce a base image with a test environment for packaged CMake binaries. +# Build using the directory containing this file as its own build context. + +ARG FROM_IMAGE_NAME=kitware/cmake:build-win-x86-base-2020-04-27 +ARG FROM_IMAGE_DIGEST=@sha256:c5a8948d636319cdac0180266996558bb6fb037125792b5b837f069d02e53d7c +ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST +FROM $FROM_IMAGE + +# Python +ADD https://www.python.org/ftp/python/3.8.2/python-3.8.2-embed-amd64.zip C:\python3\python3.zip +RUN cd \python3 ` + && powershell -Command " ` + if ($(Get-FileHash python3.zip).Hash -eq '2927a3a6d0fe1f6e047a86059220aeda374eed23113b9ef5355acb8452d56453') {` + Expand-Archive -Path python3.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del python3.zip ` + && del python38._pth + +# Ninja +ADD https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-win.zip C:\ninja\ninja.zip +RUN cd \ninja ` + && powershell -Command " ` + if ($(Get-FileHash ninja.zip).Hash -eq '919fd158c16bf135e8a850bb4046ec1ce28a7439ee08b977cd0b7f6b3463d178') {` + Expand-Archive -Path ninja.zip -DestinationPath .` + } else {` + exit 1 ` + }" ` + && del ninja.zip + +COPY test-nmake.bat test-ninja.bat C:\ diff --git a/Utilities/Release/win/x86/test/test-ninja.bat b/Utilities/Release/win/x86/test/test-ninja.bat new file mode 100755 index 0000000..b8347ef --- /dev/null +++ b/Utilities/Release/win/x86/test/test-ninja.bat @@ -0,0 +1,19 @@ +@rem Distributed under the OSI-approved BSD 3-Clause License. See accompanying +@rem file Copyright.txt or https://cmake.org/licensing for details. + +set ARCH=%1 +call \msvc-%ARCH%.bat && @echo on || exit /b +set "PATH=C:\cmake\cmake\bin;C:\ninja;C:\python3;%PATH%" +mkdir \cmake\src\cmake-ninja && ^ +cd \cmake\src\cmake-ninja && ^ +> CMakeCache.txt ( + @echo CMAKE_Fortran_COMPILER:STRING= + @echo CMAKE_Swift_COMPILER:STRING= + @echo CMake_TEST_IPO_WORKS_C:BOOL=ON + @echo CMake_TEST_IPO_WORKS_CXX:BOOL=ON + @echo CMake_TEST_NO_NETWORK:BOOL=ON + @echo CTEST_RUN_MFC:BOOL=OFF +) && ^ +cmake ..\cmake -DCMake_TEST_HOST_CMAKE=1 -G "Ninja" && ^ +ninja && ^ +ctest --output-on-failure -j %NUMBER_OF_PROCESSORS% diff --git a/Utilities/Release/win/x86/test/test-nmake.bat b/Utilities/Release/win/x86/test/test-nmake.bat new file mode 100755 index 0000000..5008711 --- /dev/null +++ b/Utilities/Release/win/x86/test/test-nmake.bat @@ -0,0 +1,19 @@ +@rem Distributed under the OSI-approved BSD 3-Clause License. See accompanying +@rem file Copyright.txt or https://cmake.org/licensing for details. + +set ARCH=%1 +call \msvc-%ARCH%.bat && @echo on || exit /b +set "PATH=C:\cmake\cmake\bin;C:\python3;%PATH%" +mkdir \cmake\src\cmake-nmake && ^ +cd \cmake\src\cmake-nmake && ^ +> CMakeCache.txt ( + @echo CMAKE_Fortran_COMPILER:STRING= + @echo CMAKE_Swift_COMPILER:STRING= + @echo CMake_TEST_IPO_WORKS_C:BOOL=ON + @echo CMake_TEST_IPO_WORKS_CXX:BOOL=ON + @echo CMake_TEST_NO_NETWORK:BOOL=ON + @echo CTEST_RUN_MFC:BOOL=OFF +) && ^ +cmake ..\cmake -DCMake_TEST_HOST_CMAKE=1 -G "NMake Makefiles" && ^ +nmake && ^ +ctest --output-on-failure -j %NUMBER_OF_PROCESSORS% diff --git a/Utilities/Release/win32_release.cmake b/Utilities/Release/win32_release.cmake deleted file mode 100644 index 993db6e..0000000 --- a/Utilities/Release/win32_release.cmake +++ /dev/null @@ -1,53 +0,0 @@ -set(CMAKE_RELEASE_DIRECTORY "c:/msys64/home/dashboard/CMakeReleaseDirectory32") -set(CONFIGURE_WITH_CMAKE TRUE) -set(CMAKE_CONFIGURE_PATH "c:/Program\\ Files/CMake/bin/cmake.exe") -set(PROCESSORS 16) -set(HOST win32) -set(RUN_LAUNCHER ~/rel/run) -set(CPACK_BINARY_GENERATORS "WIX ZIP") -set(CPACK_SOURCE_GENERATORS "") -set(MAKE_PROGRAM "ninja") -set(MAKE "${MAKE_PROGRAM} -j16") -set(qt_prefix "c:/Qt/5.12.1/msvc2017-32-w7-mt") -set(qt_win_libs - ${qt_prefix}/plugins/platforms/qwindows.lib - ${qt_prefix}/plugins/styles/qwindowsvistastyle.lib - ${qt_prefix}/lib/Qt5EventDispatcherSupport.lib - ${qt_prefix}/lib/Qt5FontDatabaseSupport.lib - ${qt_prefix}/lib/Qt5ThemeSupport.lib - ${qt_prefix}/lib/qtfreetype.lib - ${qt_prefix}/lib/qtlibpng.lib - imm32.lib - wtsapi32.lib - ) -set(INITIAL_CACHE "CMAKE_BUILD_TYPE:STRING=Release -CMAKE_DOC_DIR:STRING=doc/cmake -CMAKE_USE_OPENSSL:BOOL=OFF -CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE -CMAKE_Fortran_COMPILER:FILEPATH=FALSE -CMAKE_GENERATOR:INTERNAL=Ninja -BUILD_QtDialog:BOOL=TRUE -CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 -CMAKE_MSVC_RUNTIME_LIBRARY:STRING=MultiThreaded$<$<CONFIG:Debug>:Debug> -CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x86 -subsystem:console,6.01 -CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=${qt_win_libs} -CMAKE_PREFIX_PATH:STRING=${qt_prefix} -CMake_TEST_Qt4:BOOL=OFF -CMake_TEST_Qt5:BOOL=OFF -PYTHON_EXECUTABLE:FILEPATH=C:/Python/3.8-64/python.exe -") -set(ppflags "-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000") -set(CFLAGS "${ppflags}") -set(CXXFLAGS "${ppflags}") -set(ENV ". ~/rel/env32") -get_filename_component(path "${CMAKE_CURRENT_LIST_FILE}" PATH) -set(GIT_EXTRA "git config core.autocrlf true") -if(CMAKE_CREATE_VERSION STREQUAL "nightly") - # Some tests fail spuriously too often. - set(EXTRA_CTEST_ARGS "-E 'ConsoleBuf|Module.ExternalData'") - set(SIGN "") -else() - string(APPEND INITIAL_CACHE "CMake_INSTALL_SIGNTOOL:STRING=signtool\n") - set(SIGN [[signtool sign -v -a -tr http://timestamp.digicert.com -fd sha256 -td sha256 -d "CMake Windows Installer" cmake-*.msi]]) -endif() -include(${path}/release_cmake.cmake) diff --git a/Utilities/Release/win64_release.cmake b/Utilities/Release/win64_release.cmake deleted file mode 100644 index 3042889..0000000 --- a/Utilities/Release/win64_release.cmake +++ /dev/null @@ -1,53 +0,0 @@ -set(CMAKE_RELEASE_DIRECTORY "c:/msys64/home/dashboard/CMakeReleaseDirectory64") -set(CONFIGURE_WITH_CMAKE TRUE) -set(CMAKE_CONFIGURE_PATH "c:/Program\\ Files/CMake/bin/cmake.exe") -set(PROCESSORS 16) -set(HOST win64) -set(RUN_LAUNCHER ~/rel/run) -set(CPACK_BINARY_GENERATORS "WIX ZIP") -set(CPACK_SOURCE_GENERATORS "") -set(MAKE_PROGRAM "ninja") -set(MAKE "${MAKE_PROGRAM} -j16") -set(qt_prefix "c:/Qt/5.12.1/msvc2017-64-w7-mt") -set(qt_win_libs - ${qt_prefix}/plugins/platforms/qwindows.lib - ${qt_prefix}/plugins/styles/qwindowsvistastyle.lib - ${qt_prefix}/lib/Qt5EventDispatcherSupport.lib - ${qt_prefix}/lib/Qt5FontDatabaseSupport.lib - ${qt_prefix}/lib/Qt5ThemeSupport.lib - ${qt_prefix}/lib/qtfreetype.lib - ${qt_prefix}/lib/qtlibpng.lib - imm32.lib - wtsapi32.lib - ) -set(INITIAL_CACHE "CMAKE_BUILD_TYPE:STRING=Release -CMAKE_DOC_DIR:STRING=doc/cmake -CMAKE_USE_OPENSSL:BOOL=OFF -CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE -CMAKE_Fortran_COMPILER:FILEPATH=FALSE -CMAKE_GENERATOR:INTERNAL=Ninja -BUILD_QtDialog:BOOL=TRUE -CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 -CMAKE_MSVC_RUNTIME_LIBRARY:STRING=MultiThreaded$<$<CONFIG:Debug>:Debug> -CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x64 -subsystem:console,6.01 -CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=${qt_win_libs} -CMAKE_PREFIX_PATH:STRING=${qt_prefix} -CMake_TEST_Qt4:BOOL=OFF -CMake_TEST_Qt5:BOOL=OFF -PYTHON_EXECUTABLE:FILEPATH=C:/Python/3.8-64/python.exe -") -set(ppflags "-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000") -set(CFLAGS "${ppflags}") -set(CXXFLAGS "${ppflags}") -set(ENV ". ~/rel/env64") -get_filename_component(path "${CMAKE_CURRENT_LIST_FILE}" PATH) -set(GIT_EXTRA "git config core.autocrlf true") -if(CMAKE_CREATE_VERSION STREQUAL "nightly") - # Some tests fail spuriously too often. - set(EXTRA_CTEST_ARGS "-E 'ConsoleBuf|Module.ExternalData'") - set(SIGN "") -else() - string(APPEND INITIAL_CACHE "CMake_INSTALL_SIGNTOOL:STRING=signtool\n") - set(SIGN [[signtool sign -v -a -tr http://timestamp.digicert.com -fd sha256 -td sha256 -d "CMake Windows Installer" cmake-*.msi]]) -endif() -include(${path}/release_cmake.cmake) diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index 17c5018..e5be43a 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -89,7 +89,7 @@ if(SPHINX_QTHELP) find_package(PythonInterp REQUIRED) find_program(QCOLLECTIONGENERATOR_EXECUTABLE - NAMES qcollectiongenerator + NAMES qcollectiongenerator-qt5 qcollectiongenerator DOC "qcollectiongenerator tool" ) if (NOT QCOLLECTIONGENERATOR_EXECUTABLE) diff --git a/Utilities/Sphinx/CTestConfig.cmake b/Utilities/Sphinx/CTestConfig.cmake new file mode 100644 index 0000000..9607e38 --- /dev/null +++ b/Utilities/Sphinx/CTestConfig.cmake @@ -0,0 +1,14 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# If changing this file, also update CTestConfig.cmake + +set(CTEST_PROJECT_NAME "CMake") +set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC") + +set(CTEST_DROP_METHOD "http") +set(CTEST_DROP_SITE "open.cdash.org") +set(CTEST_DROP_LOCATION "/submit.php?project=CMake") +set(CTEST_DROP_SITE_CDASH TRUE) +set(CTEST_CDASH_VERSION "1.6") +set(CTEST_CDASH_QUERY_VERSION TRUE) diff --git a/Utilities/cm3p/Setup.Configuration.h b/Utilities/cm3p/Setup.Configuration.h new file mode 100644 index 0000000..a5cf058 --- /dev/null +++ b/Utilities/cm3p/Setup.Configuration.h @@ -0,0 +1,8 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cm3p_Setup_Configuration_h +#define cm3p_Setup_Configuration_h + +#include <cmvssetup/Setup.Configuration.h> // IWYU pragma: export + +#endif diff --git a/Utilities/cm_libarchive.h b/Utilities/cm3p/archive.h index ea8e9db..956b3ab 100644 --- a/Utilities/cm_libarchive.h +++ b/Utilities/cm3p/archive.h @@ -1,16 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_libarchive_h -#define cm_libarchive_h +#ifndef cm3p_archive_h +#define cm3p_archive_h /* Use the libarchive configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_LIBARCHIVE -# include <archive.h> -# include <archive_entry.h> +# include <archive.h> // IWYU pragma: export #else -# include <cmlibarchive/libarchive/archive.h> -# include <cmlibarchive/libarchive/archive_entry.h> +# include <cmlibarchive/libarchive/archive.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm3p/archive_entry.h b/Utilities/cm3p/archive_entry.h new file mode 100644 index 0000000..230e87a --- /dev/null +++ b/Utilities/cm3p/archive_entry.h @@ -0,0 +1,14 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cm3p_archive_entry_h +#define cm3p_archive_entry_h + +/* Use the libarchive configured for CMake. */ +#include "cmThirdParty.h" +#ifdef CMAKE_USE_SYSTEM_LIBARCHIVE +# include <archive_entry.h> // IWYU pragma: export +#else +# include <cmlibarchive/libarchive/archive_entry.h> // IWYU pragma: export +#endif + +#endif diff --git a/Utilities/cm_bzlib.h b/Utilities/cm3p/bzlib.h index 8669e9e..2a0f4dd 100644 --- a/Utilities/cm_bzlib.h +++ b/Utilities/cm3p/bzlib.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_bzlib_h -#define cm_bzlib_h +#ifndef cm3p_bzlib_h +#define cm3p_bzlib_h /* Use the bzip2 library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_BZIP2 -# include <bzlib.h> +# include <bzlib.h> // IWYU pragma: export #else -# include <cmbzip2/bzlib.h> +# include <cmbzip2/bzlib.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_curl.h b/Utilities/cm3p/curl/curl.h index 673f8ad..6e2b822 100644 --- a/Utilities/cm_curl.h +++ b/Utilities/cm3p/curl/curl.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_curl_h -#define cm_curl_h +#ifndef cm3p_curl_curl_h +#define cm3p_curl_curl_h /* Use the curl library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_CURL -# include <curl/curl.h> +# include <curl/curl.h> // IWYU pragma: export #else -# include <cmcurl/include/curl/curl.h> +# include <cmcurl/include/curl/curl.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_expat.h b/Utilities/cm3p/expat.h index fc5b39a..32e6fd0 100644 --- a/Utilities/cm_expat.h +++ b/Utilities/cm3p/expat.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_expat_h -#define cm_expat_h +#ifndef cm3p_expat_h +#define cm3p_expat_h /* Use the expat library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_EXPAT -# include <expat.h> +# include <expat.h> // IWYU pragma: export #else -# include <cmexpat/lib/expat.h> +# include <cmexpat/lib/expat.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_jsoncpp_writer.h b/Utilities/cm3p/json/reader.h index d9e5d82..0df09ee 100644 --- a/Utilities/cm_jsoncpp_writer.h +++ b/Utilities/cm3p/json/reader.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_jsoncpp_writer_h -#define cm_jsoncpp_writer_h +#ifndef cm3p_json_reader_h +#define cm3p_json_reader_h /* Use the jsoncpp library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_JSONCPP -# include <json/writer.h> +# include <json/reader.h> // IWYU pragma: export #else -# include <cmjsoncpp/include/json/writer.h> +# include <cmjsoncpp/include/json/reader.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_jsoncpp_value.h b/Utilities/cm3p/json/value.h index 742d99a..f59bed6 100644 --- a/Utilities/cm_jsoncpp_value.h +++ b/Utilities/cm3p/json/value.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_jsoncpp_value_h -#define cm_jsoncpp_value_h +#ifndef cm3p_json_value_h +#define cm3p_json_value_h /* Use the jsoncpp library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_JSONCPP -# include <json/value.h> +# include <json/value.h> // IWYU pragma: export #else -# include <cmjsoncpp/include/json/value.h> +# include <cmjsoncpp/include/json/value.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_jsoncpp_reader.h b/Utilities/cm3p/json/writer.h index 23af65c..7fcc3e2 100644 --- a/Utilities/cm_jsoncpp_reader.h +++ b/Utilities/cm3p/json/writer.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_jsoncpp_reader_h -#define cm_jsoncpp_reader_h +#ifndef cm3p_json_writer_h +#define cm3p_json_writer_h /* Use the jsoncpp library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_JSONCPP -# include <json/reader.h> +# include <json/writer.h> // IWYU pragma: export #else -# include <cmjsoncpp/include/json/reader.h> +# include <cmjsoncpp/include/json/writer.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_kwiml.h b/Utilities/cm3p/kwiml/abi.h index 566f67e..6d0dedf 100644 --- a/Utilities/cm_kwiml.h +++ b/Utilities/cm3p/kwiml/abi.h @@ -1,16 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_kwiml_h -#define cm_kwiml_h +#ifndef cm3p_kwiml_abi_h +#define cm3p_kwiml_abi_h /* Use the KWIML library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_KWIML -# include <kwiml/abi.h> -# include <kwiml/int.h> +# include <kwiml/abi.h> // IWYU pragma: export #else -# include "KWIML/include/kwiml/abi.h" -# include "KWIML/include/kwiml/int.h" +# include <KWIML/include/kwiml/abi.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm3p/kwiml/int.h b/Utilities/cm3p/kwiml/int.h new file mode 100644 index 0000000..4c7c23d --- /dev/null +++ b/Utilities/cm3p/kwiml/int.h @@ -0,0 +1,14 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cm3p_kwiml_int_h +#define cm3p_kwiml_int_h + +/* Use the KWIML library configured for CMake. */ +#include "cmThirdParty.h" +#ifdef CMAKE_USE_SYSTEM_KWIML +# include <kwiml/int.h> // IWYU pragma: export +#else +# include <KWIML/include/kwiml/int.h> // IWYU pragma: export +#endif + +#endif diff --git a/Utilities/cm_lzma.h b/Utilities/cm3p/lzma.h index 0526036..abfacf3 100644 --- a/Utilities/cm_lzma.h +++ b/Utilities/cm3p/lzma.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_lzma_h -#define cm_lzma_h +#ifndef cm3p_lzma_h +#define cm3p_lzma_h /* Use the liblzma configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_LIBLZMA -# include <lzma.h> +# include <lzma.h> // IWYU pragma: export #else -# include <cmliblzma/liblzma/api/lzma.h> +# include <cmliblzma/liblzma/api/lzma.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_rhash.h b/Utilities/cm3p/rhash.h index 03d9871..9d5e411 100644 --- a/Utilities/cm_rhash.h +++ b/Utilities/cm3p/rhash.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_rhash_h -#define cm_rhash_h +#ifndef cm3p_rhash_h +#define cm3p_rhash_h /* Use the LibRHash library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_LIBRHASH -# include <rhash.h> +# include <rhash.h> // IWYU pragma: export #else -# include <cmlibrhash/librhash/rhash.h> +# include <cmlibrhash/librhash/rhash.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_uv.h b/Utilities/cm3p/uv.h index 448f30d..307a09f 100644 --- a/Utilities/cm_uv.h +++ b/Utilities/cm3p/uv.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_uv_h -#define cm_uv_h +#ifndef cm3p_uv_h +#define cm3p_uv_h /* Use the libuv library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_LIBUV -# include <uv.h> +# include <uv.h> // IWYU pragma: export #else -# include <cmlibuv/include/uv.h> +# include <cmlibuv/include/uv.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_zlib.h b/Utilities/cm3p/zlib.h index 2314183..fe7baee 100644 --- a/Utilities/cm_zlib.h +++ b/Utilities/cm3p/zlib.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_zlib_h -#define cm_zlib_h +#ifndef cm3p_zlib_h +#define cm3p_zlib_h /* Use the zlib library configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_ZLIB -# include <zlib.h> +# include <zlib.h> // IWYU pragma: export #else -# include <cmzlib/zlib.h> +# include <cmzlib/zlib.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cm_zstd.h b/Utilities/cm3p/zstd.h index 4bda996..07cc3e4 100644 --- a/Utilities/cm_zstd.h +++ b/Utilities/cm3p/zstd.h @@ -1,14 +1,14 @@ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_zstd_h -#define cm_zstd_h +#ifndef cm3p_zstd_h +#define cm3p_zstd_h /* Use the libzstd configured for CMake. */ #include "cmThirdParty.h" #ifdef CMAKE_USE_SYSTEM_ZSTD -# include <zstd.h> +# include <zstd.h> // IWYU pragma: export #else -# include <cmzstd/lib/zstd.h> +# include <cmzstd/lib/zstd.h> // IWYU pragma: export #endif #endif diff --git a/Utilities/cmexpat/lib/siphash.h b/Utilities/cmexpat/lib/siphash.h index 95f78f8..a335ec0 100644 --- a/Utilities/cmexpat/lib/siphash.h +++ b/Utilities/cmexpat/lib/siphash.h @@ -97,7 +97,7 @@ #include <stddef.h> /* size_t */ -#include <cm_kwiml.h> +#include <cm3p/kwiml/int.h> #ifndef KWIML_INT_HAVE_UINT64_T # define uint64_t KWIML_INT_uint64_t diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_bzip2.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_bzip2.c index 2b1a5e2..5333d47 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_bzip2.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_bzip2.c @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); #include <unistd.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c index 95cfd54..ac0b694 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); #include <unistd.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lzop.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lzop.c index 4356b82..05f740b 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lzop.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lzop.c @@ -50,7 +50,7 @@ __FBSDID("$FreeBSD$"); #include <lzo/lzo1x.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> /* for crc32 and adler32 */ +#include <cm3p/zlib.h> /* for crc32 and adler32 */ #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_xz.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_xz.c index a188186..3223b38 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_xz.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_xz.c @@ -42,7 +42,7 @@ __FBSDID("$FreeBSD$"); #include <unistd.h> #endif #if HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_zstd.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_zstd.c index 4513706..e1ec60e 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_zstd.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_zstd.c @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$"); #include <unistd.h> #endif #if HAVE_ZSTD_H -#include <cm_zstd.h> +#include <cm3p/zstd.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c index c9f3527..456b2f8 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c @@ -33,13 +33,13 @@ __FBSDID("$FreeBSD$"); #include <stdlib.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #ifdef HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c index c789d13..58644ba 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c @@ -38,7 +38,7 @@ #include <string.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c index cf1419a..9121166 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_iso9660.c 20 #endif #include <time.h> #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c index 1261191..61f2330 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c @@ -32,7 +32,7 @@ #include <time.h> #include <limits.h> #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> /* crc32 */ +#include <cm3p/zlib.h> /* crc32 */ #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c index ec40cce..d3a1c1b 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c @@ -31,7 +31,7 @@ #endif #include <time.h> #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> /* crc32 */ +#include <cm3p/zlib.h> /* crc32 */ #endif #ifdef HAVE_LIMITS_H #include <limits.h> diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c index 2bc5c7b..9489e51 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c @@ -39,13 +39,13 @@ __FBSDID("$FreeBSD$"); #include <expat.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #if HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c index 36831f7..4d71f98 100644 --- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c +++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c @@ -50,7 +50,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_zip.c 201102 #include <stdlib.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #ifdef HAVE_BZLIB_H #include <bzlib.h> diff --git a/Utilities/cmlibarchive/libarchive/archive_util.c b/Utilities/cmlibarchive/libarchive/archive_util.c index e4cb051..10dca73 100644 --- a/Utilities/cmlibarchive/libarchive/archive_util.c +++ b/Utilities/cmlibarchive/libarchive/archive_util.c @@ -46,13 +46,13 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_util.c 201098 2009-12-28 02:58:1 #include <wincrypt.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #ifdef HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #ifdef HAVE_LZ4_H #include <lz4.h> diff --git a/Utilities/cmlibarchive/libarchive/archive_version_details.c b/Utilities/cmlibarchive/libarchive/archive_version_details.c index b9af6d7..5f5a5b7 100644 --- a/Utilities/cmlibarchive/libarchive/archive_version_details.c +++ b/Utilities/cmlibarchive/libarchive/archive_version_details.c @@ -34,19 +34,19 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_util.c 201098 2009-12-28 02:58:1 #include <string.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #ifdef HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #ifdef HAVE_LZ4_H #include <lz4.h> #endif #ifdef HAVE_ZSTD_H -#include <cm_zstd.h> +#include <cm3p/zstd.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c index 535ef17..0637e96 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_compression_bzip2.c 20 #include <string.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c index 8d6838b..3e26605 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_compression_gzip.c 201 #endif #include <time.h> #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c index 2ad4bcb..d567ac9 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_compression_xz.c 20110 #endif #include <time.h> #ifdef HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c index d0d78a0..f67b025 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); #include <string.h> #endif #ifdef HAVE_ZSTD_H -#include <cm_zstd.h> +#include <cm3p/zstd.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c index 1f7e673..c4be9b0 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c @@ -131,7 +131,7 @@ __FBSDID("$FreeBSD$"); #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif /* TODO: Support Mac OS 'quarantine' feature. This is really just a diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c index ce96f2f..69af814 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c @@ -31,13 +31,13 @@ __FBSDID("$FreeBSD$"); #endif #include <stdlib.h> #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #if HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c index 564d4d7..5db414f 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c @@ -47,7 +47,7 @@ #include <unistd.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c index 358f61f..3b0ffb3 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c @@ -37,13 +37,13 @@ __FBSDID("$FreeBSD$"); #include <libxml/xmlwriter.h> #endif #ifdef HAVE_BZLIB_H -#include <cm_bzlib.h> +#include <cm3p/bzlib.h> #endif #if HAVE_LZMA_H -#include <cm_lzma.h> +#include <cm3p/lzma.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c index 1ede5ee..b0cd215 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_zip.c 201168 20 #include <string.h> #endif #ifdef HAVE_ZLIB_H -#include <cm_zlib.h> +#include <cm3p/zlib.h> #endif #include "archive.h" diff --git a/Utilities/cmlibrhash/librhash/byte_order.h b/Utilities/cmlibrhash/librhash/byte_order.h index a58174b..cfb9e25 100644 --- a/Utilities/cmlibrhash/librhash/byte_order.h +++ b/Utilities/cmlibrhash/librhash/byte_order.h @@ -39,7 +39,7 @@ extern "C" { # endif #endif -#include <cm_kwiml.h> +#include <cm3p/kwiml/abi.h> #if KWIML_ABI_ENDIAN_ID == KWIML_ABI_ENDIAN_ID_LITTLE # define CPU_LITTLE_ENDIAN # define IS_BIG_ENDIAN 0 diff --git a/Utilities/cmlibrhash/librhash/ustd.h b/Utilities/cmlibrhash/librhash/ustd.h index 917fb6b..756ce0b 100644 --- a/Utilities/cmlibrhash/librhash/ustd.h +++ b/Utilities/cmlibrhash/librhash/ustd.h @@ -9,7 +9,7 @@ # pragma warning(push,1) #endif -#include <cm_kwiml.h> +#include <cm3p/kwiml/int.h> #ifndef KWIML_INT_HAVE_INT64_T # define int64_t KWIML_INT_int64_t diff --git a/Utilities/cmnghttp2/cmakeconfig.h.in b/Utilities/cmnghttp2/cmakeconfig.h.in index d6693ee..60698fb 100644 --- a/Utilities/cmnghttp2/cmakeconfig.h.in +++ b/Utilities/cmnghttp2/cmakeconfig.h.in @@ -2,7 +2,8 @@ # pragma warning(push,1) #endif -#include <cm_kwiml.h> +#include <cm3p/kwiml/abi.h> +#include <cm3p/kwiml/int.h> /* Define to `int' if <sys/types.h> does not define. */ #cmakedefine ssize_t @ssize_t@ diff --git a/Utilities/cmzlib/CMakeLists.txt b/Utilities/cmzlib/CMakeLists.txt index 888c3ff..0584c55 100644 --- a/Utilities/cmzlib/CMakeLists.txt +++ b/Utilities/cmzlib/CMakeLists.txt @@ -38,11 +38,6 @@ CONFIGURE_FILE(${CMZLIB_SOURCE_DIR}/.NoDartCoverage CONFIGURE_FILE(${CMZLIB_SOURCE_DIR}/zlibDllConfig.h.in ${CMZLIB_BINARY_DIR}/zlibDllConfig.h) -FOREACH(name zlib zconf cm_zlib_mangle) - CONFIGURE_FILE(${CMZLIB_SOURCE_DIR}/${name}.h - ${CMZLIB_BINARY_DIR}/${name}.h COPYONLY) -ENDFOREACH(name) - ADD_LIBRARY(cmzlib ${ZLIB_SRCS}) diff --git a/Utilities/std/cm/bits/string_view.cxx b/Utilities/std/cm/bits/string_view.cxx index e345fd3..5381fe6 100644 --- a/Utilities/std/cm/bits/string_view.cxx +++ b/Utilities/std/cm/bits/string_view.cxx @@ -9,7 +9,7 @@ # include <ostream> # include <stdexcept> -# include "cm_kwiml.h" +# include <cm3p/kwiml/int.h> namespace cm { diff --git a/Utilities/std/cm/shared_mutex b/Utilities/std/cm/shared_mutex index 2ac9447..ec63a7b 100644 --- a/Utilities/std/cm/shared_mutex +++ b/Utilities/std/cm/shared_mutex @@ -17,7 +17,7 @@ # include <shared_mutex> // IWYU pragma: export #endif #if !defined(CMake_HAVE_CXX_SHARED_MUTEX) -# include "cm_uv.h" +# include <cm3p/uv.h> #endif namespace cm { @@ -247,8 +247,12 @@ CMAKE_PROBLEMATIC_FILES="\ */CMakeCXXCompiler.cmake \ Source/cmConfigure.h \ Source/CTest/Curl/config.h \ - Utilities/cmexpat/expatConfig.h \ - Utilities/cmexpat/expatDllConfig.h \ + Utilities/cmThirdParty.h \ + Utilities/cmcurl/lib/curl_config.h \ + Utilities/cmlibarchive/config.h \ + Utilities/cmliblzma/config.h \ + Utilities/cmnghttp2/config.h \ + Utilities/cmzlib/zlibDllConfig.h \ " CMAKE_UNUSED_SOURCES="\ |