0001-Make-RSC-installable-in-parallel-with-several-versio.patch

J. Moringen, 08/03/2012 11:38 PM

Download (6.31 KB)

View differences:

3rdparty/CMakeLists.txt
1 1

  
2 2
IF(USE_INTERNAL_BOOST_UUID)
3 3
    FILE(GLOB_RECURSE UUID_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.hpp)
4
    INSTALL(FILES ${UUID_FILES} DESTINATION include/rsc/3rdparty/boost.uuid/boost/uuid)
4
    INSTALL(FILES ${UUID_FILES} DESTINATION "include/${INSTALL_PATH_PREFIX}/3rdparty/boost.uuid/boost/uuid")
5 5
ENDIF()
CMakeLists.txt
35 35
SET(RSC_NAME "rsc")
36 36
SET(RSC_TEST_NAME "rsctest")
37 37

  
38
SET(RSC_CMAKE_PATH "share/cmake")
38
SET(INSTALL_PATH_PREFIX "rsc${RSC_VERSION_MAJOR}.${RSC_VERSION_MINOR}"
39
    CACHE STRING "Prefix path applied to all non-versioned installed files in order to prevent version clashes.")
40

  
41
SET(RSC_CMAKE_PATH "share/${INSTALL_PATH_PREFIX}/cmake")
39 42
SET(RSC_CMAKE_MODULE_PATH "${RSC_CMAKE_PATH}/Modules")
40 43
SET(RSC_CMAKE_TOOLCHAIN_PATH "${RSC_CMAKE_PATH}/Toolchains")
41 44

  
......
130 133
IF(NOT USE_INTERNAL_BOOST_UUID)
131 134
    LIST(APPEND EXTERNAL_INCLUDES ${BOOSTUUID_INCLUDE_DIRS})
132 135
ELSE()
133
    LIST(APPEND EXTERNAL_INCLUDES "\${includedir}/rsc/3rdparty/boost.uuid/")
136
    LIST(APPEND EXTERNAL_INCLUDES "\${includedir}/${INSTALL_PATH_PREFIX}/3rdparty/boost.uuid/")
134 137
ENDIF()
135 138
STRING(REPLACE ";" " -I" EXTERNAL_INCLUDE_COMMANDS "${EXTERNAL_INCLUDES}")
136 139
STRING(LENGTH "${EXTERNAL_INCLUDE_COMMANDS}" EXT_LENGTH)
137 140
IF(${EXT_LENGTH} GREATER 0)
138 141
    SET(EXTERNAL_INCLUDE_COMMANDS "-I${EXTERNAL_INCLUDE_COMMANDS}")
139 142
ENDIF()
140
CONFIGURE_FILE(rsc.pc.in ${CMAKE_BINARY_DIR}/rsc.pc @ONLY)
141
INSTALL(FILES ${CMAKE_BINARY_DIR}/rsc.pc DESTINATION lib/pkgconfig)
143
CONFIGURE_FILE(rsc.pc.in "${CMAKE_BINARY_DIR}/rsc${RSC_VERSION_MAJOR}.${RSC_VERSION_MINOR}.pc" @ONLY)
144
INSTALL(FILES "${CMAKE_BINARY_DIR}/rsc${RSC_VERSION_MAJOR}.${RSC_VERSION_MINOR}.pc" DESTINATION lib/pkgconfig)
142 145

  
143 146
# --- cmake config files ---
144 147

  
......
154 157
IF(CMAKE_LINK_LIBRARY_SUFFIX)
155 158
    SET(LIB_SUFFIX ${CMAKE_LINK_LIBRARY_SUFFIX})
