Skip to content

Commit 4dc5912

Browse files
committed
Do only what is possible with old CMake versions
1 parent fcb4eda commit 4dc5912

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

include/BoostInstall.cmake

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)