blob: 64d69f3a695e995ee7261c7548f44d9d79430168 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 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)
# Hide any real scanning rule that may be available.
unset(CMAKE_CXX_SCANDEP_SOURCE)
# Create a target that does not explicitly use C++ 20 to verify it works
# without any scanning rule available.
add_executable(cmp0155-new sources/module-use.cxx)
|