CMakeLists.txt 836 B

123456789101112131415161718192021222324252627
  1. cmake_minimum_required(VERSION 3.24)
  2. project(cxx_modules_install_bmi_and_interfaces CXX)
  3. include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
  4. add_library(install_bmi_and_interfaces STATIC)
  5. target_sources(install_bmi_and_interfaces
  6. PUBLIC
  7. FILE_SET CXX_MODULES
  8. BASE_DIRS
  9. "${CMAKE_CURRENT_SOURCE_DIR}"
  10. FILES
  11. importable.cxx)
  12. target_compile_features(install_bmi_and_interfaces PUBLIC cxx_std_20)
  13. install(TARGETS install_bmi_and_interfaces
  14. ARCHIVE DESTINATION "lib"
  15. CXX_MODULES_BMI DESTINATION "lib/cxx/bmi"
  16. FILE_SET CXX_MODULES DESTINATION "lib/cxx/miu")
  17. add_test(NAME check-for-bmi
  18. COMMAND
  19. "${CMAKE_COMMAND}"
  20. "-Dprefix=${CMAKE_INSTALL_PREFIX}"
  21. "-Dbmi_destination=lib/cxx/bmi"
  22. "-Dfs_destination=lib/cxx/miu"
  23. -P "${CMAKE_CURRENT_SOURCE_DIR}/check-for-bmi.cmake")