From 8f0c76b778ae3268751903e3d9e0239a4c8e8c87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20=C5=81ukawski?= Date: Thu, 8 Nov 2018 12:46:18 +0100 Subject: [PATCH] Review CMake code, require CMake 2.8.9 --- CMakeLists.txt | 83 +------------------ .../ROBOT_DEVASTATION_ROBOTSConfig.cmake.in | 14 ---- scripts/CMakeLists.txt | 12 +-- share/CMakeLists.txt | 4 +- share/launch/CMakeLists.txt | 14 +--- 5 files changed, 12 insertions(+), 115 deletions(-) delete mode 100644 cmake/template/ROBOT_DEVASTATION_ROBOTSConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e0be46..2d2d4bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,91 +1,17 @@ -# Copyright: Universidad Carlos III de Madrid (C) 2016; +# Copyright: Universidad Carlos III de Madrid (C) 2018; # Authors: ASROB # CopyPolicy: Released under the terms of the GNU GPL v2.0. -# Exploit new cmake 2.6 features (export). +cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR) -# reduce warning level with cmake 2.6 -cmake_minimum_required(VERSION 2.6) -#cmake policies -if(COMMAND cmake_policy) - cmake_policy(SET CMP0003 NEW) -endif(COMMAND cmake_policy) +project(ROBOT_DEVASTATION_ROBOTS NONE) -project(ROBOT_DEVASTATION_ROBOTS) - -option(BUILD_SHARED_LIBS "All shared libs" TRUE) - -### options: cpp libraries -#option(ENABLE_ExampleLibrary "Choose if you want to compile ExampleLibrary" TRUE) - -### options: cpp programs -#option(ENABLE_exampleProgram "Choose if you want to compile exampleProgram" TRUE) - -### options: force default -#option(ENABLE_exampleExtraOption "Enable/disable option exampleExtraOption" TRUE) - -option(INSTALL_SERVICES "Choose if you want to install Robot Devastation services" TRUE) - -if(MSVC) - MESSAGE(STATUS "Running on windows") - set(CMAKE_DEBUG_POSTFIX "d") -endif(MSVC) - -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Release" CACHE STRING - "Choose the type of build, recommanded options are: Debug or Release") -endif(NOT CMAKE_BUILD_TYPE) -# Hide variable to MSVC users, since it is not needed -if (MSVC) - mark_as_advanced(CMAKE_BUILD_TYPE) -endif(MSVC) - -###################### - -### this makes everything go in $ROBOT_DEVASTATION_ROBOTS_DIR/lib and $ROBOT_DEVASTATION_ROBOTS_DIR/bin -set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) -message(STATUS "Libraries go to ${LIBRARY_OUTPUT_PATH}") -message(STATUS "Executables go to ${EXECUTABLE_OUTPUT_PATH}") -# this doesn't happen automatically for makefiles -make_directory(${LIBRARY_OUTPUT_PATH}) -make_directory(${EXECUTABLE_OUTPUT_PATH}) -# and let us clean their contents on a "make clean" -##set_directory_properties(PROPERTIES LIBRARY_OUTPUT_PATH ADDITIONAL_MAKE_CLEAN_FILES) -##set_directory_properties(PROPERTIES EXECUTABLE_OUTPUT_PATH ADDITIONAL_MAKE_CLEAN_FILES) -mark_as_advanced(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) -mark_as_advanced(CMAKE_BACKWARDS_COMPATIBILITY) -########################################## - -# Pick up our cmake modules - they are all in the cmake subdirectory -set(ROBOT_DEVASTATION_ROBOTS_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) -# let cmake use them -list(APPEND CMAKE_MODULE_PATH ${ROBOT_DEVASTATION_ROBOTS_MODULE_PATH}) - -set(ROBOT_DEVASTATION_ROBOTS_INCLUDE_DIRS CACHE INTERNAL "appended header dirs" FORCE) -set(ROBOT_DEVASTATION_ROBOTS_LINK_DIRS CACHE INTERNAL "appended link dirs" FORCE) -set(ROBOT_DEVASTATION_ROBOTS_LIBRARIES CACHE INTERNAL "appended libraries" FORCE) +option(INSTALL_SERVICES "Choose if you want to install Robot Devastation services" ON) # add main contents add_subdirectory(share) -#add_subdirectory(libraries) -#add_subdirectory(programs) add_subdirectory(scripts) -# export our variables to a ROBOT_DEVASTATION_ROBOTSConfig.cmake creation -set(ROBOT_DEVASTATION_ROBOTS_LINK_DIRS ${ROBOT_DEVASTATION_ROBOTS_LINK_DIRS} ${LIBRARY_OUTPUT_PATH}) -configure_file(${CMAKE_SOURCE_DIR}/cmake/template/ROBOT_DEVASTATION_ROBOTSConfig.cmake.in - ${CMAKE_BINARY_DIR}/ROBOT_DEVASTATION_ROBOTSConfig.cmake @ONLY) - -# create a symbolic link to the shared directory (as contains models and may be heavy) -# If you want a deep copy, you can use the copy_directory command instead of create_symlink. -#add_custom_target(install_applications COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR}/share ${CMAKE_SOURCE_DIR}/../share) - -#endif(MSVC) -##add_custom_target(nuke -## "${CMAKE_COMMAND}" -E "remove_directory" "${CMAKE_SOURCE_DIR}/bin" ";" -## "${CMAKE_COMMAND}" -E "remove_directory" "${CMAKE_SOURCE_DIR}/lib") - # uninstall target configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/template/ROBOT_DEVASTATION_ROBOTSConfigUninstall.cmake.in" @@ -93,4 +19,3 @@ configure_file( add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/ROBOT_DEVASTATION_ROBOTSConfigUninstall.cmake) - diff --git a/cmake/template/ROBOT_DEVASTATION_ROBOTSConfig.cmake.in b/cmake/template/ROBOT_DEVASTATION_ROBOTSConfig.cmake.in deleted file mode 100644 index e680779..0000000 --- a/cmake/template/ROBOT_DEVASTATION_ROBOTSConfig.cmake.in +++ /dev/null @@ -1,14 +0,0 @@ -# Authors: Juan G Victores -# CopyPolicy: Released under the terms of the LGPLv2.1 or later, see LGPL.TXT -# Evident yet unstandarized names - -IF (NOT ROBOT_DEVASTATION_ROBOTS_FOUND) - - SET(ROBOT_DEVASTATION_ROBOTS_LIBRARIES "@ROBOT_DEVASTATION_ROBOTS_LIBRARIES@") - SET(ROBOT_DEVASTATION_ROBOTS_INCLUDE_DIRS "@ROBOT_DEVASTATION_ROBOTS_INCLUDE_DIRS@") - SET(ROBOT_DEVASTATION_ROBOTS_LINK_DIRS "@ROBOT_DEVASTATION_ROBOTS_LINK_DIRS@") - SET(ROBOT_DEVASTATION_ROBOTS_DEFINES "@ROBOT_DEVASTATION_ROBOTS_DEFINES@") - SET(ROBOT_DEVASTATION_ROBOTS_MODULE_PATH "@ROBOT_DEVASTATION_ROBOTS_MODULE_PATH@") - - SET (ROBOT_DEVASTATION_ROBOTS_FOUND TRUE) -ENDIF (NOT ROBOT_DEVASTATION_ROBOTS_FOUND) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index fc4eb47..30ff26d 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -1,17 +1,11 @@ -# Copyright: UC3M 2016 +# Copyright: UC3M 2018 # Author: ASROB # CopyPolicy: Released under the terms of the GNU GPL v2.0. -# - -#find_package(YARP REQUIRED) -#list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH}) -#include(YarpInstallationHelpers) -#yarp_configure_external_installation(robotDevastation-robots) # Install services for autostart -IF(INSTALL_SERVICES) +if(INSTALL_SERVICES) install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/etc/service/launchCamera/run DESTINATION /etc/service/launchCamera) install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/etc/service/launchRobot/run DESTINATION /etc/service/launchRobot) -ENDIF() +endif() diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index 2c5f5ab..b9d5f9e 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -1,7 +1,6 @@ -# Copyright: UC3M 2016 +# Copyright: UC3M 2018 # Author: ASROB # CopyPolicy: Released under the terms of the GNU GPL v2.0. -# find_package(YARP REQUIRED) list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH}) @@ -11,4 +10,3 @@ yarp_configure_external_installation(robotDevastation-robots) ### Go through single applications add_subdirectory(launch) - diff --git a/share/launch/CMakeLists.txt b/share/launch/CMakeLists.txt index d235b26..ecb2b52 100644 --- a/share/launch/CMakeLists.txt +++ b/share/launch/CMakeLists.txt @@ -1,13 +1,7 @@ -# Copyright: 2014 ASROB +# Copyright: 2018 ASROB # Author: Juan G Victores # CopyPolicy: Released under the terms of the GNU GPL v2.0. -set(appname launch) - - -file(GLOB conf ${CMAKE_CURRENT_SOURCE_DIR}/*.ini) -#file(GLOB scripts ${CMAKE_CURRENT_SOURCE_DIR}/scripts/*.template) - -yarp_install(FILES ${conf} DESTINATION ${ROBOTDEVASTATION-ROBOTS_CONTEXTS_INSTALL_DIR}/${appname}) -#yarp_install(FILES ${scripts} DESTINATION ${RD_APPLICATIONS_TEMPLATES_INSTALL_DIR}) - +yarp_install(FILES launchCamera.ini + launchRobot.ini + DESTINATION ${ROBOTDEVASTATION-ROBOTS_CONTEXTS_INSTALL_DIR}/launch)