Use GNUInstallDirs to make install destination directories configurable
parent
ff60ea8dbc
commit
71f4bb3019
|
@ -22,6 +22,7 @@ set (GTSAM_VERSION_STRING "${GTSAM_VERSION_MAJOR}.${GTSAM_VERSION_MINOR}.${GTSAM
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
include(GtsamMakeConfigFile)
|
include(GtsamMakeConfigFile)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
# Record the root dir for gtsam - needed during external builds, e.g., ROS
|
# Record the root dir for gtsam - needed during external builds, e.g., ROS
|
||||||
set(GTSAM_SOURCE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
set(GTSAM_SOURCE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
|
@ -12,6 +12,6 @@ gtsam_assign_source_folders("${cppunitlite_headers};${cppunitlite_src}") # MSVC
|
||||||
|
|
||||||
option(GTSAM_INSTALL_CPPUNITLITE "Enable/Disable installation of CppUnitLite library" ON)
|
option(GTSAM_INSTALL_CPPUNITLITE "Enable/Disable installation of CppUnitLite library" ON)
|
||||||
if (GTSAM_INSTALL_CPPUNITLITE)
|
if (GTSAM_INSTALL_CPPUNITLITE)
|
||||||
install(FILES ${cppunitlite_headers} DESTINATION include/CppUnitLite)
|
install(FILES ${cppunitlite_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CppUnitLite)
|
||||||
install(TARGETS CppUnitLite EXPORT GTSAM-exports ARCHIVE DESTINATION lib)
|
install(TARGETS CppUnitLite EXPORT GTSAM-exports ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
endif(GTSAM_INSTALL_CPPUNITLITE)
|
endif(GTSAM_INSTALL_CPPUNITLITE)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# install CCOLAMD headers
|
# install CCOLAMD headers
|
||||||
install(FILES CCOLAMD/Include/ccolamd.h DESTINATION include/gtsam/3rdparty/CCOLAMD)
|
install(FILES CCOLAMD/Include/ccolamd.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/CCOLAMD)
|
||||||
install(FILES SuiteSparse_config/SuiteSparse_config.h DESTINATION include/gtsam/3rdparty/SuiteSparse_config)
|
install(FILES SuiteSparse_config/SuiteSparse_config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/SuiteSparse_config)
|
||||||
|
|
||||||
if(NOT GTSAM_USE_SYSTEM_EIGEN)
|
if(NOT GTSAM_USE_SYSTEM_EIGEN)
|
||||||
# Find plain .h files
|
# Find plain .h files
|
||||||
|
@ -12,7 +12,7 @@ if(NOT GTSAM_USE_SYSTEM_EIGEN)
|
||||||
get_filename_component(filename ${eigen_dir} NAME)
|
get_filename_component(filename ${eigen_dir} NAME)
|
||||||
if (NOT ((${filename} MATCHES "CMakeLists.txt") OR (${filename} MATCHES "src") OR (${filename} MATCHES ".svn")))
|
if (NOT ((${filename} MATCHES "CMakeLists.txt") OR (${filename} MATCHES "src") OR (${filename} MATCHES ".svn")))
|
||||||
list(APPEND eigen_headers "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/Eigen/${filename}")
|
list(APPEND eigen_headers "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/Eigen/${filename}")
|
||||||
install(FILES Eigen/Eigen/${filename} DESTINATION include/gtsam/3rdparty/Eigen/Eigen)
|
install(FILES Eigen/Eigen/${filename} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/Eigen/Eigen)
|
||||||
endif()
|
endif()
|
||||||
endforeach(eigen_dir)
|
endforeach(eigen_dir)
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ if(NOT GTSAM_USE_SYSTEM_EIGEN)
|
||||||
get_filename_component(filename ${unsupported_eigen_dir} NAME)
|
get_filename_component(filename ${unsupported_eigen_dir} NAME)
|
||||||
if (NOT ((${filename} MATCHES "CMakeLists.txt") OR (${filename} MATCHES "src") OR (${filename} MATCHES "CXX11") OR (${filename} MATCHES ".svn")))
|
if (NOT ((${filename} MATCHES "CMakeLists.txt") OR (${filename} MATCHES "src") OR (${filename} MATCHES "CXX11") OR (${filename} MATCHES ".svn")))
|
||||||
list(APPEND unsupported_eigen_headers "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/unsupported/Eigen/${filename}")
|
list(APPEND unsupported_eigen_headers "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/unsupported/Eigen/${filename}")
|
||||||
install(FILES Eigen/unsupported/Eigen/${filename} DESTINATION include/gtsam/3rdparty/Eigen/unsupported/Eigen)
|
install(FILES Eigen/unsupported/Eigen/${filename} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/Eigen/unsupported/Eigen)
|
||||||
endif()
|
endif()
|
||||||
endforeach(unsupported_eigen_dir)
|
endforeach(unsupported_eigen_dir)
|
||||||
endif()
|
endif()
|
||||||
|
@ -37,12 +37,12 @@ if(NOT GTSAM_USE_SYSTEM_EIGEN)
|
||||||
|
|
||||||
# install Eigen - only the headers in our 3rdparty directory
|
# install Eigen - only the headers in our 3rdparty directory
|
||||||
install(DIRECTORY Eigen/Eigen
|
install(DIRECTORY Eigen/Eigen
|
||||||
DESTINATION include/gtsam/3rdparty/Eigen
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/Eigen
|
||||||
FILES_MATCHING PATTERN "*.h")
|
FILES_MATCHING PATTERN "*.h")
|
||||||
|
|
||||||
if(GTSAM_WITH_EIGEN_UNSUPPORTED)
|
if(GTSAM_WITH_EIGEN_UNSUPPORTED)
|
||||||
install(DIRECTORY Eigen/unsupported/Eigen
|
install(DIRECTORY Eigen/unsupported/Eigen
|
||||||
DESTINATION include/gtsam/3rdparty/Eigen/unsupported/
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/Eigen/unsupported/
|
||||||
FILES_MATCHING PATTERN "*.h")
|
FILES_MATCHING PATTERN "*.h")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -39,9 +39,9 @@ endif()
|
||||||
add_dependencies(blas eigen_blas eigen_blas_static)
|
add_dependencies(blas eigen_blas eigen_blas_static)
|
||||||
|
|
||||||
install(TARGETS eigen_blas eigen_blas_static
|
install(TARGETS eigen_blas eigen_blas_static
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION lib)
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
|
||||||
if(EIGEN_Fortran_COMPILER_WORKS)
|
if(EIGEN_Fortran_COMPILER_WORKS)
|
||||||
|
|
||||||
|
|
|
@ -103,9 +103,9 @@ endif()
|
||||||
add_dependencies(lapack eigen_lapack eigen_lapack_static)
|
add_dependencies(lapack eigen_lapack eigen_lapack_static)
|
||||||
|
|
||||||
install(TARGETS eigen_lapack eigen_lapack_static
|
install(TARGETS eigen_lapack eigen_lapack_static
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION lib)
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,6 @@ include_directories("test")
|
||||||
add_subdirectory("test")
|
add_subdirectory("test")
|
||||||
|
|
||||||
install(TARGETS GKlib
|
install(TARGETS GKlib
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
LIBRARY DESTINATION lib)
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
install(FILES ${GKlib_includes} DESTINATION include)
|
install(FILES ${GKlib_includes} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
|
@ -21,6 +21,9 @@ if (APPLE)
|
||||||
"${CMAKE_INSTALL_PREFIX}/lib")
|
"${CMAKE_INSTALL_PREFIX}/lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS metis EXPORT GTSAM-exports LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin)
|
install(TARGETS metis EXPORT GTSAM-exports
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
list(APPEND GTSAM_EXPORTED_TARGETS metis)
|
list(APPEND GTSAM_EXPORTED_TARGETS metis)
|
||||||
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
||||||
|
|
|
@ -15,7 +15,7 @@ endforeach(prog)
|
||||||
|
|
||||||
if(METIS_INSTALL)
|
if(METIS_INSTALL)
|
||||||
install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin
|
install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Try to find subversion revision.
|
# Try to find subversion revision.
|
||||||
|
|
|
@ -49,7 +49,7 @@ endif()
|
||||||
|
|
||||||
# Common headers
|
# Common headers
|
||||||
file(GLOB gtsam_core_headers "*.h")
|
file(GLOB gtsam_core_headers "*.h")
|
||||||
install(FILES ${gtsam_core_headers} DESTINATION include/gtsam)
|
install(FILES ${gtsam_core_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam)
|
||||||
|
|
||||||
# assemble core libaries
|
# assemble core libaries
|
||||||
foreach(subdir ${gtsam_subdirs})
|
foreach(subdir ${gtsam_subdirs})
|
||||||
|
@ -86,7 +86,7 @@ configure_file(config.h.in config.h)
|
||||||
set(library_name GTSAM) # For substitution in dllexport.h.in
|
set(library_name GTSAM) # For substitution in dllexport.h.in
|
||||||
configure_file("${GTSAM_SOURCE_DIR}/cmake/dllexport.h.in" "dllexport.h")
|
configure_file("${GTSAM_SOURCE_DIR}/cmake/dllexport.h.in" "dllexport.h")
|
||||||
list(APPEND gtsam_srcs "${PROJECT_BINARY_DIR}/config.h" "${PROJECT_BINARY_DIR}/dllexport.h")
|
list(APPEND gtsam_srcs "${PROJECT_BINARY_DIR}/config.h" "${PROJECT_BINARY_DIR}/dllexport.h")
|
||||||
install(FILES "${PROJECT_BINARY_DIR}/config.h" "${PROJECT_BINARY_DIR}/dllexport.h" DESTINATION include/gtsam)
|
install(FILES "${PROJECT_BINARY_DIR}/config.h" "${PROJECT_BINARY_DIR}/dllexport.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam)
|
||||||
|
|
||||||
if(GTSAM_SUPPORT_NESTED_DISSECTION)
|
if(GTSAM_SUPPORT_NESTED_DISSECTION)
|
||||||
list(APPEND GTSAM_ADDITIONAL_LIBRARIES metis)
|
list(APPEND GTSAM_ADDITIONAL_LIBRARIES metis)
|
||||||
|
@ -179,9 +179,9 @@ endif()
|
||||||
install(
|
install(
|
||||||
TARGETS gtsam
|
TARGETS gtsam
|
||||||
EXPORT GTSAM-exports
|
EXPORT GTSAM-exports
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
|
||||||
list(APPEND GTSAM_EXPORTED_TARGETS gtsam)
|
list(APPEND GTSAM_EXPORTED_TARGETS gtsam)
|
||||||
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
||||||
|
|
|
@ -48,7 +48,7 @@ endforeach(subdir)
|
||||||
set(library_name GTSAM_UNSTABLE) # For substitution in dllexport.h.in
|
set(library_name GTSAM_UNSTABLE) # For substitution in dllexport.h.in
|
||||||
configure_file("${GTSAM_SOURCE_DIR}/cmake/dllexport.h.in" "dllexport.h")
|
configure_file("${GTSAM_SOURCE_DIR}/cmake/dllexport.h.in" "dllexport.h")
|
||||||
list(APPEND gtsam_unstable_srcs "${PROJECT_BINARY_DIR}/dllexport.h")
|
list(APPEND gtsam_unstable_srcs "${PROJECT_BINARY_DIR}/dllexport.h")
|
||||||
install(FILES "${PROJECT_BINARY_DIR}/dllexport.h" DESTINATION include/gtsam_unstable)
|
install(FILES "${PROJECT_BINARY_DIR}/dllexport.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable)
|
||||||
|
|
||||||
# assemble gtsam_unstable components
|
# assemble gtsam_unstable components
|
||||||
set(gtsam_unstable_srcs
|
set(gtsam_unstable_srcs
|
||||||
|
@ -101,9 +101,9 @@ endif()
|
||||||
install(
|
install(
|
||||||
TARGETS gtsam_unstable
|
TARGETS gtsam_unstable
|
||||||
EXPORT GTSAM-exports
|
EXPORT GTSAM-exports
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
list(APPEND GTSAM_EXPORTED_TARGETS gtsam_unstable)
|
list(APPEND GTSAM_EXPORTED_TARGETS gtsam_unstable)
|
||||||
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
||||||
|
|
||||||
|
|
|
@ -34,12 +34,12 @@ file(RELATIVE_PATH relative_path "${PROJECT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE
|
||||||
set_target_properties(wrap_lib wrap PROPERTIES FOLDER "${relative_path}")
|
set_target_properties(wrap_lib wrap PROPERTIES FOLDER "${relative_path}")
|
||||||
|
|
||||||
# Install wrap binary and export target
|
# Install wrap binary and export target
|
||||||
install(TARGETS wrap EXPORT GTSAM-exports DESTINATION bin)
|
install(TARGETS wrap EXPORT GTSAM-exports DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
list(APPEND GTSAM_EXPORTED_TARGETS wrap)
|
list(APPEND GTSAM_EXPORTED_TARGETS wrap)
|
||||||
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
|
||||||
|
|
||||||
# Install matlab header
|
# Install matlab header
|
||||||
install(FILES matlab.h DESTINATION include/wrap)
|
install(FILES matlab.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/wrap)
|
||||||
|
|
||||||
# Build tests
|
# Build tests
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
|
|
Loading…
Reference in New Issue