VisualStudioNoSyntheticTargets.cmake 894 B

123456789101112131415161718192021222324252627
  1. enable_language(CXX)
  2. if (NOT CMAKE_GENERATOR MATCHES "Visual Studio")
  3. message(FATAL_ERROR
  4. "This test requires a 'Visual Studio' generator to be used.")
  5. endif ()
  6. add_library(imported-cxx-modules IMPORTED INTERFACE)
  7. target_sources(imported-cxx-modules
  8. INTERFACE
  9. FILE_SET modules TYPE CXX_MODULES
  10. BASE_DIRS
  11. "${CMAKE_CURRENT_SOURCE_DIR}/sources"
  12. FILES
  13. sources/module-simple.cxx)
  14. set_target_properties(imported-cxx-modules PROPERTIES
  15. IMPORTED_CONFIGURATIONS DEBUG
  16. IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
  17. IMPORTED_CXX_MODULES_COMPILE_FEATURES "cxx_std_20"
  18. INTERFACE_COMPILE_FEATURES "cxx_std_20"
  19. IMPORTED_CXX_MODULES_DEBUG "simple=${CMAKE_CURRENT_SOURCE_DIR}/sources/module-simple.cxx")
  20. add_executable(vs-use-imported-cxx-modules
  21. sources/module-simple-use.cxx)
  22. target_link_libraries(vs-use-imported-cxx-modules
  23. PRIVATE
  24. imported-cxx-modules)