From 1ec905763b433b65385aeed5a156f3d724fb4ec7 Mon Sep 17 00:00:00 2001
From: Guilhem Saurel <guilhem.saurel@laas.fr>
Date: Wed, 11 Mar 2020 14:03:58 +0100
Subject: [PATCH] [CMake] clean: keep minimal required instructions

---
 CMakeLists.txt | 65 ++++++++++++++++++++++----------------------------
 cmake          |  2 +-
 2 files changed, 29 insertions(+), 38 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea79550..43ad923 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,62 +1,53 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
 
+# Project properties
 SET(PROJECT_ORG pyrene-dev)
 SET(PROJECT_NAME talos_data)
 SET(PROJECT_DESCRIPTION "Talos urdf model, srdf model and other data")
 SET(PROJECT_URL "https://gepgitlab.laas.fr/${PROJECT_ORG}/${PROJECT_NAME}")
 
+# Project options
+OPTION(SUFFIX_SO_VERSION "Suffix library name with its version" ON)
+
+# Project configuration
 SET(PROJECT_USE_CMAKE_EXPORT TRUE)
-SET(CXX_DISABLE_WERROR True)
+SET(CXX_DISABLE_WERROR TRUE)
 SET(CMAKE_CXX_STANDARD 11)
+SET(PACKAGE_EXTRA_MACROS "set(TALOS_DATA_PREFIX \${PACKAGE_PREFIX_DIR})")
 
-#include(cmake/ros.cmake)
+# JRL-cmakemodule setup
 INCLUDE(cmake/base.cmake)
 
-# Specify the project.
-COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
+# Project definition
+COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX C)
 PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
 
-find_package(catkin REQUIRED COMPONENTS
-  roscpp)
-
-catkin_package(
-  #  INCLUDE_DIRS include
-  #  LIBRARIES talos_description
-  #  CATKIN_DEPENDS roscpp
-  #  DEPENDS system_lib
-  )
-
-# Find xml_reflection
+# Project dependencies
 ADD_PROJECT_DEPENDENCY(urdfdom REQUIRED)
 ADD_PROJECT_DEPENDENCY(gazebo REQUIRED)
 ADD_PROJECT_DEPENDENCY(roscpp)
+find_package(catkin REQUIRED COMPONENTS roscpp)
 
-# Needed due to the CMakeTarget from gazebo.
-INCLUDE_DIRECTORIES(${GAZEBO_INCLUDE_DIRS})
-INCLUDE_DIRECTORIES(${catkin_INCLUDE_DIRS})
-
-
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-
-
-SET(LIBRARY_NAME ${PROJECT_NAME})
+# Main Library
+SET(${PROJECT_NAME}_HEADERS
+  )
 
-ADD_LIBRARY(${PROJECT_NAME}
-  SHARED
+SET(${PROJECT_NAME}_SOURCES
   src/SpringPlugin.cc
   )
 
-TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${GAZEBO_INCLUDE_DIRS})
-TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${catkin_INCLUDE_DIRS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED
+  ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
+TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${GAZEBO_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS})
 
-INSTALL(TARGETS
-  ${PROJECT_NAME}
-  EXPORT ${TARGETS_EXPORT_NAME}
-  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-  LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-  )
+IF(SUFFIX_SO_VERSION)
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
+ENDIF(SUFFIX_SO_VERSION)
+
+INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
 
 FOREACH(dir config gazebo meshes robots urdf scripts srdf launch)
-  INSTALL(DIRECTORY ${dir}/
-    DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir})
+  INSTALL(DIRECTORY ${dir} DESTINATION share/${PROJECT_NAME})
 ENDFOREACH(dir)
+
+INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
diff --git a/cmake b/cmake
index 6134403..321eb1c 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit 61344038b1352d5a8de1e20db710c83be805d2eb
+Subproject commit 321eb1ccf1d94570eb564f3659b13ef3ef82239e
-- 
GitLab