diff --git a/CMakeLists.txt b/CMakeLists.txt index 8bf2e755..b47f6d68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,6 +89,19 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Create targets if specific requirements are satisfied. include(CMakeDependentOption) +# Find YARP (main dependency). +find_package(YARP REQUIRED) + +# Load YARP modules. +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH}) + include(YarpPlugin) + include(YarpInstallationHelpers) +endif() + +# Configure installation paths for YARP resources. +yarp_configure_external_installation(rd) + # Add main contents. add_subdirectory(share) add_subdirectory(src) diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index a63c7f65..4dae70a4 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -2,11 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) -list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH}) -include(YarpInstallationHelpers) -yarp_configure_external_installation(rd) - ### Go through directories add_subdirectory(robotDevastation) diff --git a/src/libraries/ImageLib/CMakeLists.txt b/src/libraries/ImageLib/CMakeLists.txt index 3e3728d1..7fd3f47c 100644 --- a/src/libraries/ImageLib/CMakeLists.txt +++ b/src/libraries/ImageLib/CMakeLists.txt @@ -2,7 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) find_package(ZBar REQUIRED) add_library(ImageLib ImageEventListener.hpp @@ -22,9 +21,12 @@ add_library(ImageLib ImageEventListener.hpp add_dependencies(ImageLib COLOR_DEBUG) target_include_directories(ImageLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS} ${ZBAR_INCLUDE_DIR}) +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(ImageLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() + target_link_libraries(ImageLib PUBLIC YARP::YARP_OS YARP::YARP_dev YARP::YARP_sig diff --git a/src/libraries/MusicLib/CMakeLists.txt b/src/libraries/MusicLib/CMakeLists.txt index d805a525..1971c502 100644 --- a/src/libraries/MusicLib/CMakeLists.txt +++ b/src/libraries/MusicLib/CMakeLists.txt @@ -2,7 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) find_package(SDL2 REQUIRED) find_package(SDL2_mixer REQUIRED) @@ -16,10 +15,13 @@ add_library(MusicLib AudioManager.hpp add_dependencies(MusicLib COLOR_DEBUG) target_include_directories(MusicLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} ${SDL2_MIXER_INCLUDE_DIRS}) +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(MusicLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() + target_link_libraries(MusicLib PUBLIC YARP::YARP_OS ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARIES}) diff --git a/src/libraries/NetworkLib/CMakeLists.txt b/src/libraries/NetworkLib/CMakeLists.txt index 5c803847..bb2aa66f 100644 --- a/src/libraries/NetworkLib/CMakeLists.txt +++ b/src/libraries/NetworkLib/CMakeLists.txt @@ -2,8 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) - add_library(NetworkLib MockNetworkEventListener.hpp MockNetworkEventListener.cpp MockNetworkManager.hpp @@ -16,8 +14,12 @@ add_library(NetworkLib MockNetworkEventListener.hpp add_dependencies(NetworkLib COLOR_DEBUG) -target_include_directories(NetworkLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS}) +target_include_directories(NetworkLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(NetworkLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() + target_link_libraries(NetworkLib PUBLIC YARP::YARP_OS MentalMapLib) diff --git a/src/libraries/RobotLib/CMakeLists.txt b/src/libraries/RobotLib/CMakeLists.txt index 03c41ae4..1f1a5229 100644 --- a/src/libraries/RobotLib/CMakeLists.txt +++ b/src/libraries/RobotLib/CMakeLists.txt @@ -2,14 +2,15 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) - add_library(RobotLib MockRobotManager.cpp MockRobotManager.hpp) add_dependencies(RobotLib COLOR_DEBUG ASROB_YARP_DEVICES) -target_include_directories(RobotLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS}) +target_include_directories(RobotLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(RobotLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() target_link_libraries(RobotLib PUBLIC ASROB::RobotInterfaces) diff --git a/src/libraries/ServerLib/CMakeLists.txt b/src/libraries/ServerLib/CMakeLists.txt index 03f3032e..69daf751 100644 --- a/src/libraries/ServerLib/CMakeLists.txt +++ b/src/libraries/ServerLib/CMakeLists.txt @@ -2,8 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) - add_library(ServerLib RpcResponder.hpp RpcResponder.cpp Server.hpp @@ -11,8 +9,11 @@ add_library(ServerLib RpcResponder.hpp add_dependencies(ServerLib COLOR_DEBUG) -target_include_directories(ServerLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS}) +target_include_directories(ServerLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(ServerLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() target_link_libraries(ServerLib PUBLIC YARP::YARP_OS MentalMapLib) diff --git a/src/libraries/StateMachineLib/CMakeLists.txt b/src/libraries/StateMachineLib/CMakeLists.txt index 9cba432a..d3e5003e 100644 --- a/src/libraries/StateMachineLib/CMakeLists.txt +++ b/src/libraries/StateMachineLib/CMakeLists.txt @@ -2,8 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) - add_library(StateMachineLib MockState.hpp MockState.cpp State.hpp @@ -19,7 +17,10 @@ add_library(StateMachineLib MockState.hpp add_dependencies(StateMachineLib COLOR_DEBUG) -target_include_directories(StateMachineLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS}) +target_include_directories(StateMachineLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(StateMachineLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() target_link_libraries(StateMachineLib PUBLIC YARP::YARP_OS) diff --git a/src/libraries/UserInterfaceLib/CMakeLists.txt b/src/libraries/UserInterfaceLib/CMakeLists.txt index 561b0290..fd3ebf52 100644 --- a/src/libraries/UserInterfaceLib/CMakeLists.txt +++ b/src/libraries/UserInterfaceLib/CMakeLists.txt @@ -2,8 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) - find_package(SDL2 REQUIRED) find_package(SDL2_image REQUIRED) find_package(SDL2_ttf REQUIRED) @@ -26,10 +24,13 @@ add_library(UserInterfaceLib DeadScreen.hpp add_dependencies(UserInterfaceLib COLOR_DEBUG) target_include_directories(UserInterfaceLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIRS}) +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(UserInterfaceLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() + target_include_directories(UserInterfaceLib PRIVATE ${SDL2_IMAGE_INCLUDE_DIRS}) target_link_libraries(UserInterfaceLib PUBLIC YARP::YARP_OS diff --git a/src/libraries/UtilsLib/CMakeLists.txt b/src/libraries/UtilsLib/CMakeLists.txt index 2105a57e..20a9f349 100644 --- a/src/libraries/UtilsLib/CMakeLists.txt +++ b/src/libraries/UtilsLib/CMakeLists.txt @@ -2,8 +2,6 @@ # CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root. # URL: https://github.com/asrob-uc3m/robotDevastation -find_package(YARP REQUIRED) - find_package(SDL2 REQUIRED) find_package(SDL2_image REQUIRED) find_package(SDL2_ttf REQUIRED) @@ -18,9 +16,12 @@ add_library(UtilsLib Hub.hpp add_dependencies(UtilsLib COLOR_DEBUG ASROB_YARP_DEVICES) target_include_directories(UtilsLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR}) +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(UtilsLib PUBLIC ${YARP_INCLUDE_DIRS}) +endif() + target_include_directories(UtilsLib PRIVATE ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR}) diff --git a/src/programs/rdServer/CMakeLists.txt b/src/programs/rdServer/CMakeLists.txt index 8b94cae0..31eca0fa 100644 --- a/src/programs/rdServer/CMakeLists.txt +++ b/src/programs/rdServer/CMakeLists.txt @@ -6,15 +6,14 @@ option(ENABLE_rdServer "Choose if you want to compile rdServer" ON) if(ENABLE_rdServer) -# Find YARP. Point the YARP_DIR environment variable at your build. -find_package(YARP REQUIRED) - # Set up our main executable. add_executable(rdServer main.cpp) add_dependencies(rdServer COLOR_DEBUG) -target_include_directories(rdServer PUBLIC ${YARP_INCLUDE_DIRS}) +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(rdServer PUBLIC ${YARP_INCLUDE_DIRS}) +endif() target_link_libraries(rdServer YARP::YARP_init YARP::YARP_OS diff --git a/src/programs/robotDevastation/CMakeLists.txt b/src/programs/robotDevastation/CMakeLists.txt index 7c24ae1d..c141dc8d 100644 --- a/src/programs/robotDevastation/CMakeLists.txt +++ b/src/programs/robotDevastation/CMakeLists.txt @@ -6,17 +6,17 @@ option(ENABLE_robotDevastation "Choose if you want to compile robotDevastation" if(ENABLE_robotDevastation) -# Find YARP. Point the YARP_DIR environment variable at your build. -find_package(YARP REQUIRED) - add_executable(robotDevastation main.cpp RobotDevastation.hpp RobotDevastation.cpp) add_dependencies(robotDevastation COLOR_DEBUG ASROB_YARP_DEVICES) -target_include_directories(robotDevastation PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${YARP_INCLUDE_DIRS}) +target_include_directories(robotDevastation PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if(YARP_VERSION_SHORT VERSION_LESS 2.3.70) + target_include_directories(robotDevastation PUBLIC ${YARP_INCLUDE_DIRS}) +endif() target_link_libraries(robotDevastation YARP::YARP_OS MusicLib diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 09348e69..feabbfcc 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -16,7 +16,6 @@ if(ENABLE_tests) set(gtest_force_shared_crt ON CACHE INTERNAL "") # needed for Windows add_subdirectory(${GTestSources_SOURCE_DIR} ${CMAKE_BINARY_DIR}/gtest) -find_package(YARP REQUIRED) find_package(SDL2 REQUIRED) find_package(SDL2_image REQUIRED) find_package(SDL2_ttf REQUIRED)