@@ -96,17 +96,8 @@ function(cpp_library)
9696 endif ()
9797 add_library (${arg_cpp_lib_NAME} INTERFACE )
9898 target_link_libraries (${arg_cpp_lib_NAME} INTERFACE ${arg_cpp_lib_PUBLIC_LINK_LIBRARIES} )
99- target_include_directories (
100- ${arg_cpp_lib_NAME}
101- INTERFACE
102- "$<BUILD_INTERFACE :${arg_cpp_lib_BUILD_INCLUDE_DIR} >"
103- )
104- target_compile_features (${arg_cpp_lib_NAME} INTERFACE cxx_std_20 )
10599
106- # tells where headers are
107- target_include_directories (${arg_cpp_lib_NAME} INTERFACE
108- # "$<INSTALL_INTERFACE:include/${arg_cpp_lib_NAME}>")
109- "$<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >" )
100+ target_compile_features (${arg_cpp_lib_NAME} INTERFACE cxx_std_20 )
110101
111102 else ()
112103 # The library type is specified by `BUILD_SHARED_LIBS` if it is defined. Otherwise, the type
@@ -125,22 +116,22 @@ function(cpp_library)
125116 PRIVATE
126117 ${arg_cpp_lib_PRIVATE_LINK_LIBRARIES}
127118 )
128- target_include_directories (
129- ${arg_cpp_lib_NAME}
130- PUBLIC
131- "$<BUILD_INTERFACE :${arg_cpp_lib_BUILD_INCLUDE_DIR} >"
132- )
133119 target_compile_features (${arg_cpp_lib_NAME} PUBLIC cxx_std_20 )
134120 endif ()
135121
136122 add_library (${_ALIAS_TARGET_NAME} ALIAS ${arg_cpp_lib_NAME} )
137123
138- # install headers
139- set (INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR} /ystdlib/${arg_cpp_lib_NAME} " )
140- install (
124+ # replaces header_include_directories
125+ # replaces header installation
126+ target_sources (
127+ ${arg_cpp_lib_NAME}
128+ PUBLIC
129+ FILE_SET HEADERS
130+ BASE_DIRS
131+ "$<BUILD_INTERFACE :${arg_cpp_lib_BUILD_INCLUDE_DIR} >"
132+ "$<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >"
141133 FILES
142- ${arg_cpp_lib_PUBLIC_HEADERS}
143- DESTINATION "${INSTALL_INCLUDE_DIR} "
134+ ${arg_cpp_lib_PUBLIC_HEADERS}
144135 )
145136
146137 set_target_properties (
0 commit comments