nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1--- a/CMakeLists.txt
2+++ b/CMakeLists.txt
3@@ -19,6 +19,7 @@ option(APPEND_PROJECT_NAME_TO_INCLUDEDIR
4
5 if(APPEND_PROJECT_NAME_TO_INCLUDEDIR)
6 set(CMAKE_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}")
7+ set(CMAKE_INSTALL_FULL_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/${PROJECT_NAME}")
8 endif()
9
10 # set the default build type
11@@ -59,9 +60,9 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}"
12
13 enable_testing()
14
15-set(CMAKE_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake)
16-string(REGEX REPLACE "[^/]+" ".." RELATIVE_PATH_CMAKE_DIR_TO_PREFIX "${CMAKE_CONFIG_INSTALL_DIR}")
17-string(REGEX REPLACE "[^/]+" ".." RELATIVE_PATH_LIBDIR_TO_PREFIX "${CMAKE_INSTALL_LIBDIR}")
18+set(CMAKE_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/${PROJECT_NAME}/cmake)
19+file(RELATIVE_PATH RELATIVE_PATH_CMAKE_DIR_TO_PREFIX "${CMAKE_CONFIG_INSTALL_DIR}" "${CMAKE_INSTALL_PREFIX}")
20+file(RELATIVE_PATH RELATIVE_PATH_LIBDIR_TO_PREFIX "${CMAKE_INSTALL_FULL_LIBDIR}" "${CMAKE_INSTALL_PREFIX}")
21
22 add_subdirectory(urdf_parser)
23
24@@ -69,6 +70,12 @@ set(PKG_NAME ${PROJECT_NAME})
25 set(PKG_LIBRARIES urdfdom_sensor urdfdom_model urdfdom_world)
26 set(PKG_DEPENDS urdfdom_headers)
27 set(PKG_EXPORTS urdfdom)
28+string(REPLACE
29+ "${CMAKE_INSTALL_PREFIX}" "\${${PROJECT_NAME}_DIR}/${RELATIVE_PATH_CMAKE_DIR_TO_PREFIX}"
30+ CMAKE_CONF_LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
31+string(REPLACE
32+ "${CMAKE_INSTALL_PREFIX}" "\${${PROJECT_NAME}_DIR}/${RELATIVE_PATH_CMAKE_DIR_TO_PREFIX}"
33+ CMAKE_CONF_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
34 set(cmake_conf_file "cmake/urdfdom-config")
35 include(CMakePackageConfigHelpers)
36 write_basic_package_version_file(
37@@ -92,6 +99,8 @@ install(FILES package.xml DESTINATION share/${PROJECT_NAME})
38 set(PKG_DESC "Unified Robot Description Format")
39 set(PKG_DEPENDS "urdfdom_headers") # make the list separated by spaces instead of ;
40 set(PKG_URDF_LIBS "-lurdfdom_sensor -lurdfdom_model -lurdfdom_world")
41+string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" PKG_CONF_LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
42+string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" PKG_CONF_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
43 set(pkg_conf_file "cmake/pkgconfig/urdfdom.pc")
44 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${pkg_conf_file}.in" "${CMAKE_BINARY_DIR}/${pkg_conf_file}" @ONLY)
45 install(FILES ${CMAKE_BINARY_DIR}/${pkg_conf_file}
46diff --git a/cmake/pkgconfig/urdfdom.pc.in b/cmake/pkgconfig/urdfdom.pc.in
47index 77d1d9f..01ccb89 100644
48--- a/cmake/pkgconfig/urdfdom.pc.in
49+++ b/cmake/pkgconfig/urdfdom.pc.in
50@@ -1,8 +1,8 @@
51 # This file was generated by CMake for @PROJECT_NAME@
52 prefix=${pcfiledir}/../@RELATIVE_PATH_LIBDIR_TO_PREFIX@
53 exec_prefix=${prefix}
54-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
55-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
56+libdir=@PKG_CONF_LIBDIR@
57+includedir=@PKG_CONF_INCLUDEDIR@
58
59 Name: @PKG_NAME@
60 Description: @PKG_DESC@
61diff --git a/cmake/urdfdom-config.cmake.in b/cmake/urdfdom-config.cmake.in
62index ee84f41..9a77019 100644
63--- a/cmake/urdfdom-config.cmake.in
64+++ b/cmake/urdfdom-config.cmake.in
65@@ -8,16 +8,16 @@ set(@PKG_NAME@_CONFIG_INCLUDED TRUE)
66 set(CMAKE_MODULE_PATH_BACKUP_URDFDOM ${CMAKE_MODULE_PATH})
67 list(APPEND CMAKE_MODULE_PATH "${@PROJECT_NAME@_DIR}")
68
69-set(@PKG_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
70+set(@PKG_NAME@_INCLUDE_DIRS "@CMAKE_CONF_INCLUDEDIR@")
71
72 foreach(lib @PKG_LIBRARIES@)
73 set(onelib "${lib}-NOTFOUND")
74 set(onelibd "${lib}-NOTFOUND")
75 find_library(onelib ${lib}
76- PATHS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/@CMAKE_INSTALL_LIBDIR@"
77+ PATHS "@CMAKE_CONF_LIBDIR@"
78 NO_DEFAULT_PATH)
79 find_library(onelibd ${lib}d
80- PATHS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/@CMAKE_INSTALL_LIBDIR@"
81+ PATHS "@CMAKE_CONF_LIBDIR@"
82 NO_DEFAULT_PATH)
83 if(onelib-NOTFOUND AND onelibd-NOTFOUND)
84 message(FATAL_ERROR "Library '${lib}' in package @PKG_NAME@ is not installed properly")