156 159
ENDIF()
157
CONFIGURE_FILE(RSCConfig.cmake.in ${CMAKE_BINARY_DIR}/RSCConfig.cmake @ONLY)
158
INSTALL(FILES ${CMAKE_BINARY_DIR}/RSCConfig.cmake DESTINATION share/rsc)
159
CONFIGURE_FILE(RSCConfigVersion.cmake.in ${CMAKE_BINARY_DIR}/RSCConfigVersion.cmake @ONLY)
160
INSTALL(FILES ${CMAKE_BINARY_DIR}/RSCConfigVersion.cmake DESTINATION share/rsc)
160
CONFIGURE_FILE(RSCConfig.cmake.in "${CMAKE_BINARY_DIR}/RSCConfig.cmake" @ONLY)
161
INSTALL(FILES "${CMAKE_BINARY_DIR}/RSCConfig.cmake" DESTINATION "share/${INSTALL_PATH_PREFIX}")
162
CONFIGURE_FILE(RSCConfigVersion.cmake.in "${CMAKE_BINARY_DIR}/RSCConfigVersion.cmake" @ONLY)
163
INSTALL(FILES "${CMAKE_BINARY_DIR}/RSCConfigVersion.cmake" DESTINATION "share/${INSTALL_PATH_PREFIX}")
161 164

  
162 165
EXPORT(TARGETS ${RSC_NAME} FILE "${CMAKE_BINARY_DIR}/RSCDepends.cmake")
163 166
INSTALL(EXPORT RSCDepends
164
        DESTINATION "share/rsc")
167
        DESTINATION "share/${INSTALL_PATH_PREFIX}")
165 168

  
166
INSTALL(FILES COPYING.txt DESTINATION share/doc/rsc RENAME copyright)
169
INSTALL(FILES COPYING.txt DESTINATION "share/doc/${INSTALL_PATH_PREFIX}" RENAME copyright)
167 170

  
168 171
# --- enable unit tests if desired ---
169 172

  
RSCConfig.cmake.in
7 7
        INCLUDE("${RSC_CONFIG_DIR}/RSCBuildTreeSettings.cmake")
8 8
    ELSE()
9 9

  
10
        SET(RSC_INCLUDE_DIRS "${RSC_CONFIG_DIR}/../../include"
11
                             "${RSC_CONFIG_DIR}/../../include/rsc/3rdparty/boost.uuid")
10
        SET(RSC_INCLUDE_DIRS "${RSC_CONFIG_DIR}/../../include/@INSTALL_PATH_PREFIX@"
11
                             "${RSC_CONFIG_DIR}/../../include/@INSTALL_PATH_PREFIX@/3rdparty/boost.uuid")
12 12
        SET(RSC_RUNTIME_LIBRARY_DIRS "${RSC_CONFIG_DIR}/../../bin")
13 13
        SET(RSC_CMAKE_MODULE_PATH "${RSC_CONFIG_DIR}/../../@RSC_CMAKE_MODULE_PATH@")
14 14
        SET(RSC_CMAKE_TOOLCHAINS_PATH "${RSC_CONFIG_DIR}/../../@RSC_CMAKE_TOOLCHAIN_PATH@")
rsc.pc.in
1 1
prefix=@CMAKE_INSTALL_PREFIX@
2 2
libdir=${prefix}/lib
3
includedir=${prefix}/include
3
includedir=${prefix}/include/@INSTALL_PATH_PREFIX@
4 4

  
5 5
Name: Robotics Systems Commons
6 6
Description: RSC is a Code.CoR-Lab project focused on all aspects of reusable library functions in robotics systems.
src/CMakeLists.txt
8 8
    SET(INIT_METHOD_NAME RSC_HAVE_NO_INIT_METHOD_ERROR)
9 9
ENDIF()
10 10
CONFIGURE_FILE(rsc/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/rsc/config.h @ONLY)
11
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/rsc/config.h DESTINATION include/rsc)
11
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/rsc/config.h DESTINATION "include/${INSTALL_PATH_PREFIX}/rsc")
12 12

  
13 13
CONFIGURE_FILE(rsc/rscexports.h.in ${CMAKE_CURRENT_BINARY_DIR}/rsc/rscexports.h @ONLY)
14
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/rsc/rscexports.h DESTINATION include/rsc)
14
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/rsc/rscexports.h DESTINATION "include/${INSTALL_PATH_PREFIX}/rsc")
15 15

  
16 16
# version stuff
17 17
INCLUDE(PadString)
......
90 90
        RUNTIME DESTINATION bin
91 91
        LIBRARY DESTINATION lib
92 92
        ARCHIVE DESTINATION lib)
93
INSTALL_FILES_RECURSIVE(include HEADERS)
93
INSTALL_FILES_RECURSIVE("include/${INSTALL_PATH_PREFIX}" HEADERS)
94
-