From d7e65b61781fdd3598c2115e10723449dde2f2e4 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 27 Feb 2024 11:54:35 -0500 Subject: Tests/CXXModules: mask C++23 std module targets These tests mess with the availability of C++ module support. Hide generation of the utility targets from any compiler detection. --- Tests/RunCMake/CXXModules/CMP0155-NEW.cmake | 3 +++ Tests/RunCMake/CXXModules/CMP0155-OLD.cmake | 3 +++ Tests/RunCMake/CXXModules/ImplicitCXX20.cmake | 3 +++ Tests/RunCMake/CXXModules/NoCXX20.cmake | 3 +++ Tests/RunCMake/CXXModules/NoScanningVariable.cmake | 3 +++ 5 files changed, 15 insertions(+) diff --git a/Tests/RunCMake/CXXModules/CMP0155-NEW.cmake b/Tests/RunCMake/CXXModules/CMP0155-NEW.cmake index d68775a..c754930 100644 --- a/Tests/RunCMake/CXXModules/CMP0155-NEW.cmake +++ b/Tests/RunCMake/CXXModules/CMP0155-NEW.cmake @@ -1,3 +1,6 @@ +# Block making C++ `import std` targets. +add_library(__CMAKE::CXX23 IMPORTED INTERFACE) + enable_language(CXX) unset(CMAKE_CXX_SCANDEP_SOURCE) diff --git a/Tests/RunCMake/CXXModules/CMP0155-OLD.cmake b/Tests/RunCMake/CXXModules/CMP0155-OLD.cmake index 201598e..a994266 100644 --- a/Tests/RunCMake/CXXModules/CMP0155-OLD.cmake +++ b/Tests/RunCMake/CXXModules/CMP0155-OLD.cmake @@ -1,3 +1,6 @@ +# Block making C++ `import std` targets. +add_library(__CMAKE::CXX23 IMPORTED INTERFACE) + enable_language(CXX) unset(CMAKE_CXX_SCANDEP_SOURCE) diff --git a/Tests/RunCMake/CXXModules/ImplicitCXX20.cmake b/Tests/RunCMake/CXXModules/ImplicitCXX20.cmake index cac1777..64d69f3 100644 --- a/Tests/RunCMake/CXXModules/ImplicitCXX20.cmake +++ b/Tests/RunCMake/CXXModules/ImplicitCXX20.cmake @@ -1,6 +1,9 @@ # Enable scanning by default for targets that explicitly use C++ 20. cmake_policy(SET CMP0155 NEW) +# Block making C++ `import std` targets. +add_library(__CMAKE::CXX23 IMPORTED INTERFACE) + # Force CMAKE_CXX_STANDARD_DEFAULT to be C++ 20. set(ENV{CXXFLAGS} "$ENV{CXXFLAGS} ${CMAKE_CXX20_STANDARD_COMPILE_OPTION}") enable_language(CXX) diff --git a/Tests/RunCMake/CXXModules/NoCXX20.cmake b/Tests/RunCMake/CXXModules/NoCXX20.cmake index b7372e8..9710728 100644 --- a/Tests/RunCMake/CXXModules/NoCXX20.cmake +++ b/Tests/RunCMake/CXXModules/NoCXX20.cmake @@ -1,3 +1,6 @@ +# Block making C++ `import std` targets. +add_library(__CMAKE::CXX23 IMPORTED INTERFACE) + enable_language(CXX) add_library(nocxx20) diff --git a/Tests/RunCMake/CXXModules/NoScanningVariable.cmake b/Tests/RunCMake/CXXModules/NoScanningVariable.cmake index 4bb6a70..950f1f3 100644 --- a/Tests/RunCMake/CXXModules/NoScanningVariable.cmake +++ b/Tests/RunCMake/CXXModules/NoScanningVariable.cmake @@ -1,6 +1,9 @@ # Enable scanning by default for targets that explicitly use C++ 20. cmake_policy(SET CMP0155 NEW) +# Block making C++ `import std` targets. +add_library(__CMAKE::CXX23 IMPORTED INTERFACE) + enable_language(CXX) # Hide any real scanning rule that may be available. -- cgit v0.12