From ad8253d840a6074d864111a2453b200082410476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20R=C3=B6hling?= Date: Mon, 21 Aug 2023 10:25:56 +0200 Subject: [PATCH] New upstream version 3.27.3 --- Help/release/3.27.rst | 7 +++++++ Modules/CMakeFindBinUtils.cmake | 2 +- Modules/Compiler/Clang-C.cmake | 5 ++++- Modules/FindJNI.cmake | 14 +++++++++----- Modules/FindPython/Support.cmake | 2 +- Modules/FindPythonInterp.cmake | 2 +- Modules/FindPythonLibs.cmake | 2 +- Source/CMakeVersion.cmake | 4 ++-- Source/cmGhsMultiTargetGenerator.cxx | 4 +++- Source/cmLocalGenerator.cxx | 2 +- Tests/CMakeLib/testDebuggerNamedPipe.cxx | 14 +++++++------- .../RunCMake/AppleTextStubs/Framework-import.cmake | 12 ++++++------ Utilities/Release/linux/aarch64/cache.txt | 7 ------- Utilities/Release/linux/x86_64/cache.txt | 7 ------- 14 files changed, 43 insertions(+), 41 deletions(-) diff --git a/Help/release/3.27.rst b/Help/release/3.27.rst index 457b48ca3..561933a0b 100644 --- a/Help/release/3.27.rst +++ b/Help/release/3.27.rst @@ -284,3 +284,10 @@ Changes made since CMake 3.27.0 include the following. using ``version=8.1`` in the :variable:`CMAKE_GENERATOR_PLATFORM` variable to select the Windows 8.1 SDK. In CMake 3.27.[0-1] the ``version=`` field was limited to selecting Windows 10 SDKs. + +3.27.3 +------ + +* This version made no changes to documented features or interfaces. + Some implementation updates were made to support ecosystem changes + and/or fix regressions. diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake index 327ef0b4a..f778891b4 100644 --- a/Modules/CMakeFindBinUtils.cmake +++ b/Modules/CMakeFindBinUtils.cmake @@ -229,7 +229,7 @@ if(NOT CMAKE_RANLIB) set(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib") endif() -if(NOT CMAKE_TAPI) +if(APPLE AND "TAPI" IN_LIST _CMAKE_TOOL_VARS AND NOT CMAKE_TAPI) # try to pick-up from Apple toolchain execute_process(COMMAND xcrun --find tapi OUTPUT_VARIABLE _xcrun_out diff --git a/Modules/Compiler/Clang-C.cmake b/Modules/Compiler/Clang-C.cmake index 1b765ad14..480a5de70 100644 --- a/Modules/Compiler/Clang-C.cmake +++ b/Modules/Compiler/Clang-C.cmake @@ -48,7 +48,10 @@ if("x${CMAKE_C_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU") set(CMAKE_C17_EXTENSION_COMPILE_OPTION "-std=gnu17") endif() - if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0) + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 18.0) + set(CMAKE_C23_STANDARD_COMPILE_OPTION "-std=c23") + set(CMAKE_C23_EXTENSION_COMPILE_OPTION "-std=gnu23") + elseif(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0) set(CMAKE_C23_STANDARD_COMPILE_OPTION "-std=c2x") set(CMAKE_C23_EXTENSION_COMPILE_OPTION "-std=gnu2x") endif() diff --git a/Modules/FindJNI.cmake b/Modules/FindJNI.cmake index c6d7b0932..e7050a375 100644 --- a/Modules/FindJNI.cmake +++ b/Modules/FindJNI.cmake @@ -388,11 +388,15 @@ if(APPLE) else() # get xcode version execute_process( - COMMAND xcodebuild -version - OUTPUT_VARIABLE _xcode_version - ) - string(REGEX REPLACE "Xcode ([0-9]+(\\.[0-9]+)*)" "\\1" _FindJNI_XCODE_VERSION ${_xcode_version}) - unset(_xcode_version) + COMMAND xcodebuild -version + OUTPUT_VARIABLE _FindJNI_XCODEBUILD_VERSION + ) + if(_FindJNI_XCODEBUILD_VERSION MATCHES "Xcode ([0-9]+(\\.[0-9]+)*)") + set(_FindJNI_XCODE_VERSION "${CMAKE_MATCH_1}") + else() + set(_FindJNI_XCODE_VERSION "") + endif() + unset(_FindJNI_XCODEBUILD_VERSION) endif() if(_FindJNI_XCODE_VERSION VERSION_GREATER 12.1) diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake index f78433d95..d483d7f83 100644 --- a/Modules/FindPython/Support.cmake +++ b/Modules/FindPython/Support.cmake @@ -28,7 +28,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR) message (FATAL_ERROR "FindPython: INTERNAL ERROR") endif() if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL "3") - set(_${_PYTHON_PREFIX}_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) + set(_${_PYTHON_PREFIX}_VERSIONS 3.13 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL "2") set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) else() diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake index b5e759de4..443c6ebf6 100644 --- a/Modules/FindPythonInterp.cmake +++ b/Modules/FindPythonInterp.cmake @@ -67,7 +67,7 @@ unset(_Python_NAMES) set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) +set(_PYTHON3_VERSIONS 3.13 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) if(PythonInterp_FIND_VERSION) if(PythonInterp_FIND_VERSION_COUNT GREATER 1) diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake index 06004ee46..b13d96b27 100644 --- a/Modules/FindPythonLibs.cmake +++ b/Modules/FindPythonLibs.cmake @@ -92,7 +92,7 @@ set(CMAKE_FIND_FRAMEWORK LAST) set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) +set(_PYTHON3_VERSIONS 3.13 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) if(PythonLibs_FIND_VERSION) if(PythonLibs_FIND_VERSION_COUNT GREATER 1) diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index e724083a8..871e0d5b8 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 27) -set(CMake_VERSION_PATCH 2) +set(CMake_VERSION_PATCH 3) #set(CMake_VERSION_RC 0) set(CMake_VERSION_IS_DIRTY 0) @@ -21,7 +21,7 @@ endif() if(NOT CMake_VERSION_NO_GIT) # If this source was exported by 'git archive', use its commit info. - set(git_info [==[f3d9a82110 CMake 3.27.2]==]) + set(git_info [==[a69c783749 CMake 3.27.3]==]) # Otherwise, try to identify the current development source version. if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* " diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx index a1e0650d2..2d35b8fd1 100644 --- a/Source/cmGhsMultiTargetGenerator.cxx +++ b/Source/cmGhsMultiTargetGenerator.cxx @@ -415,7 +415,9 @@ void cmGhsMultiTargetGenerator::WriteCustomCommandsHelper( #endif // Echo the custom command's comment text. if (cm::optional comment = ccg.GetComment()) { - std::string echocmd = cmStrCat("echo ", *comment); + std::string escapedComment = this->LocalGenerator->EscapeForShell( + *comment, ccg.GetCC().GetEscapeAllowMakeVars()); + std::string echocmd = cmStrCat("echo ", escapedComment); cmdLines.push_back(std::move(echocmd)); } diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index aaf0d6794..da95b19f8 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -2987,7 +2987,7 @@ void cmLocalGenerator::WriteUnitySourceInclude( unity_file << *beforeInclude << "\n"; } - unity_file << "// NOLINTNEXTLINE(bugprone-suspicious-include)\n"; + unity_file << "/* NOLINTNEXTLINE(bugprone-suspicious-include) */\n"; unity_file << "#include \"" << sf_full_path << "\"\n"; if (afterInclude) { diff --git a/Tests/CMakeLib/testDebuggerNamedPipe.cxx b/Tests/CMakeLib/testDebuggerNamedPipe.cxx index d2b0728b0..ec9170646 100644 --- a/Tests/CMakeLib/testDebuggerNamedPipe.cxx +++ b/Tests/CMakeLib/testDebuggerNamedPipe.cxx @@ -180,13 +180,13 @@ int runTest(int argc, char* argv[]) auto debuggerResponse = debuggerResponseStream.str(); std::vector expectedResponses = { - R"("event" : "initialized".*"type" : "event")", - R"("command" : "launch".*"success" : true.*"type" : "response")", - R"("command" : "configurationDone".*"success" : true.*"type" : "response")", - R"("reason" : "started".*"threadId" : 1.*"event" : "thread".*"type" : "event")", - R"("reason" : "exited".*"threadId" : 1.*"event" : "thread".*"type" : "event")", - R"("exitCode" : 0.*"event" : "exited".*"type" : "event")", - R"("command" : "disconnect".*"success" : true.*"type" : "response")" + R"("event" *: *"initialized".*"type" *: *"event")", + R"("command" *: *"launch".*"success" *: *true.*"type" *: *"response")", + R"("command" *: *"configurationDone".*"success" *: *true.*"type" *: *"response")", + R"("reason" *: *"started".*"threadId" *: *1.*"event" *: *"thread".*"type" *: *"event")", + R"("reason" *: *"exited".*"threadId" *: *1.*"event" *: *"thread".*"type" *: *"event")", + R"("exitCode" *: *0.*"event" *: *"exited".*"type" *: *"event")", + R"("command" *: *"disconnect".*"success" *: *true.*"type" *: *"response")" }; for (auto& regexString : expectedResponses) { diff --git a/Tests/RunCMake/AppleTextStubs/Framework-import.cmake b/Tests/RunCMake/AppleTextStubs/Framework-import.cmake index e0001d0b8..d142c0ce8 100644 --- a/Tests/RunCMake/AppleTextStubs/Framework-import.cmake +++ b/Tests/RunCMake/AppleTextStubs/Framework-import.cmake @@ -10,15 +10,15 @@ if (NOT is_framework) message(SEND_ERROR "foo-build::foo: FRAMEWORK not set.") endif() get_property(enable_exports TARGET foo-install::foo PROPERTY ENABLE_EXPORTS) -if (CAMKE_TAPI AND NOT enable_exports) +if (CMAKE_TAPI AND NOT enable_exports) message(SEND_ERROR "foo-install::foo: ENABLE_EXPORTS not set.") endif() get_property(implib TARGET foo-install::foo PROPERTY IMPORTED_IMPLIB_RELEASE) -if (CAMKE_TAPI AND NOT implib) +if (CMAKE_TAPI AND NOT implib) message(SEND_ERROR "foo-install::foo: IMPORTED_IMPLIB_RELEASE not set.") endif() -if (CAMKE_TAPI AND NOT implib MATCHES "foo.framework/Versions/A/foo.tbd$") +if (CMAKE_TAPI AND NOT implib MATCHES "foo.framework/Versions/A/foo.tbd$") message(SEND_ERROR "foo-install::foo: ${implib}: wrong value for IMPORTED_IMPLIB_RELEASE.") endif() @@ -41,15 +41,15 @@ if (NOT is_framework) message(SEND_ERROR "foo-build::foo: FRAMEWORK not set.") endif() get_property(enable_exports TARGET foo-build::foo PROPERTY ENABLE_EXPORTS) -if (CAMKE_TAPI AND NOT enable_exports) +if (CMAKE_TAPI AND NOT enable_exports) message(SEND_ERROR "foo-build::foo: ENABLE_EXPORTS not set.") endif() get_property(implib TARGET foo-build::foo PROPERTY IMPORTED_IMPLIB_RELEASE) -if (CAMKE_TAPI AND NOT implib) +if (CMAKE_TAPI AND NOT implib) message(SEND_ERROR "foo-build::foo: IMPORTED_IMPLIB_RELEASE not set.") endif() -if (CAMKE_TAPI AND NOT implib STREQUAL "${foo_BUILD}/foo.framework/Versions/A/foo.tbd") +if (CMAKE_TAPI AND NOT implib STREQUAL "${foo_BUILD}/foo.framework/Versions/A/foo.tbd") message(SEND_ERROR "foo-build::foo: ${implib}: wrong value for IMPORTED_IMPLIB_RELEASE.") endif() diff --git a/Utilities/Release/linux/aarch64/cache.txt b/Utilities/Release/linux/aarch64/cache.txt index 70739d42e..9b1344020 100644 --- a/Utilities/Release/linux/aarch64/cache.txt +++ b/Utilities/Release/linux/aarch64/cache.txt @@ -24,13 +24,6 @@ CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 CMAKE_PREFIX_PATH:STRING=/opt/qt CMake_QT_STATIC_QXcbIntegrationPlugin_LIBRARIES:STRING=/opt/qt/plugins/platforms/libqxcb.a;/opt/qt/lib/libQt5XcbQpa.a;/opt/qt/lib/libQt5ServiceSupport.a;/opt/qt/lib/libQt5EdidSupport.a;/opt/qt/lib/libQt5EventDispatcherSupport.a;/opt/qt/lib/libQt5FontDatabaseSupport.a;/opt/qt/lib/libQt5ThemeSupport.a;/opt/qt/lib/libxcb-static.a;-lxcb;-lfontconfig;-lfreetype -# Build documentation. -SPHINX_EXECUTABLE:FILEPATH=/usr/local/bin/sphinx-build -SPHINX_HTML:BOOL=ON -SPHINX_MAN:BOOL=ON -SPHINX_QTHELP:BOOL=ON -QHELPGENERATOR_EXECUTABLE:PATH=/opt/qt/bin/qhelpgenerator - # We bootstrap as part of the build so skip its test. CMake_TEST_BOOTSTRAP:BOOL=FALSE diff --git a/Utilities/Release/linux/x86_64/cache.txt b/Utilities/Release/linux/x86_64/cache.txt index 0b9696b96..a40f8fb98 100644 --- a/Utilities/Release/linux/x86_64/cache.txt +++ b/Utilities/Release/linux/x86_64/cache.txt @@ -24,13 +24,6 @@ CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 CMAKE_PREFIX_PATH:STRING=/opt/qt CMake_QT_STATIC_QXcbIntegrationPlugin_LIBRARIES:STRING=/opt/qt/plugins/platforms/libqxcb.a;/opt/qt/lib/libQt5XcbQpa.a;/opt/qt/lib/libQt5ServiceSupport.a;/opt/qt/lib/libQt5EdidSupport.a;/opt/qt/lib/libQt5EventDispatcherSupport.a;/opt/qt/lib/libQt5FontDatabaseSupport.a;/opt/qt/lib/libQt5ThemeSupport.a;/opt/qt/lib/libxcb-static.a;-lxcb;-lfontconfig;-lfreetype -# Build documentation. -SPHINX_EXECUTABLE:FILEPATH=/opt/rh/rh-python36/root/usr/bin/sphinx-build -SPHINX_HTML:BOOL=ON -SPHINX_MAN:BOOL=ON -SPHINX_QTHELP:BOOL=ON -QHELPGENERATOR_EXECUTABLE:PATH=/opt/qt/bin/qhelpgenerator - # We bootstrap as part of the build so skip its test. CMake_TEST_BOOTSTRAP:BOOL=FALSE