This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a commit to branch feature/export_headers in repository https://gitbox.apache.org/repos/asf/celix.git
commit dba2213a77028431c9dbd593e9438d14aab166d3 Author: Pepijn Noltes <pepijnnol...@gmail.com> AuthorDate: Mon Apr 17 20:17:10 2023 +0200 Fix install include for dfi, utils and framework lib --- libs/dfi/CMakeLists.txt | 6 +++--- libs/framework/CMakeLists.txt | 15 +++++++++------ libs/utils/CMakeLists.txt | 13 +++++++------ 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/libs/dfi/CMakeLists.txt b/libs/dfi/CMakeLists.txt index 41dd8553..a21d6aa8 100644 --- a/libs/dfi/CMakeLists.txt +++ b/libs/dfi/CMakeLists.txt @@ -53,9 +53,9 @@ if (CELIX_DFI) target_include_directories(dfi PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/dfi>) install(TARGETS dfi EXPORT celix DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dfi - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_dfi) - install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_dfi COMPONENT dfi) - install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/dfi/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_dfi COMPONENT dfi) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/dfi) + install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/dfi COMPONENT dfi) + install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/dfi/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/dfi COMPONENT dfi) #Alias setup to match external usage add_library(Celix::dfi ALIAS dfi) diff --git a/libs/framework/CMakeLists.txt b/libs/framework/CMakeLists.txt index 302d7b83..3df4feda 100644 --- a/libs/framework/CMakeLists.txt +++ b/libs/framework/CMakeLists.txt @@ -47,7 +47,8 @@ if (CELIX_FRAMEWORK_CMAKE_CONFIGURE_ALT_OPTION) ${CMAKE_CURRENT_LIST_DIR}/include_deprecated PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> - $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/${FRAMEWORK_TARGET_NAME}>) + $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/${FRAMEWORK_TARGET_NAME}> + $<INSTALL_INTERFACE:include/celix/framework>) target_compile_options(${FRAMEWORK_TARGET_NAME} PRIVATE -DUSE_FILE32API) target_compile_options(${FRAMEWORK_TARGET_NAME} PRIVATE -Wno-deprecated-declarations) #note part of the api is deprecated, ignore this warning on own api target_link_libraries(${FRAMEWORK_TARGET_NAME} PUBLIC Celix::utils ${CELIX_OPTIONAL_EXTRA_LIBS}) @@ -73,6 +74,7 @@ if (CELIX_FRAMEWORK_CMAKE_CONFIGURE_ALT_OPTION) else () target_include_directories(framework_obj PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> + $<INSTALL_INTERFACE:include/celix/framework> ) target_include_directories(framework_obj PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include_deprecated) target_compile_options(framework_obj PRIVATE -DUSE_FILE32API) @@ -87,7 +89,8 @@ else () generate_export_header(framework_obj BASE_NAME "CELIX_FRAMEWORK" EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/celix/gen/includes/framework/celix_framework_export.h") - target_include_directories(utils_obj PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/framework>) + target_include_directories(utils_obj PUBLIC + $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/framework>) add_library(framework SHARED) target_link_libraries(framework PUBLIC framework_obj) @@ -103,10 +106,10 @@ endif () # By omitting OBJECTS DESTINATION, object files will NOT be installed. install(TARGETS framework framework_obj EXPORT celix LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT framework - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_framework) -install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_framework COMPONENT framework) -install(DIRECTORY include_deprecated/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_framework COMPONENT framework) -install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/framework/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_framework COMPONENT framework) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework) +install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework) +install(DIRECTORY include_deprecated/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework) +install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/framework/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework) #Alias setup to match external usage add_library(Celix::framework ALIAS framework) diff --git a/libs/utils/CMakeLists.txt b/libs/utils/CMakeLists.txt index 4288b872..14b45612 100644 --- a/libs/utils/CMakeLists.txt +++ b/libs/utils/CMakeLists.txt @@ -69,7 +69,8 @@ if (CELIX_UTILS_CMAKE_CONFIGURE_ALT_OPTION) target_include_directories(${UTILS_TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${MEMSTREAM_INCLUDE_DIR}> - $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/${UTILS_TARGET_NAME}>) + $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/${UTILS_TARGET_NAME}> + $<INSTALL_INTERFACE:include/celix/utils>) target_include_directories(${UTILS_TARGET_NAME} PRIVATE src include_deprecated) IF(UNIX AND NOT ANDROID) target_link_libraries(${UTILS_TARGET_NAME} PRIVATE m pthread) @@ -110,7 +111,7 @@ else () target_include_directories(utils_obj PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${MEMSTREAM_INCLUDE_DIR}> - ) + $<INSTALL_INTERFACE:include/celix/utils>) target_include_directories(utils_obj PRIVATE src include_deprecated) IF(UNIX AND NOT ANDROID) target_link_libraries(utils_obj PRIVATE m pthread) @@ -134,16 +135,16 @@ endif () # By omitting OBJECTS DESTINATION, object files will NOT be installed. install(TARGETS utils utils_obj EXPORT celix LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT framework - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/$<TARGET_PROPERTY:utils,OUTPUT_NAME>) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/utils) install(DIRECTORY include/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_utils/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/utils/ COMPONENT framework PATTERN memstream* EXCLUDE) install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/utils/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_utils/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/utils/ COMPONENT framework) if (CELIX_INSTALL_DEPRECATED_API) - install(DIRECTORY include_deprecated/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix_utils COMPONENT framework) + install(DIRECTORY include_deprecated/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/utils COMPONENT framework) endif () #Alias setup to match external usage