I struggle over the CXX_MODULES install BMI. Sometimes this has no effect or some files are missing?
I use always this cmake install function call:
install(
TARGETS "${_tgt}"
EXPORT ${BOOST_EXPORT_NAME}
ARCHIVE
${_lib_install_dir}
COMPONENT "${install_component_name}_Development"
LIBRARY
${_lib_install_dir}
COMPONENT "${install_component_name}_Runtime"
NAMELINK_COMPONENT "${install_component_name}_Development"
RUNTIME
${_bin_install_dir}
COMPONENT "${install_component_name}_Runtime"
${_install_header_set_args}
FILE_SET ${_module_sets}
DESTINATION "${BOOST_DESTINATION}"
COMPONENT "${install_component_name}_Development"
# NOTE: There's currently no convention for this location! CK
CXX_MODULES_BMI
DESTINATION
${_config_install_dir}/bmi-${CMAKE_CXX_COMPILER_ID}_$<CONFIG>
COMPONENT "${install_component_name}_Development"
)
/Users/clausklein/.local/lib/cmake/modules_triangle/
├── cxx-modules
│ ├── cxx-modules-modules_triangle-targets-Release.cmake
│ ├── cxx-modules-modules_triangle-targets.cmake
│ ├── target-library__a-Release.cmake
│ └── target-library__c-Release.cmake
├── modules
│ ├── library_a.cppm
│ └── library_c.cppm
├── modules_triangle-config-version.cmake
├── modules_triangle-config.cmake
├── modules_triangle-targets-release.cmake
└── modules_triangle-targets.cmake
3 directories, 10 files
iMac:modules-triangle clausklein$
or i.e. 2 CXX_MODULES, but only 1 BMI?
bash-5.3$ tree /Users/clausklein/.local/lib/cmake/modules_playground
/Users/clausklein/.local/lib/cmake/modules_playground
├── bmi-Clang_Release
│ └── mylib.pcm
├── cxx-modules
│ ├── cxx-modules-modules_playground-targets-Release.cmake
│ ├── cxx-modules-modules_playground-targets.cmake
│ ├── target-play__hello-Release.cmake
│ └── target-play__mylib-Release.cmake
├── modules
│ ├── M.cppm
│ ├── interface_part.cppm
│ └── mylib.cppm
├── modules_playground-config-version.cmake
├── modules_playground-config.cmake
├── modules_playground-targets-release.cmake
└── modules_playground-targets.cmake
4 directories, 12 files
bash-5.3$