Tests/CXXModules: add tests for C++26 import std
support
This commit is contained in:
parent
6dad18f060
commit
e89e819398
11
Tests/RunCMake/CXXModules/NoCXX26TargetNotRequired.cmake
Normal file
11
Tests/RunCMake/CXXModules/NoCXX26TargetNotRequired.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
enable_language(CXX)
|
||||
set(CMAKE_CXX_SCANDEP_SOURCE "echo")
|
||||
|
||||
set(CMAKE_CXX_MODULE_STD 0)
|
||||
|
||||
add_library(nocxx26target)
|
||||
target_sources(nocxx26target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx26target PRIVATE cxx_std_26)
|
@ -0,0 +1 @@
|
||||
1
|
@ -0,0 +1,9 @@
|
||||
CMake Error in CMakeLists.txt:
|
||||
The "CXX_MODULE_STD" property on the target "nocxx26target" requires that
|
||||
the "__CMAKE::CXX26" target exist, but it was not provided by the
|
||||
toolchain. Reason:
|
||||
|
||||
(Toolchain does not support discovering `import std` support|Experimental `import std` support not enabled when detecting toolchain|Unsupported generator: [^\n]*)
|
||||
|
||||
|
||||
CMake Generate step failed. Build files cannot be regenerated correctly.
|
11
Tests/RunCMake/CXXModules/NoCXX26TargetRequired.cmake
Normal file
11
Tests/RunCMake/CXXModules/NoCXX26TargetRequired.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
enable_language(CXX)
|
||||
set(CMAKE_CXX_SCANDEP_SOURCE "echo")
|
||||
|
||||
set(CMAKE_CXX_MODULE_STD 1)
|
||||
|
||||
add_library(nocxx26target)
|
||||
target_sources(nocxx26target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx26target PRIVATE cxx_std_26)
|
13
Tests/RunCMake/CXXModules/NoCXX26TargetUnset.cmake
Normal file
13
Tests/RunCMake/CXXModules/NoCXX26TargetUnset.cmake
Normal file
@ -0,0 +1,13 @@
|
||||
enable_language(CXX)
|
||||
set(CMAKE_CXX_SCANDEP_SOURCE "echo")
|
||||
|
||||
# TODO(cxxmodules): Add instances of this test which test the policy
|
||||
# of the property's unset behavior.
|
||||
# set(CMAKE_CXX_MODULE_STD …)
|
||||
|
||||
add_library(nocxx26target)
|
||||
target_sources(nocxx26target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx26target PRIVATE cxx_std_26)
|
@ -97,6 +97,13 @@ if ("cxx_std_23" IN_LIST CMAKE_CXX_COMPILE_FEATURES AND
|
||||
run_cmake(NoCXX23TargetRequired)
|
||||
endif ()
|
||||
|
||||
if ("cxx_std_26" IN_LIST CMAKE_CXX_COMPILE_FEATURES AND
|
||||
NOT have_cxx26_import_std)
|
||||
run_cmake(NoCXX26TargetUnset)
|
||||
run_cmake(NoCXX26TargetNotRequired)
|
||||
run_cmake(NoCXX26TargetRequired)
|
||||
endif ()
|
||||
|
||||
run_cmake(InstallBMI)
|
||||
run_cmake(InstallBMIGenericArgs)
|
||||
run_cmake(InstallBMIIgnore)
|
||||
|
Loading…
Reference in New Issue
Block a user