CMakeLists.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. cmake_minimum_required(VERSION 3.24...3.28)
  2. project(cxx_modules_export_include_directories_old_cmake CXX)
  3. include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
  4. add_library(export_include_directories_old_cmake)
  5. target_sources(export_include_directories_old_cmake
  6. PUBLIC
  7. FILE_SET modules TYPE CXX_MODULES
  8. BASE_DIRS
  9. "${CMAKE_CURRENT_SOURCE_DIR}"
  10. FILES
  11. importable.cxx
  12. )
  13. target_compile_features(export_include_directories_old_cmake PUBLIC cxx_std_20)
  14. install(TARGETS export_include_directories_old_cmake
  15. EXPORT CXXModules
  16. FILE_SET modules DESTINATION "lib/cxx/miu")
  17. install(EXPORT CXXModules
  18. NAMESPACE CXXModules::
  19. DESTINATION "lib/cmake/export_include_directories_old_cmake"
  20. FILE "export_include_directories_old_cmake-targets.cmake"
  21. CXX_MODULES_DIRECTORY "export_include_directories_old_cmake-cxx-modules")
  22. file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/export_include_directories_old_cmake-config.cmake"
  23. "include(\"\${CMAKE_CURRENT_LIST_DIR}/export_include_directories_old_cmake-targets.cmake\")
  24. set(\${CMAKE_FIND_PACKAGE_NAME}_FOUND 1)
  25. ")
  26. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/export_include_directories_old_cmake-config.cmake"
  27. DESTINATION "lib/cmake/export_include_directories_old_cmake")
  28. set(generator
  29. -G "${CMAKE_GENERATOR}")
  30. if (CMAKE_GENERATOR_TOOLSET)
  31. list(APPEND generator
  32. -T "${CMAKE_GENERATOR_TOOLSET}")
  33. endif ()
  34. if (CMAKE_GENERATOR_PLATFORM)
  35. list(APPEND generator
  36. -A "${CMAKE_GENERATOR_PLATFORM}")
  37. endif ()
  38. add_test(NAME export_include_directories_old_cmake_build
  39. COMMAND
  40. "${CMAKE_COMMAND}"
  41. "-Dexpected_source_dir=${CMAKE_INSTALL_PREFIX}/lib/cxx/miu"
  42. "-Dexpected_binary_dir=${CMAKE_INSTALL_PREFIX}/lib/cxx/bmi"
  43. "-Dexport_include_directories_old_cmake_DIR=${CMAKE_INSTALL_PREFIX}/lib/cmake/export_include_directories_old_cmake"
  44. ${generator}
  45. -S "${CMAKE_CURRENT_SOURCE_DIR}/test"
  46. -B "${CMAKE_CURRENT_BINARY_DIR}/test")