From 0832d7b7feec67dc7b83d4d5da63495c17b45fdb Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Sat, 6 Jan 2024 00:51:19 +0100 Subject: [PATCH] build: `add_mp_units_module` now use `HEADER_SET` --- cmake/TestPublicHeaders.cmake | 2 +- src/cmake/AddMPUnitsModule.cmake | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/cmake/TestPublicHeaders.cmake b/cmake/TestPublicHeaders.cmake index e1756af572..38a5077011 100644 --- a/cmake/TestPublicHeaders.cmake +++ b/cmake/TestPublicHeaders.cmake @@ -43,7 +43,7 @@ function(get_target_sources target paths_out) list(APPEND targets ${target}) foreach(t ${targets}) - get_target_property(sources ${t} SOURCES) + get_target_property(sources ${t} HEADER_SET) if(sources) get_target_property(source_dir ${t} SOURCE_DIR) foreach(f ${sources}) diff --git a/src/cmake/AddMPUnitsModule.cmake b/src/cmake/AddMPUnitsModule.cmake index 642d2255b2..e8d12c6f07 100644 --- a/src/cmake/AddMPUnitsModule.cmake +++ b/src/cmake/AddMPUnitsModule.cmake @@ -61,7 +61,17 @@ function(add_mp_units_module name target_name) endif() # define the target for a module - add_library(${target_name} ${SCOPE} ${ARG_HEADERS}) + add_library(${target_name} ${SCOPE}) + target_sources( + ${target_name} + ${${projectPrefix}TARGET_SCOPE} + FILE_SET + HEADERS + BASE_DIRS + ${CMAKE_CURRENT_SOURCE_DIR}/include + FILES + ${ARG_HEADERS} + ) target_link_libraries(${target_name} ${${projectPrefix}TARGET_SCOPE} ${ARG_DEPENDENCIES}) if(ARG_HEADERS) target_include_directories( @@ -76,13 +86,10 @@ function(add_mp_units_module name target_name) target_sources(${target_name} PUBLIC FILE_SET CXX_MODULES FILES ${ARG_MODULE_INTERFACE_UNIT}) install(TARGETS ${target_name} EXPORT mp-unitsTargets - FILE_SET CXX_MODULES + FILE_SET HEADERS FILE_SET CXX_MODULES DESTINATION ${CMAKE_INSTALL_LIBDIR}/miu ) else() - install(TARGETS ${target_name} EXPORT mp-unitsTargets) - endif() - if(ARG_HEADERS) - install(DIRECTORY include/mp-units TYPE INCLUDE) + install(TARGETS ${target_name} EXPORT mp-unitsTargets FILE_SET HEADERS) endif() endfunction()