diff --git a/CMakeLists.txt b/CMakeLists.txt index 625e78b4..9070afe2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,8 +143,17 @@ if (EXIV2_TEAM_PACKAGING) include(cmake/packaging.cmake) endif() -join_paths(libdir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") -join_paths(includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") +# Handle both relative and absolute paths (e.g. NixOS) for a relocatable package +if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") + set(libdir_for_pc_file "${CMAKE_INSTALL_LIBDIR}") +else() + join_paths(libdir_for_pc_file "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}") +endif() +if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") + set(includedir_for_pc_file "${CMAKE_INSTALL_INCLUDEDIR}") +else() + join_paths(includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") +endif() configure_file(cmake/exiv2.pc.in exiv2.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)