summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-05-07 12:33:56 (GMT)
committerKitware Robot <kwrobot@kitware.com>2024-05-07 12:34:05 (GMT)
commit617884e78a20ec7c34147bd04ba4fd058a1008f6 (patch)
treea2cfc784135c298f9b020c9d872e16b2c1bee258 /Modules
parentf082c3d4c3a5ef4252b00c1d9bcb6796fd9f9e4d (diff)
parent6df925b595220a0db1d7c172f15f39f4bee9f75d (diff)
downloadCMake-617884e78a20ec7c34147bd04ba4fd058a1008f6.zip
CMake-617884e78a20ec7c34147bd04ba4fd058a1008f6.tar.gz
CMake-617884e78a20ec7c34147bd04ba4fd058a1008f6.tar.bz2
Merge topic 'cxx-inspect-without-scanning'
6df925b595 cxxmodules: Do not scan sources while testing the compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !9494
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeDetermineCompilerABI.cmake3
-rw-r--r--Modules/CMakeTestCXXCompiler.cmake13
2 files changed, 16 insertions, 0 deletions
diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake
index 6d82304..4049bc1 100644
--- a/Modules/CMakeDetermineCompilerABI.cmake
+++ b/Modules/CMakeDetermineCompilerABI.cmake
@@ -39,6 +39,9 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
endif()
set(CMAKE_${lang}_RUNTIME_LIBRARY "Static")
endif()
+ if(lang STREQUAL "CXX")
+ set(CMAKE_${lang}_SCAN_FOR_MODULES OFF)
+ endif()
if(NOT "x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xMSVC")
# Avoid adding our own platform standard libraries for compilers
# from which we might detect implicit link libraries.
diff --git a/Modules/CMakeTestCXXCompiler.cmake b/Modules/CMakeTestCXXCompiler.cmake
index c82a154..6f5b36c 100644
--- a/Modules/CMakeTestCXXCompiler.cmake
+++ b/Modules/CMakeTestCXXCompiler.cmake
@@ -37,6 +37,13 @@ endif()
# any makefiles or projects.
if(NOT CMAKE_CXX_COMPILER_WORKS)
PrintTestCompilerStatus("CXX")
+ # FIXME: Use a block() to isolate the variables we set/unset here.
+ if(DEFINED CMAKE_CXX_SCAN_FOR_MODULES)
+ set(__CMAKE_SAVED_CXX_SCAN_FOR_MODULES "${CMAKE_CXX_SCAN_FOR_MODULES}")
+ else()
+ unset(__CMAKE_SAVED_CXX_SCAN_FOR_MODULES)
+ endif()
+ set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
__TestCompiler_setTryCompileTargetType()
string(CONCAT __TestCompiler_testCXXCompilerSource
"#ifndef __cplusplus\n"
@@ -49,6 +56,12 @@ if(NOT CMAKE_CXX_COMPILER_WORKS)
try_compile(CMAKE_CXX_COMPILER_WORKS
SOURCE_FROM_VAR testCXXCompiler.cxx __TestCompiler_testCXXCompilerSource
OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
+ if(DEFINED __CMAKE_SAVED_CXX_SCAN_FOR_MODULES)
+ set(CMAKE_CXX_SCAN_FOR_MODULES "${__CMAKE_SAVED_CXX_SCAN_FOR_MODULES}")
+ unset(__CMAKE_SAVED_CXX_SCAN_FOR_MODULES)
+ else()
+ unset(CMAKE_CXX_SCAN_FOR_MODULES)
+ endif()
unset(__TestCompiler_testCXXCompilerSource)
# Move result from cache to normal variable.
set(CMAKE_CXX_COMPILER_WORKS ${CMAKE_CXX_COMPILER_WORKS})