diff --git a/CMakeLists.txt b/CMakeLists.txt index ac1f9b5b59cd0a99bc3d24911718ab819fc2956a..70349b1b9720bd1a824349573381804db5a15c0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,39 +1,37 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.0) +CMAKE_MINIMUM_REQUIRED(VERSION 3.1) -# Set up project properties -SET(PROJECT_NAMESPACE gepetto) +# Project properties +SET(PROJECT_ORG gepetto) SET(PROJECT_NAME example-robot-data) SET(PROJECT_DESCRIPTION "Set of robot URDFs for benchmarking and developed examples.") -SET(PROJECT_URL https://gepgitlab.laas.fr/${PROJECT_NAMESPACE}/${PROJECT_NAME}) +SET(PROJECT_URL https://gepgitlab.laas.fr/${PROJECT_ORG}/${PROJECT_NAME}) +# Project options +OPTION(BUILD_PYTHON_INTERFACE "Build the python unit tests and helpers" ON) +OPTION(INSTALL_PYTHON_INTERFACE_ONLY "Install *ONLY* the python interface" OFF) + +# Project configuration +IF(NOT INSTALL_PYTHON_INTERFACE_ONLY) + SET(PROJECT_USE_CMAKE_EXPORT TRUE) +ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY) +SET(CUSTOM_HEADER_DIR ${PROJECT_NAME}) + +# JRL-cmakemodule setup INCLUDE(cmake/base.cmake) -INCLUDE(cmake/test.cmake) INCLUDE(cmake/python.cmake) # Print initial message MESSAGE("${PROJECT_DESCRIPTION}, version ${PROJECT_VERSION}") -MESSAGE("Copyright (C) 2018-2020 CNRS-LAAS / University of Edinburgh") +MESSAGE("Copyright (C) 2018-2020 LAAS-CNRS / University of Edinburgh") MESSAGE("All rights reserved.") MESSAGE("Released under the BSD 3-Clause License.") -# Set a default build type to 'Release' if none was specified -IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - MESSAGE(STATUS "Setting build type to 'Release' as none was specified.") - SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) - # Set the possible values of build type for cmake-gui - SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") -ENDIF() - -SET(CUSTOM_HEADER_DIR ${PROJECT_NAME}) - +# Project definition COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX) PROJECT(${PROJECT_NAME} ${PROJECT_ARGS}) -OPTION (BUILD_PYTHON_INTERFACE "Build the python unit tests and helpers" ON) -OPTION (INSTALL_PYTHON_INTERFACE_ONLY "Install *ONLY* the python interface" OFF) - IF(BUILD_PYTHON_INTERFACE) - ADD_REQUIRED_DEPENDENCY("pinocchio >= 2.1.0") + ADD_PROJECT_DEPENDENCY(pinocchio 2.1.0 REQUIRED PKG_CONFIG_REQUIRES "pinocchio >= 2.1.0") FINDPYTHON() STRING(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME}) ADD_SUBDIRECTORY(python) @@ -41,6 +39,10 @@ IF(BUILD_PYTHON_INTERFACE) ENDIF(BUILD_PYTHON_INTERFACE) IF(NOT INSTALL_PYTHON_INTERFACE_ONLY) + ADD_LIBRARY(${PROJECT_NAME} INTERFACE) + TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} INTERFACE $<INSTALL_INTERFACE:include>) + INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib) + ADD_SUBDIRECTORY(include/${CUSTOM_HEADER_DIR}) INSTALL(DIRECTORY robots DESTINATION share/${PROJECT_NAME}) INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME}) diff --git a/cmake b/cmake index 7eca9ee6c9d1c4ee20eb82272e94f9d11642053a..ea65d78d2ab708da3ab736122cd19859bf4e46f8 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 7eca9ee6c9d1c4ee20eb82272e94f9d11642053a +Subproject commit ea65d78d2ab708da3ab736122cd19859bf4e46f8