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
merge-requests/9497/head
commit
617884e78a
|
@ -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.
|
||||
|
|
|
@ -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})
|
||||
|
|
Loading…
Reference in New Issue