You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2023/04/17 18:27:16 UTC
[celix] 01/03: Fix install include for dfi, utils and framework lib
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 <pe...@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