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

Reply via email to