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.
This commit is contained in:
Ben Boeckel 2024-02-27 11:54:35 -05:00
parent 7aa1e45e56
commit d7e65b6178
5 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,6 @@
# Block making C++ `import std` targets.
add_library(__CMAKE::CXX23 IMPORTED INTERFACE)
enable_language(CXX)
unset(CMAKE_CXX_SCANDEP_SOURCE)

View File

@ -1,3 +1,6 @@
# Block making C++ `import std` targets.
add_library(__CMAKE::CXX23 IMPORTED INTERFACE)
enable_language(CXX)
unset(CMAKE_CXX_SCANDEP_SOURCE)

View File

@ -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)

View File

@ -1,3 +1,6 @@
# Block making C++ `import std` targets.
add_library(__CMAKE::CXX23 IMPORTED INTERFACE)
enable_language(CXX)
add_library(nocxx20)

View File

@ -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.