From d5fbfcb7b7da0d4c384245ae115bdb1ab737c85a Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Tue, 19 Jun 2012 22:06:40 +0000 Subject: [PATCH] Create and load CMake exports and config files --- CMakeLists.txt | 8 ++++---- CppUnitLite/CMakeLists.txt | 4 +++- gtsam/CMakeLists.txt | 8 ++++++-- gtsam_unstable/CMakeLists.txt | 8 ++++++-- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c843030e4..fb25d2dd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,7 @@ set (GTSAM_VERSION_PATCH 0) #set (CMAKE_INSTALL_PREFIX ${HOME} CACHE PATH "Install prefix for library") set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +include(GtsamMakeConfigFile) # Record the root dir for gtsam - needed during external builds, e.g., ROS set(GTSAM_SOURCE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) @@ -139,10 +140,9 @@ if (GTSAM_BUILD_UNSTABLE) add_subdirectory(gtsam_unstable) endif(GTSAM_BUILD_UNSTABLE) -# Make config files -include(GtsamMakeConfigFile) -GtsamMakeConfigFile(GTSAM gtsam-static) -GtsamMakeConfigFile(CppUnitLite CppUnitLite) +# Install config and export files +GtsamMakeConfigFile(GTSAM) +export(TARGETS ${GTSAM_EXPORTED_TARGETS} FILE GTSAM-exports.cmake) # Set up CPack set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GTSAM") diff --git a/CppUnitLite/CMakeLists.txt b/CppUnitLite/CMakeLists.txt index 534a802d4..35ecd71f8 100644 --- a/CppUnitLite/CMakeLists.txt +++ b/CppUnitLite/CMakeLists.txt @@ -4,11 +4,13 @@ file(GLOB cppunitlite_headers "*.h") file(GLOB cppunitlite_src "*.cpp") add_library(CppUnitLite STATIC ${cppunitlite_src} ${cppunitlite_headers}) +list(APPEND GTSAM_EXPORTED_TARGETS CppUnitLite) +set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) gtsam_assign_source_folders("${cppunitlite_headers};${cppunitlite_src}") # MSVC project structure option(GTSAM_INSTALL_CPPUNITLITE "Enable/Disable installation of CppUnitLite library" ON) if (GTSAM_INSTALL_CPPUNITLITE) install(FILES ${cppunitlite_headers} DESTINATION include/CppUnitLite) - install(TARGETS CppUnitLite ARCHIVE DESTINATION lib) + install(TARGETS CppUnitLite EXPORT GTSAM-exports ARCHIVE DESTINATION lib) endif(GTSAM_INSTALL_CPPUNITLITE) diff --git a/gtsam/CMakeLists.txt b/gtsam/CMakeLists.txt index 495c3f39f..b4fae3475 100644 --- a/gtsam/CMakeLists.txt +++ b/gtsam/CMakeLists.txt @@ -91,7 +91,9 @@ if (GTSAM_BUILD_STATIC_LIBRARY) CLEAN_DIRECT_OUTPUT 1 VERSION ${gtsam_version} SOVERSION ${gtsam_soversion}) - install(TARGETS gtsam-static ARCHIVE DESTINATION lib) + install(TARGETS gtsam-static EXPORT GTSAM-exports ARCHIVE DESTINATION lib) + list(APPEND GTSAM_EXPORTED_TARGETS gtsam-static) + set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) set(gtsam-lib "gtsam-static") endif (GTSAM_BUILD_STATIC_LIBRARY) @@ -104,7 +106,9 @@ if (GTSAM_BUILD_SHARED_LIBRARY) CLEAN_DIRECT_OUTPUT 1 VERSION ${gtsam_version} SOVERSION ${gtsam_soversion}) - install(TARGETS gtsam-shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) + install(TARGETS gtsam-shared EXPORT GTSAM-exports LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) + list(APPEND GTSAM_EXPORTED_TARGETS gtsam-shared) + set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) if (NOT GTSAM_BUILD_STATIC_LIBRARY) set(gtsam-lib "gtsam-shared") endif() diff --git a/gtsam_unstable/CMakeLists.txt b/gtsam_unstable/CMakeLists.txt index 1c781453a..acd36ddc2 100644 --- a/gtsam_unstable/CMakeLists.txt +++ b/gtsam_unstable/CMakeLists.txt @@ -54,7 +54,9 @@ set_target_properties(gtsam_unstable-static PROPERTIES SOVERSION ${gtsam_unstable_soversion}) target_link_libraries(gtsam_unstable-static gtsam-static) set(gtsam_unstable-lib "gtsam_unstable-static") -install(TARGETS gtsam_unstable-static ARCHIVE DESTINATION lib) +install(TARGETS gtsam_unstable-static EXPORT GTSAM-exports ARCHIVE DESTINATION lib) +list(APPEND GTSAM_EXPORTED_TARGETS gtsam_unstable-static) +set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) if (GTSAM_UNSTABLE_BUILD_SHARED_LIBRARY) message(STATUS "Building GTSAM_UNSTABLE - shared") @@ -65,7 +67,9 @@ if (GTSAM_UNSTABLE_BUILD_SHARED_LIBRARY) VERSION ${gtsam_unstable_version} SOVERSION ${gtsam_unstable_soversion}) target_link_libraries(gtsam_unstable-shared gtsam-shared) - install(TARGETS gtsam_unstable-shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) + install(TARGETS gtsam_unstable-shared EXPORT GTSAM-exports LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) + list(APPEND GTSAM_EXPORTED_TARGETS gtsam_unstable-shared) + set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) endif(GTSAM_UNSTABLE_BUILD_SHARED_LIBRARY) # Wrap version for gtsam_unstable