diff options
author | Brad King <brad.king@kitware.com> | 2023-10-11 14:30:11 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-10-11 14:31:05 (GMT) |
commit | 581a03a1386dbfc74e596a25207fbf32fbc034ec (patch) | |
tree | c4ebc0c2f179a131dcafeeb6351033e92b5fa8f8 /Tests | |
parent | 8783a3ec78d08c1726e9c609ccfea89491410575 (diff) | |
parent | fd81024e804b9b874cfe86e3781680db22f8c552 (diff) | |
download | CMake-581a03a1386dbfc74e596a25207fbf32fbc034ec.zip CMake-581a03a1386dbfc74e596a25207fbf32fbc034ec.tar.gz CMake-581a03a1386dbfc74e596a25207fbf32fbc034ec.tar.bz2 |
Merge topic 'cxxmodules-try_compile' into release-3.28
fd81024e80 cxxmodules: Honor CMAKE_CXX_SCAN_FOR_MODULES in try_compile
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8865
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/CXXModules/NoScanningVariable.cmake | 21 | ||||
-rw-r--r-- | Tests/RunCMake/CXXModules/RunCMakeTest.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CXXModules/main-no-use.cxx | 4 |
3 files changed, 26 insertions, 0 deletions
diff --git a/Tests/RunCMake/CXXModules/NoScanningVariable.cmake b/Tests/RunCMake/CXXModules/NoScanningVariable.cmake new file mode 100644 index 0000000..4bb6a70 --- /dev/null +++ b/Tests/RunCMake/CXXModules/NoScanningVariable.cmake @@ -0,0 +1,21 @@ +# Enable scanning by default for targets that explicitly use C++ 20. +cmake_policy(SET CMP0155 NEW) + +enable_language(CXX) + +# Hide any real scanning rule that may be available. +unset(CMAKE_CXX_SCANDEP_SOURCE) + +# Explicitly enable C++20 for all targets. +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# Explicitly suppress scanning so that support is not required. +set(CMAKE_CXX_SCAN_FOR_MODULES OFF) + +add_executable(noscanning-variable main-no-use.cxx) + +# Verify that CMAKE_CXX_SCAN_FOR_MODULES is propagated into the check. +# FIXME: Unset CMAKE_CXX_SCANDEP_SOURCE inside try_compile so this +# test can verify behavior on newer compilers too. +try_compile(result SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/main-no-use.cxx) diff --git a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake index 05d2655..e13b2d4 100644 --- a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake +++ b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake @@ -20,6 +20,7 @@ if ("cxx_std_20" IN_LIST CMAKE_CXX_COMPILE_FEATURES) run_cmake(NoScanningSourceFileProperty) run_cmake(NoScanningTargetProperty) + run_cmake(NoScanningVariable) run_cmake(CMP0155-OLD) run_cmake(CMP0155-NEW) endif () diff --git a/Tests/RunCMake/CXXModules/main-no-use.cxx b/Tests/RunCMake/CXXModules/main-no-use.cxx new file mode 100644 index 0000000..f8b643a --- /dev/null +++ b/Tests/RunCMake/CXXModules/main-no-use.cxx @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} |