From dadba242b011557cd21cac79cafe7c09dba37bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Thu, 14 Sep 2023 18:57:23 +0200 Subject: [PATCH] Add upstream patches from milestone to cmake-3.27.5 --- ...tomic-when-needed-on-any-Linux-archi.patch | 3 +- ...INFORMATION_FORMAT-is-initialized-fr.patch | 38 ++++++++++ ...t-support-config-independent-Fortran.patch | 53 +++++++++++++ ...ormation-compute-link-info-for-modul.patch | 43 +++++++++++ ...pport-for-http-redirects-during-Subm.patch | 44 +++++++++++ ...e-forward-CMAKE_OSX_DEPLOYMENT_TARGE.patch | 31 ++++++++ ...FindBoost-Add-support-for-Boost-1.83.patch | 75 +++++++++++++++++++ ...sary-CUDA-device-linking-for-OBJECT-.patch | 64 ++++++++++++++++ ...-INTERFACE_AUTOMOC_MACRO_NAMES-effic.patch | 35 +++++++++ cmake.spec | 16 +++- 10 files changed, 398 insertions(+), 4 deletions(-) create mode 100644 0002-Help-MSVC_DEBUG_INFORMATION_FORMAT-is-initialized-fr.patch create mode 100644 0003-cmGeneratorTarget-support-config-independent-Fortran.patch create mode 100644 0004-cmComputeLinkInformation-compute-link-info-for-modul.patch create mode 100644 0005-ctest-Restore-support-for-http-redirects-during-Subm.patch create mode 100644 0006-FortranCInterface-forward-CMAKE_OSX_DEPLOYMENT_TARGE.patch create mode 100644 0007-FindBoost-Add-support-for-Boost-1.83.patch create mode 100644 0008-VS-Avoid-unnecessary-CUDA-device-linking-for-OBJECT-.patch create mode 100644 0009-Autogen-Evaluate-INTERFACE_AUTOMOC_MACRO_NAMES-effic.patch diff --git a/0001-Source-Link-libatomic-when-needed-on-any-Linux-archi.patch b/0001-Source-Link-libatomic-when-needed-on-any-Linux-archi.patch index e9ab05e..5e92ac5 100644 --- a/0001-Source-Link-libatomic-when-needed-on-any-Linux-archi.patch +++ b/0001-Source-Link-libatomic-when-needed-on-any-Linux-archi.patch @@ -1,7 +1,8 @@ From fa3c4b6dbfaa4eb1d666c1bea4c759d221b7ad98 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 24 Aug 2023 13:00:13 -0400 -Subject: [PATCH] Source: Link libatomic when needed on any Linux architecture +Subject: [PATCH 1/9] Source: Link libatomic when needed on any Linux + architecture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/0002-Help-MSVC_DEBUG_INFORMATION_FORMAT-is-initialized-fr.patch b/0002-Help-MSVC_DEBUG_INFORMATION_FORMAT-is-initialized-fr.patch new file mode 100644 index 0000000..57da3aa --- /dev/null +++ b/0002-Help-MSVC_DEBUG_INFORMATION_FORMAT-is-initialized-fr.patch @@ -0,0 +1,38 @@ +From 91dc94c4aca611865bf5cb4e9fec6b3422d1de9a Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Tue, 5 Sep 2023 14:54:04 -0400 +Subject: [PATCH 2/9] Help: MSVC_DEBUG_INFORMATION_FORMAT is initialized from + associated variable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The `CMAKE_MSVC_DEBUG_INFORMATION_FORMAT` variable docs mention that it +initializes the `MSVC_DEBUG_INFORMATION_FORMAT` target property, but the +property's docs was missing any mention of the variable. + +Follow the pattern from commit c1b07ca9da (Help: MSVC_RUNTIME_LIBRARY is +initialized from associated variable, 2022-08-13, v3.25.0-rc1~317^2). + +Fixes: #25216 +Signed-off-by: Björn Esser +--- + Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT.rst | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT.rst b/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT.rst +index 0c7845ce4a..7e08b483c4 100644 +--- a/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT.rst ++++ b/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT.rst +@@ -21,6 +21,8 @@ support per-configuration specification. For example, the code: + selects for the target ``foo`` the program database debug information format + for the Debug configuration. + ++This property is initialized from the value of the ++:variable:`CMAKE_MSVC_DEBUG_INFORMATION_FORMAT` variable, if it is set. + If this property is not set, CMake selects a debug information format using + the default value ``$<$:ProgramDatabase>``, if + supported by the compiler, and otherwise +-- +2.41.0 + diff --git a/0003-cmGeneratorTarget-support-config-independent-Fortran.patch b/0003-cmGeneratorTarget-support-config-independent-Fortran.patch new file mode 100644 index 0000000..42f0976 --- /dev/null +++ b/0003-cmGeneratorTarget-support-config-independent-Fortran.patch @@ -0,0 +1,53 @@ +From 6251edaed1c4f55625d96dc31e044a9fd23e1db2 Mon Sep 17 00:00:00 2001 +From: Ben Boeckel +Date: Tue, 5 Sep 2023 15:55:19 -0400 +Subject: [PATCH 3/9] cmGeneratorTarget: support config-independent Fortran + source queries +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Some locations care about "any config with Fortran", so make a query for +such (they may not know any configuration names themselves). + +Signed-off-by: Björn Esser +--- + Source/cmGeneratorTarget.cxx | 9 +++++++++ + Source/cmGeneratorTarget.h | 1 + + 2 files changed, 10 insertions(+) + +diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx +index 357d0a66a1..7d1fcf3e5c 100644 +--- a/Source/cmGeneratorTarget.cxx ++++ b/Source/cmGeneratorTarget.cxx +@@ -8873,6 +8873,15 @@ bool cmGeneratorTarget::HaveFortranSources(std::string const& config) const + }); + } + ++bool cmGeneratorTarget::HaveFortranSources() const ++{ ++ auto sources = cmGeneratorTarget::GetAllConfigSources(); ++ return std::any_of(sources.begin(), sources.end(), ++ [](AllConfigSource const& sf) -> bool { ++ return sf.Source->GetLanguage() == "Fortran"_s; ++ }); ++} ++ + bool cmGeneratorTarget::HaveCxx20ModuleSources() const + { + auto const& fs_names = this->Target->GetAllFileSetNames(); +diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h +index 78945c3fa9..dca69fd001 100644 +--- a/Source/cmGeneratorTarget.h ++++ b/Source/cmGeneratorTarget.h +@@ -1247,6 +1247,7 @@ public: + cmGeneratorTarget const* t2) const; + }; + ++ bool HaveFortranSources() const; + bool HaveFortranSources(std::string const& config) const; + + // C++20 module support queries. +-- +2.41.0 + diff --git a/0004-cmComputeLinkInformation-compute-link-info-for-modul.patch b/0004-cmComputeLinkInformation-compute-link-info-for-modul.patch new file mode 100644 index 0000000..70e271a --- /dev/null +++ b/0004-cmComputeLinkInformation-compute-link-info-for-modul.patch @@ -0,0 +1,43 @@ +From 74b1d6caf31d9921b8311012ead4497865e77396 Mon Sep 17 00:00:00 2001 +From: Ben Boeckel +Date: Tue, 5 Sep 2023 15:56:03 -0400 +Subject: [PATCH 4/9] cmComputeLinkInformation: compute link info for + module-using targets +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Targets which contain C++ module or Fortran sources need to participate +in link information unconditionally regardless of whether they actually +have link artifacts or not. + +Fixes: #25223 +Signed-off-by: Björn Esser +--- + Source/cmComputeLinkInformation.cxx | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx +index ebbb88f6a2..4804565840 100644 +--- a/Source/cmComputeLinkInformation.cxx ++++ b/Source/cmComputeLinkInformation.cxx +@@ -533,11 +533,14 @@ cmComputeLinkInformation::GetObjectLibrariesLinked() const + + bool cmComputeLinkInformation::Compute() + { +- // Skip targets that do not link. ++ // Skip targets that do not link or have link-like information consumers may ++ // need (namely modules). + if (!(this->Target->GetType() == cmStateEnums::EXECUTABLE || + this->Target->GetType() == cmStateEnums::SHARED_LIBRARY || + this->Target->GetType() == cmStateEnums::MODULE_LIBRARY || +- this->Target->GetType() == cmStateEnums::STATIC_LIBRARY)) { ++ this->Target->GetType() == cmStateEnums::STATIC_LIBRARY || ++ this->Target->HaveCxx20ModuleSources() || ++ this->Target->HaveFortranSources())) { + return false; + } + +-- +2.41.0 + diff --git a/0005-ctest-Restore-support-for-http-redirects-during-Subm.patch b/0005-ctest-Restore-support-for-http-redirects-during-Subm.patch new file mode 100644 index 0000000..6cf4d50 --- /dev/null +++ b/0005-ctest-Restore-support-for-http-redirects-during-Subm.patch @@ -0,0 +1,44 @@ +From 26ce8dc290710ddbad49335f36968d850176b634 Mon Sep 17 00:00:00 2001 +From: Zack Galbreath +Date: Thu, 7 Sep 2023 12:12:30 -0400 +Subject: [PATCH 5/9] ctest: Restore support for http redirects during Submit + step +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +After CDash PR 1519 introduced HTTP status codes greater than 200 for +various error cases, CMake commit b7c871f745 (ctest: Update ctest_submit +for CDash behavior change, 2023-07-24, v3.27.1~3^2) modified CTest's +submit handler to check the status returned by CDash and throw an error +when this status is not equal to 200. + +That change had the unintended side effect of causing CTest submissions +to fail when uploading results to a URL that returns a redirect status +code (3xx). Fix this by configuring cURL to follow the redirect. The +status cURL reports to CTest is now 200 instead of 3xx when CDash is +located behind a redirect. + +Fixes: #25159 +Signed-off-by: Björn Esser +--- + Source/CTest/cmCTestSubmitHandler.cxx | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx +index 7d4b0a847c..c04f23a1fe 100644 +--- a/Source/CTest/cmCTestSubmitHandler.cxx ++++ b/Source/CTest/cmCTestSubmitHandler.cxx +@@ -309,6 +309,9 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP( + // specify target + ::curl_easy_setopt(curl, CURLOPT_URL, upload_as.c_str()); + ++ // follow redirects ++ ::curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1); ++ + // CURLAUTH_BASIC is default, and here we allow additional methods, + // including more secure ones + ::curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); +-- +2.41.0 + diff --git a/0006-FortranCInterface-forward-CMAKE_OSX_DEPLOYMENT_TARGE.patch b/0006-FortranCInterface-forward-CMAKE_OSX_DEPLOYMENT_TARGE.patch new file mode 100644 index 0000000..34ecef3 --- /dev/null +++ b/0006-FortranCInterface-forward-CMAKE_OSX_DEPLOYMENT_TARGE.patch @@ -0,0 +1,31 @@ +From 84a097f0388f8fbf86aeada640f56132e3776335 Mon Sep 17 00:00:00 2001 +From: Ben Boeckel +Date: Sun, 10 Sep 2023 21:10:27 -0400 +Subject: [PATCH 6/9] FortranCInterface: forward `CMAKE_OSX_DEPLOYMENT_TARGET` +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC needs to be taught about every macOS release it seems, so older +builds may not support usage on newer releases by default. + +Signed-off-by: Björn Esser +--- + Modules/FortranCInterface.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Modules/FortranCInterface.cmake b/Modules/FortranCInterface.cmake +index 2c85029ed4..81481a7ba7 100644 +--- a/Modules/FortranCInterface.cmake ++++ b/Modules/FortranCInterface.cmake +@@ -374,6 +374,7 @@ function(FortranCInterface_VERIFY) + "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}" + "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}" + "-DFortranCInterface_BINARY_DIR=${FortranCInterface_BINARY_DIR}" ++ "-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}" + ${_FortranCInterface_OSX_ARCH} + ${_FortranCInterface_EXE_LINKER_FLAGS} + OUTPUT_VARIABLE _output) +-- +2.41.0 + diff --git a/0007-FindBoost-Add-support-for-Boost-1.83.patch b/0007-FindBoost-Add-support-for-Boost-1.83.patch new file mode 100644 index 0000000..16a43cf --- /dev/null +++ b/0007-FindBoost-Add-support-for-Boost-1.83.patch @@ -0,0 +1,75 @@ +From 897a149067b84375d094700632255c0b54f5e44c Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Mon, 11 Sep 2023 09:50:54 -0400 +Subject: [PATCH 7/9] FindBoost: Add support for Boost 1.83 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Update the list of known versions. + +Run the command + + cmake -DBOOST_DIR=/path/to/boost_1_83_0 \ + -P Utilities/Scripts/BoostScanDeps.cmake + +to extract dependencies from the 1.83.0 source tree. + +Dependencies differ from 1.82, as mentioned in the 1.83 release notes: + +* Boost.Timer no longer depends on Boost.Chrono + +Fixes: #25243 +Signed-off-by: Björn Esser +--- + Modules/FindBoost.cmake | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake +index f2e4804d04..1f82bb52a1 100644 +--- a/Modules/FindBoost.cmake ++++ b/Modules/FindBoost.cmake +@@ -1365,7 +1365,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret) + set(_Boost_TIMER_DEPENDENCIES chrono) + set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic) + set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) +- else() ++ elseif(Boost_VERSION_STRING VERSION_LESS 1.83.0) + set(_Boost_CONTRACT_DEPENDENCIES thread chrono) + set(_Boost_COROUTINE_DEPENDENCIES context) + set(_Boost_FIBER_DEPENDENCIES context) +@@ -1380,7 +1380,21 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret) + set(_Boost_TIMER_DEPENDENCIES chrono) + set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic) + set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) +- if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.83.0 AND NOT Boost_NO_WARN_NEW_VERSIONS) ++ else() ++ set(_Boost_CONTRACT_DEPENDENCIES thread chrono) ++ set(_Boost_COROUTINE_DEPENDENCIES context) ++ set(_Boost_FIBER_DEPENDENCIES context) ++ set(_Boost_IOSTREAMS_DEPENDENCIES regex) ++ set(_Boost_JSON_DEPENDENCIES container) ++ set(_Boost_LOG_DEPENDENCIES log_setup filesystem thread regex chrono atomic) ++ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l) ++ set(_Boost_MPI_DEPENDENCIES serialization) ++ set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization) ++ set(_Boost_NUMPY_DEPENDENCIES python${component_python_version}) ++ set(_Boost_THREAD_DEPENDENCIES chrono atomic) ++ set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic) ++ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) ++ if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.84.0 AND NOT Boost_NO_WARN_NEW_VERSIONS) + message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets") + endif() + endif() +@@ -1655,7 +1669,7 @@ else() + # _Boost_COMPONENT_HEADERS. See the instructions at the top of + # _Boost_COMPONENT_DEPENDENCIES. + set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS} +- "1.82.0" "1.82" "1.81.0" "1.81" "1.80.0" "1.80" "1.79.0" "1.79" ++ "1.83.0" "1.83" "1.82.0" "1.82" "1.81.0" "1.81" "1.80.0" "1.80" "1.79.0" "1.79" + "1.78.0" "1.78" "1.77.0" "1.77" "1.76.0" "1.76" "1.75.0" "1.75" "1.74.0" "1.74" + "1.73.0" "1.73" "1.72.0" "1.72" "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69" + "1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65" +-- +2.41.0 + diff --git a/0008-VS-Avoid-unnecessary-CUDA-device-linking-for-OBJECT-.patch b/0008-VS-Avoid-unnecessary-CUDA-device-linking-for-OBJECT-.patch new file mode 100644 index 0000000..614e1d6 --- /dev/null +++ b/0008-VS-Avoid-unnecessary-CUDA-device-linking-for-OBJECT-.patch @@ -0,0 +1,64 @@ +From 6ebff6ebf8850a9372786bf56af8ee79dca6860d Mon Sep 17 00:00:00 2001 +From: Robert Maynard +Date: Mon, 11 Sep 2023 15:54:53 -0400 +Subject: [PATCH 8/9] VS: Avoid unnecessary CUDA device linking for OBJECT + libraries +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without `CudaLink` fields, MSBuild tries to perform a device link step +for object libraries with CUDA_SEPARABLE_COMPILATION on them even when +not needed. This commonly was encountered when generating PTX or +OPTIX-IR output. + +Signed-off-by: Björn Esser +--- + Source/cmVisualStudio10TargetGenerator.cxx | 5 ++++- + Tests/CudaOnly/Fatbin/CMakeLists.txt | 1 + + Tests/CudaOnly/OptixIR/CMakeLists.txt | 1 + + 3 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx +index b3699ae739..b011615097 100644 +--- a/Source/cmVisualStudio10TargetGenerator.cxx ++++ b/Source/cmVisualStudio10TargetGenerator.cxx +@@ -3855,7 +3855,10 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaLinkOptions( + void cmVisualStudio10TargetGenerator::WriteCudaLinkOptions( + Elem& e1, std::string const& configName) + { +- if (this->GeneratorTarget->GetType() > cmStateEnums::MODULE_LIBRARY) { ++ // We need to write link options for OBJECT libraries so that ++ // we override the default device link behavior ( enabled ) when ++ // building object libraries with ptx/optix-ir/etc ++ if (this->GeneratorTarget->GetType() > cmStateEnums::OBJECT_LIBRARY) { + return; + } + +diff --git a/Tests/CudaOnly/Fatbin/CMakeLists.txt b/Tests/CudaOnly/Fatbin/CMakeLists.txt +index db0dc227e0..99744044c1 100644 +--- a/Tests/CudaOnly/Fatbin/CMakeLists.txt ++++ b/Tests/CudaOnly/Fatbin/CMakeLists.txt +@@ -10,6 +10,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/../CUBIN/kernelB.cu + ${CMAKE_CURRENT_SOURCE_DIR}/../CUBIN/kernelC.cu) + + set_property(TARGET CudaFATBIN PROPERTY CUDA_FATBIN_COMPILATION ON) ++set_property(TARGET CudaFATBIN PROPERTY CUDA_SEPARABLE_COMPILATION ON) + + # Will use `cuModuleLoadFatBinary` to load the fatbinaries + add_executable(CudaOnlyFatbin main.cu) +diff --git a/Tests/CudaOnly/OptixIR/CMakeLists.txt b/Tests/CudaOnly/OptixIR/CMakeLists.txt +index afeabdade7..f408d40325 100644 +--- a/Tests/CudaOnly/OptixIR/CMakeLists.txt ++++ b/Tests/CudaOnly/OptixIR/CMakeLists.txt +@@ -13,6 +13,7 @@ if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "11.7.0") + set_property(TARGET CudaOptix PROPERTY CUDA_OPTIX_COMPILATION ON) + endif() + ++set_property(TARGET CudaOptix PROPERTY CUDA_SEPARABLE_COMPILATION ON) + set_property(TARGET CudaOptix PROPERTY CUDA_ARCHITECTURES native) + + add_executable(CudaOnlyOptixIR main.cu) +-- +2.41.0 + diff --git a/0009-Autogen-Evaluate-INTERFACE_AUTOMOC_MACRO_NAMES-effic.patch b/0009-Autogen-Evaluate-INTERFACE_AUTOMOC_MACRO_NAMES-effic.patch new file mode 100644 index 0000000..c368c8b --- /dev/null +++ b/0009-Autogen-Evaluate-INTERFACE_AUTOMOC_MACRO_NAMES-effic.patch @@ -0,0 +1,35 @@ +From 42adf3cba82c1f375d7a75a76697e674fd6f1b2f Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Tue, 12 Sep 2023 13:50:16 -0400 +Subject: [PATCH 9/9] Autogen: Evaluate INTERFACE_AUTOMOC_MACRO_NAMES + efficiently +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In commit c5c3aff1f5 (Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target +property, 2023-04-03, v3.27.0-rc1~197^2) we forgot to mark the property +as a usage requirement. This is needed for efficient evaluation over +the target dependency closure. + +Fixes: #25238 +Signed-off-by: Björn Esser +--- + Source/cmGeneratorExpressionDAGChecker.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/cmGeneratorExpressionDAGChecker.h b/Source/cmGeneratorExpressionDAGChecker.h +index 1919b014e5..782d6c8b7d 100644 +--- a/Source/cmGeneratorExpressionDAGChecker.h ++++ b/Source/cmGeneratorExpressionDAGChecker.h +@@ -23,6 +23,7 @@ class cmGeneratorTarget; + SELECT(F, EvaluatingSystemIncludeDirectories, SYSTEM_INCLUDE_DIRECTORIES) \ + SELECT(F, EvaluatingCompileDefinitions, COMPILE_DEFINITIONS) \ + SELECT(F, EvaluatingCompileOptions, COMPILE_OPTIONS) \ ++ SELECT(F, EvaluatingAutoMocMacroNames, AUTOMOC_MACRO_NAMES) \ + SELECT(F, EvaluatingAutoUicOptions, AUTOUIC_OPTIONS) \ + SELECT(F, EvaluatingSources, SOURCES) \ + SELECT(F, EvaluatingCompileFeatures, COMPILE_FEATURES) \ +-- +2.41.0 + diff --git a/cmake.spec b/cmake.spec index b2f3d73..eca6f2c 100644 --- a/cmake.spec +++ b/cmake.spec @@ -72,7 +72,7 @@ %global patch_version 4 # For handling bump release by rpmdev-bumpspec and mass rebuild -%global baserelease 6 +%global baserelease 7 # Set to RC version if building RC, else comment out. #global rcsuf rc1 @@ -123,8 +123,15 @@ Patch100: %{name}-findruby.patch Patch1: %{name}-rename.patch %endif -# https://gitlab.kitware.com/cmake/cmake/-/issues/25204 Patch10001: 0001-Source-Link-libatomic-when-needed-on-any-Linux-archi.patch +Patch10002: 0002-Help-MSVC_DEBUG_INFORMATION_FORMAT-is-initialized-fr.patch +Patch10003: 0003-cmGeneratorTarget-support-config-independent-Fortran.patch +Patch10004: 0004-cmComputeLinkInformation-compute-link-info-for-modul.patch +Patch10005: 0005-ctest-Restore-support-for-http-redirects-during-Subm.patch +Patch10006: 0006-FortranCInterface-forward-CMAKE_OSX_DEPLOYMENT_TARGE.patch +Patch10007: 0007-FindBoost-Add-support-for-Boost-1.83.patch +Patch10008: 0008-VS-Avoid-unnecessary-CUDA-device-linking-for-OBJECT-.patch +Patch10009: 0009-Autogen-Evaluate-INTERFACE_AUTOMOC_MACRO_NAMES-effic.patch BuildRequires: coreutils BuildRequires: findutils @@ -552,7 +559,10 @@ popd %changelog -* Wed Sep 04 2023 Panu Matilainen - 3.27.4-6 +* Thu Sep 14 2023 Björn Esser - 3.27.4-7 +- Add upstream patches from milestone to cmake-3.27.5 + +* Wed Sep 06 2023 Panu Matilainen - 3.27.4-6 - Only require cmake-rpm-macros when rpm-build is installed part II * Sat Sep 02 2023 Tom Stellard - 3.27.4-5