mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-05 14:18:35 -06:00
Tests/CXXModules: test Visual Studio synthetic target error
This commit is contained in:
@@ -95,7 +95,7 @@ if (RunCMake_GENERATOR MATCHES "Ninja")
|
|||||||
run_cmake(NinjaDependInfoExport)
|
run_cmake(NinjaDependInfoExport)
|
||||||
run_cmake(NinjaDependInfoBMIInstall)
|
run_cmake(NinjaDependInfoBMIInstall)
|
||||||
elseif (RunCMake_GENERATOR MATCHES "Visual Studio")
|
elseif (RunCMake_GENERATOR MATCHES "Visual Studio")
|
||||||
# Not supported yet.
|
run_cmake(VisualStudioNoSyntheticTargets)
|
||||||
else ()
|
else ()
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"Please add 'DependInfo' tests for the '${RunCMake_GENERATOR}' generator.")
|
"Please add 'DependInfo' tests for the '${RunCMake_GENERATOR}' generator.")
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
^(CMake Error in CMakeLists.txt:
|
||||||
|
Target "imported-cxx-modules@synth_[0-9a-f]+" contains C\+\+ modules
|
||||||
|
intended for BMI-only compilation. This is not yet supported by the Visual
|
||||||
|
Studio generator.
|
||||||
|
*
|
||||||
|
)+CMake Generate step failed. Build files cannot be regenerated correctly.
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
enable_language(CXX)
|
||||||
|
|
||||||
|
if (NOT CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"This test requires a 'Visual Studio' generator to be used.")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
add_library(imported-cxx-modules IMPORTED INTERFACE)
|
||||||
|
target_sources(imported-cxx-modules
|
||||||
|
INTERFACE
|
||||||
|
FILE_SET modules TYPE CXX_MODULES
|
||||||
|
BASE_DIRS
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/sources"
|
||||||
|
FILES
|
||||||
|
sources/module-simple.cxx)
|
||||||
|
set_target_properties(imported-cxx-modules PROPERTIES
|
||||||
|
IMPORTED_CONFIGURATIONS DEBUG
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
|
||||||
|
IMPORTED_CXX_MODULES_COMPILE_FEATURES "cxx_std_20"
|
||||||
|
INTERFACE_COMPILE_FEATURES "cxx_std_20"
|
||||||
|
IMPORTED_CXX_MODULES_DEBUG "simple=${CMAKE_CURRENT_SOURCE_DIR}/sources/module-simple.cxx")
|
||||||
|
|
||||||
|
add_executable(vs-use-imported-cxx-modules
|
||||||
|
sources/module-simple-use.cxx)
|
||||||
|
target_link_libraries(vs-use-imported-cxx-modules
|
||||||
|
PRIVATE
|
||||||
|
imported-cxx-modules)
|
||||||
6
Tests/RunCMake/CXXModules/sources/module-simple-use.cxx
Normal file
6
Tests/RunCMake/CXXModules/sources/module-simple-use.cxx
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import simple;
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
return g();
|
||||||
|
}
|
||||||
6
Tests/RunCMake/CXXModules/sources/module-simple.cxx
Normal file
6
Tests/RunCMake/CXXModules/sources/module-simple.cxx
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
export module simple;
|
||||||
|
|
||||||
|
int g()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user