CMakeLists.txt 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. cmake_minimum_required(VERSION 3.24...3.28)
  2. project(cxx_modules_duplicate CXX)
  3. include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
  4. add_executable(duplicate)
  5. target_sources(duplicate
  6. PRIVATE
  7. main.cxx
  8. PRIVATE
  9. FILE_SET CXX_MODULES
  10. BASE_DIRS
  11. "${CMAKE_CURRENT_SOURCE_DIR}"
  12. FILES
  13. duplicate.cxx)
  14. target_compile_features(duplicate PRIVATE cxx_std_20)
  15. target_compile_definitions(duplicate PRIVATE NDUPLICATE=1)
  16. add_executable(duplicate2)
  17. target_sources(duplicate2
  18. PRIVATE
  19. main.cxx
  20. PRIVATE
  21. FILE_SET CXX_MODULES
  22. BASE_DIRS
  23. "${CMAKE_CURRENT_SOURCE_DIR}"
  24. FILES
  25. duplicate.cxx)
  26. target_compile_features(duplicate2 PRIVATE cxx_std_20)
  27. target_compile_definitions(duplicate2 PRIVATE NDUPLICATE=2)
  28. add_test(NAME duplicate COMMAND duplicate)
  29. set_property(TEST duplicate
  30. PROPERTY
  31. PASS_REGULAR_EXPRESSION "From duplicate #1")
  32. add_test(NAME duplicate2 COMMAND duplicate2)
  33. set_property(TEST duplicate2
  34. PROPERTY
  35. PASS_REGULAR_EXPRESSION "From duplicate #2")