Tests/CXXModules: add tests for genex usage in CXX_MODULE_STD
This commit is contained in:
parent
a9ad29403e
commit
b17e6a52f9
1
Tests/RunCMake/CXXModules/CXXImportStdConfig-result.txt
Normal file
1
Tests/RunCMake/CXXModules/CXXImportStdConfig-result.txt
Normal file
@ -0,0 +1 @@
|
||||
1
|
3
Tests/RunCMake/CXXModules/CXXImportStdConfig-stderr.txt
Normal file
3
Tests/RunCMake/CXXModules/CXXImportStdConfig-stderr.txt
Normal file
@ -0,0 +1,3 @@
|
||||
CMake Error in CMakeLists.txt:
|
||||
The "CXX_MODULE_STD" property on the target "nocxx23target" contains a
|
||||
context-sensitive condition that is not supported.
|
10
Tests/RunCMake/CXXModules/CXXImportStdConfig.cmake
Normal file
10
Tests/RunCMake/CXXModules/CXXImportStdConfig.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
enable_language(CXX)
|
||||
|
||||
set(CMAKE_CXX_MODULE_STD "$<CONFIG:Release>")
|
||||
|
||||
add_library(nocxx23target)
|
||||
target_sources(nocxx23target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx23target PRIVATE cxx_std_23)
|
@ -0,0 +1 @@
|
||||
1
|
@ -0,0 +1,9 @@
|
||||
CMake Error:
|
||||
Error evaluating generator expression:
|
||||
|
||||
\$<TARGET_PROPERTY:use_std_in_consumed>
|
||||
|
||||
\$<TARGET_PROPERTY:prop> may only be used with binary targets. It may not
|
||||
be used with add_custom_command or add_custom_target. Specify the target
|
||||
to read a property from using the \$<TARGET_PROPERTY:tgt,prop> signature
|
||||
instead.
|
10
Tests/RunCMake/CXXModules/CXXImportStdHeadTarget.cmake
Normal file
10
Tests/RunCMake/CXXModules/CXXImportStdHeadTarget.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
enable_language(CXX)
|
||||
|
||||
set(CMAKE_CXX_MODULE_STD "$<TARGET_PROPERTY:use_std_in_consumed>")
|
||||
|
||||
add_library(nocxx23target)
|
||||
target_sources(nocxx23target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx23target PRIVATE cxx_std_23)
|
11
Tests/RunCMake/CXXModules/CXXImportStdInvalidGenex.cmake
Normal file
11
Tests/RunCMake/CXXModules/CXXImportStdInvalidGenex.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
enable_language(CXX)
|
||||
set(CMAKE_CXX_SCANDEP_SOURCE "echo")
|
||||
|
||||
set(CMAKE_CXX_MODULE_STD "$<STREQUAL:")
|
||||
|
||||
add_library(nocxx23target)
|
||||
target_sources(nocxx23target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx23target PRIVATE cxx_std_23)
|
@ -0,0 +1 @@
|
||||
1
|
@ -0,0 +1,7 @@
|
||||
CMake Error:
|
||||
Error evaluating generator expression:
|
||||
|
||||
\$<LINK_LANGUAGE:CXX>
|
||||
|
||||
\$<LINK_LANGUAGE:...> may only be used with binary targets to specify link
|
||||
libraries, link directories, link options and link depends.
|
10
Tests/RunCMake/CXXModules/CXXImportStdLinkLanguage.cmake
Normal file
10
Tests/RunCMake/CXXModules/CXXImportStdLinkLanguage.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
enable_language(CXX)
|
||||
|
||||
set(CMAKE_CXX_MODULE_STD "$<LINK_LANGUAGE:CXX>")
|
||||
|
||||
add_library(nocxx23target)
|
||||
target_sources(nocxx23target
|
||||
PRIVATE
|
||||
FILE_SET fs TYPE CXX_MODULES FILES
|
||||
sources/module.cxx)
|
||||
target_compile_features(nocxx23target PRIVATE cxx_std_23)
|
@ -83,6 +83,13 @@ foreach (fileset_type IN LISTS fileset_types)
|
||||
run_cmake("NotCXXSource${fileset_type}")
|
||||
endforeach ()
|
||||
|
||||
if ("cxx_std_23" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
|
||||
run_cmake(CXXImportStdConfig)
|
||||
run_cmake(CXXImportStdHeadTarget)
|
||||
run_cmake(CXXImportStdLinkLanguage)
|
||||
run_cmake(CXXImportStdInvalidGenex)
|
||||
endif ()
|
||||
|
||||
run_cmake(InstallBMI)
|
||||
run_cmake(InstallBMIGenericArgs)
|
||||
run_cmake(InstallBMIIgnore)
|
||||
|
Loading…
Reference in New Issue
Block a user