summaryrefslogtreecommitdiffstats
path: root/Source/cmCoreTryCompile.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-10-10 15:14:50 (GMT)
committerBrad King <brad.king@kitware.com>2023-10-10 15:25:21 (GMT)
commitfd81024e804b9b874cfe86e3781680db22f8c552 (patch)
tree777270e74de30ca3ba7147343528593a369cfac6 /Source/cmCoreTryCompile.cxx
parent308d687018a8f63936a3d850ef487e9194e08f31 (diff)
downloadCMake-fd81024e804b9b874cfe86e3781680db22f8c552.zip
CMake-fd81024e804b9b874cfe86e3781680db22f8c552.tar.gz
CMake-fd81024e804b9b874cfe86e3781680db22f8c552.tar.bz2
cxxmodules: Honor CMAKE_CXX_SCAN_FOR_MODULES in try_compile
Under CMP0155's NEW behavior, projects that explicitly enable C++20 support with `set(CMAKE_CXX_STANDARD 20)` may also explicitly disable scanning with `set(CMAKE_CXX_SCAN_FOR_MODULES OFF)`. We already propagate `CMAKE_CXX_STANDARD` into `try_compile` test projects, so propagate `CMAKE_CXX_SCAN_FOR_MODULES` too. Fixes: #25313
Diffstat (limited to 'Source/cmCoreTryCompile.cxx')
-rw-r--r--Source/cmCoreTryCompile.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx
index 67462f5..7e19812 100644
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@ -72,6 +72,7 @@ SETUP_LANGUAGE(swift_properties, Swift);
std::string const kCMAKE_CUDA_ARCHITECTURES = "CMAKE_CUDA_ARCHITECTURES";
std::string const kCMAKE_CUDA_RUNTIME_LIBRARY = "CMAKE_CUDA_RUNTIME_LIBRARY";
+std::string const kCMAKE_CXX_SCAN_FOR_MODULES = "CMAKE_CXX_SCAN_FOR_MODULES";
std::string const kCMAKE_ENABLE_EXPORTS = "CMAKE_ENABLE_EXPORTS";
std::string const kCMAKE_EXECUTABLE_ENABLE_EXPORTS =
"CMAKE_EXECUTABLE_ENABLE_EXPORTS";
@@ -1082,6 +1083,7 @@ cm::optional<cmTryCompileResult> cmCoreTryCompile::TryCompileCode(
&swift_properties[lang_property_start + lang_property_size]);
vars.insert(kCMAKE_CUDA_ARCHITECTURES);
vars.insert(kCMAKE_CUDA_RUNTIME_LIBRARY);
+ vars.insert(kCMAKE_CXX_SCAN_FOR_MODULES);
vars.insert(kCMAKE_ENABLE_EXPORTS);
vars.insert(kCMAKE_EXECUTABLE_ENABLE_EXPORTS);
vars.insert(kCMAKE_SHARED_LIBRARY_ENABLE_EXPORTS);