From 0408bd8ef7e9f31e37b525f4acd399a0a97ea8b1 Mon Sep 17 00:00:00 2001
From: Olivier Stasse <ostasse@laas.fr>
Date: Sat, 2 Nov 2019 02:57:54 +0800
Subject: [PATCH] [cmake] Switch to CMake export

---
 CMakeLists.txt                       | 17 +++++++++++------
 include/dynamic-graph/CMakeLists.txt |  4 ++--
 src/CMakeLists.txt                   |  3 ++-
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 92636cf..656143f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,10 +2,6 @@
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
-INCLUDE(cmake/base.cmake)
-INCLUDE(cmake/boost.cmake)
-INCLUDE(cmake/eigen.cmake)
-INCLUDE(cmake/pthread.cmake)
 
 SET(PROJECT_ORG stack-of-tasks)
 SET(PROJECT_NAME dynamic-graph)
@@ -13,6 +9,16 @@ SET(PROJECT_DESCRIPTION "Dynamic graph library")
 SET(PROJECT_URL "http://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
 SET(PROJECT_SUFFIX "-v3")
 
+INCLUDE(cmake/base.cmake)
+PROJECT(${PROJECT_NAME} CXX)
+
+INCLUDE(cmake/boost.cmake)
+INCLUDE(cmake/eigen.cmake)
+INCLUDE(cmake/pthread.cmake)
+
+# Export CMake Target
+SET(PROJECT_USE_CMAKE_EXPORT TRUE)
+
 SET(CUSTOM_HEADER_DIR "${PROJECT_NAME}")
 
 SET(DOXYGEN_USE_MATHJAX YES)
@@ -20,8 +26,6 @@ SET(DOXYGEN_USE_MATHJAX YES)
 # Defines paths.
 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
 
-SETUP_PROJECT()
-
 # Add configuration headers for plug-ins.
 GENERATE_CONFIGURATION_HEADER(
   ${HEADER_DIR} config-tracer.hh DG_TRACER tracer_EXPORTS)
@@ -53,3 +57,4 @@ ADD_SUBDIRECTORY(include/${PROJECT_NAME})
 ADD_SUBDIRECTORY(tests)
 
 SETUP_PROJECT_FINALIZE()
+SETUP_PROJECT_PACKAGE_FINALIZE()
diff --git a/include/dynamic-graph/CMakeLists.txt b/include/dynamic-graph/CMakeLists.txt
index 820ce97..7baf760 100644
--- a/include/dynamic-graph/CMakeLists.txt
+++ b/include/dynamic-graph/CMakeLists.txt
@@ -50,6 +50,6 @@ SET(${PROJECT_NAME}_HEADERS
   logger.h
     )
 
-INSTALL(FILES ${${PROJECT_NAME}_HEADERS}
-  DESTINATION include/${PROJECT_NAME}
+  INSTALL(FILES ${${PROJECT_NAME}_HEADERS}
+    DESTINATION include/${PROJECT_NAME}
   )
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a4fedf4..5e70828 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -54,6 +54,7 @@ TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES})
 #ENDIF (UNIX AND NOT APPLE)
 
 INSTALL(TARGETS ${LIBRARY_NAME}
+  EXPORT ${TARGETS_EXPORT_NAME}
   DESTINATION ${CMAKE_INSTALL_LIBDIR})
 
 ####################################
@@ -79,5 +80,5 @@ FOREACH(plugin_file ${plugins_list})
     PREFIX ""
     )
 
-  INSTALL(TARGETS ${plugin} DESTINATION ${PLUGINDIR})
+  INSTALL(TARGETS ${plugin} EXPORT ${TARGET_NAME} DESTINATION ${PLUGINDIR})
 ENDFOREACH(plugin_file)
-- 
GitLab