@@ -337,14 +337,20 @@ function(boost_install_target)
337337 string (APPEND CONFIG_INSTALL_DIR "-static" )
338338 endif ()
339339
340- get_target_property (INTERFACE_CXX_MODULE_SETS ${LIB} INTERFACE_CXX_MODULE_SETS)
341- if (INTERFACE_CXX_MODULE_SETS)
342- boost_message(DEBUG "boost_install_target: '${__TARGET} ' has INTERFACE_CXX_MODULE_SETS=${INTERFACE_CXX_MODULE_SETS} " )
343- set (__INSTALL_CXX_MODULES FILE_SET ${INTERFACE_CXX_MODULE_SETS} DESTINATION ${CONFIG_INSTALL_DIR} )
340+ if (NOT CMAKE_VERSION VERSION_LESS 3.28)
341+ get_target_property (INTERFACE_CXX_MODULE_SETS ${LIB} INTERFACE_CXX_MODULE_SETS)
342+ if (INTERFACE_CXX_MODULE_SETS)
343+ boost_message(DEBUG "boost_install_target: '${__TARGET} ' has INTERFACE_CXX_MODULE_SETS=${INTERFACE_CXX_MODULE_SETS} " )
344+ set (__INSTALL_CXX_MODULES FILE_SET ${INTERFACE_CXX_MODULE_SETS} DESTINATION ${CONFIG_INSTALL_DIR} )
345+ endif ()
344346 endif ()
345- get_target_property (HEADER_SET ${LIB} HEADER_SET)
346- if (HEADER_SET)
347- boost_message(DEBUG "boost_install_target: '${__TARGET} ' has HEADER_SET=${HEADER_SET} " )
347+
348+ if (NOT CMAKE_VERSION VERSION_LESS 3.23)
349+ get_target_property (INTERFACE_HEADER_SETS ${LIB} INTERFACE_HEADER_SETS)
350+ if (INTERFACE_HEADER_SETS)
351+ boost_message(DEBUG "boost_install_target: '${__TARGET} ' has INTERFACE_HEADER_SETS=${INTERFACE_HEADER_SETS} " )
352+ set (__INSTALL_HEADER_SETS FILE_SET ${INTERFACE_HEADER_SETS} )
353+ endif ()
348354 endif ()
349355
350356 install (TARGETS ${LIB} EXPORT ${LIB} -targets
@@ -355,12 +361,14 @@ function(boost_install_target)
355361 PRIVATE_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
356362 PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
357363 # explicit needed if used starting with cmake v3.28
358- FILE_SET CXX_MODULES DESTINATION ${CONFIG_INSTALL_DIR}
364+ # XXX FILE_SET CXX_MODULES DESTINATION ${CONFIG_INSTALL_DIR}
359365 ${__INSTALL_CXX_MODULES}
360- CXX_MODULES_BMI DESTINATION ${CONFIG_INSTALL_DIR} /bmi-${CMAKE_CXX_COMPILER_ID} _$<CONFIG>
366+ # Any module files from C++ modules from PUBLIC sources in a file set of type CXX_MODULES will be installed to the given DESTINATION.
367+ # FIXME: why does this silently not work here? CK
368+ # XXX CXX_MODULES_BMI DESTINATION ${CONFIG_INSTALL_DIR}/bmi-${CMAKE_CXX_COMPILER_ID}_$<CONFIG>
361369 # explicit needed if used starting with cmake v3.23
362- FILE_SET HEADERS
363- FILE_SET ${HEADER_SET }
370+ # XXX FILE_SET HEADERS
371+ ${__INSTALL_HEADER_SETS }
364372 )
365373
366374 # TODO(CK): what is this for?
@@ -381,7 +389,7 @@ function(boost_install_target)
381389 endif ()
382390
383391 install (EXPORT ${LIB} -targets DESTINATION "${CONFIG_INSTALL_DIR} " NAMESPACE Boost:: FILE ${LIB} -targets.cmake
384- CXX_MODULES_DIRECTORY .
392+ # XXX CXX_MODULES_DIRECTORY .
385393 )
386394
387395 set_target_properties (${LIB} PROPERTIES _boost_is_installed ON )
0 commit comments