diff --git a/cmake/libappimage.pc.in b/cmake/libappimage.pc.in index 32682d86..6bff1e1a 100644 --- a/cmake/libappimage.pc.in +++ b/cmake/libappimage.pc.in @@ -1,7 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ -# Use prefix as base path to make the package relocatable -libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@CMAKE_INSTALL_REL_LIBDIR@ +includedir=@CMAKE_INSTALL_REL_INCLUDEDIR@ Name: @PROJECT_NAME@ Description: AppImage management and desktop integration diff --git a/cmake/scripts.cmake b/cmake/scripts.cmake index 0228e739..6482440a 100644 --- a/cmake/scripts.cmake +++ b/cmake/scripts.cmake @@ -257,6 +257,6 @@ function(configure_libappimage_module target) target_include_directories(${target} PUBLIC $ PRIVATE $ - INTERFACE $ + INTERFACE $ ) endfunction() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9737205b..17a6cb3f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -47,6 +47,17 @@ install( if(NOT LIBAPPIMAGE_SHARED_ONLY) # pkg-config + # Use prefix as base path to make the package relocatable, when possible + if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") + set(CMAKE_INSTALL_REL_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") + else() + set(CMAKE_INSTALL_REL_INCLUDEDIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + endif() + if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") + set(CMAKE_INSTALL_REL_LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}") + else() + set(CMAKE_INSTALL_REL_LIBDIR "\${prefix}/${CMAKE_INSTALL_LIBDIR}") + endif() configure_file("${PROJECT_SOURCE_DIR}/cmake/libappimage.pc.in" "${PROJECT_BINARY_DIR}/libappimage.pc" @ONLY) install(FILES "${PROJECT_BINARY_DIR}/libappimage.pc" diff --git a/src/libappimage/CMakeLists.txt b/src/libappimage/CMakeLists.txt index 47005221..992b5fad 100644 --- a/src/libappimage/CMakeLists.txt +++ b/src/libappimage/CMakeLists.txt @@ -70,13 +70,13 @@ install( # install public headers install( DIRECTORY ${PROJECT_SOURCE_DIR}/include/appimage/ - DESTINATION include/appimage + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/appimage" COMPONENT libappimage-dev ) install( DIRECTORY ${PROJECT_BINARY_DIR}/generated-headers/appimage/ - DESTINATION include/appimage + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/appimage" COMPONENT libappimage-dev ) diff --git a/src/libappimage_shared/CMakeLists.txt b/src/libappimage_shared/CMakeLists.txt index ef7238bb..234414d3 100644 --- a/src/libappimage_shared/CMakeLists.txt +++ b/src/libappimage_shared/CMakeLists.txt @@ -13,7 +13,7 @@ add_library(libappimage_shared STATIC set_target_properties(libappimage_shared PROPERTIES PREFIX "") target_include_directories(libappimage_shared PUBLIC $ - $ + $ ) set_property(TARGET libappimage_shared PROPERTY PUBLIC_HEADER ${libappimage_shared_public_header}) target_link_libraries(libappimage_shared PRIVATE libappimage_hashlib)