1 cmake_minimum_required(VERSION 3.24)
2 project(cxx_modules_export_bmi_and_interfaces CXX)
4 include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
6 add_library(export_bmi_and_interfaces STATIC)
7 target_sources(export_bmi_and_interfaces
11 FILE_SET modules_private TYPE CXX_MODULES
13 "${CMAKE_CURRENT_SOURCE_DIR}"
17 FILE_SET modules TYPE CXX_MODULES
19 "${CMAKE_CURRENT_SOURCE_DIR}"
22 target_compile_features(export_bmi_and_interfaces PUBLIC cxx_std_20)
24 install(TARGETS export_bmi_and_interfaces
26 FILE_SET modules DESTINATION "lib/cxx/miu"
27 CXX_MODULES_BMI DESTINATION "lib/cxx/bmi")
28 export(EXPORT CXXModules
29 NAMESPACE CXXModules::
30 FILE "${CMAKE_CURRENT_BINARY_DIR}/export_bmi_and_interfaces-targets.cmake"
31 CXX_MODULES_DIRECTORY "export_bmi_and_interfaces-cxx-modules")
32 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/export_bmi_and_interfaces-config.cmake"
33 "include(\"\${CMAKE_CURRENT_LIST_DIR}/export_bmi_and_interfaces-targets.cmake\")
34 set(\${CMAKE_FIND_PACKAGE_NAME}_FOUND 1)
38 -G "${CMAKE_GENERATOR}")
39 if (CMAKE_GENERATOR_TOOLSET)
41 -T "${CMAKE_GENERATOR_TOOLSET}")
43 if (CMAKE_GENERATOR_PLATFORM)
45 -A "${CMAKE_GENERATOR_PLATFORM}")
48 add_test(NAME export_bmi_and_interfaces_build
51 "-Dexpected_source_dir=${CMAKE_CURRENT_SOURCE_DIR}"
52 "-Dexpected_binary_dir=${CMAKE_CURRENT_BINARY_DIR}"
53 "-Dexport_bmi_and_interfaces_DIR=${CMAKE_CURRENT_BINARY_DIR}"
55 -S "${CMAKE_CURRENT_SOURCE_DIR}/test"
56 -B "${CMAKE_CURRENT_BINARY_DIR}/test")