@@ -4,7 +4,8 @@ cmake_minimum_required(VERSION 3.22)
44set (PROJECT_ORG gepetto)
55set (PROJECT_NAME example-parallel-robots)
66set (PROJECT_DESCRIPTION
7- "Set of parallel robot models for general use in benchmarks and examples" )
7+ "Set of parallel robot models for general use in benchmarks and examples"
8+ )
89set (PROJECT_URL "https://github.com/${PROJECT_ORG} /${PROJECT_NAME} " )
910
1011# Project configuration
@@ -14,24 +15,32 @@ set(PROJECT_COMPATIBILITY_VERSION AnyNewerVersion)
1415# Check if the submodule cmake have been initialized
1516set (JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR} /cmake" )
1617if (EXISTS "${JRL_CMAKE_MODULES} /base.cmake" )
17- message (STATUS "JRL cmakemodules found in 'cmake/' git submodule" )
18+ message (STATUS "JRL cmakemodules found in 'cmake/' git submodule" )
1819else ()
19- find_package (jrl-cmakemodules QUIET CONFIG )
20- if (jrl-cmakemodules_FOUND)
21- get_property (
22- JRL_CMAKE_MODULES
23- TARGET jrl-cmakemodules::jrl-cmakemodules
24- PROPERTY INTERFACE_INCLUDE_DIRECTORIES )
25- message (STATUS "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES} " )
26- else ()
27- message (STATUS "JRL cmakemodules not found. Let's fetch it." )
28- include (FetchContent )
29- FetchContent_Declare (
30- "jrl-cmakemodules"
31- GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git" )
32- FetchContent_MakeAvailable ("jrl-cmakemodules" )
33- FetchContent_GetProperties ("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
34- endif ()
20+ find_package (jrl-cmakemodules QUIET CONFIG )
21+ if (jrl-cmakemodules_FOUND)
22+ get_property (
23+ JRL_CMAKE_MODULES
24+ TARGET jrl-cmakemodules::jrl-cmakemodules
25+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES
26+ )
27+ message (
28+ STATUS
29+ "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES} "
30+ )
31+ else ()
32+ message (STATUS "JRL cmakemodules not found. Let's fetch it." )
33+ include (FetchContent )
34+ FetchContent_Declare (
35+ "jrl-cmakemodules"
36+ GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git"
37+ )
38+ FetchContent_MakeAvailable ("jrl-cmakemodules" )
39+ FetchContent_GetProperties (
40+ "jrl-cmakemodules"
41+ SOURCE_DIR JRL_CMAKE_MODULES
42+ )
43+ endif ()
3544endif ()
3645
3746# JRL-cmakemodule setup
@@ -48,51 +57,61 @@ compute_project_args(PROJECT_ARGS LANGUAGES CXX)
4857project (${PROJECT_NAME} ${PROJECT_ARGS} )
4958
5059if (BUILD_PYTHON_INTERFACE)
51- # add_project_dependency(numpy REQUIRED)
52- # add_project_dependency(toolbox-parallel-robots REQUIRED)
53- include ("${JRL_CMAKE_MODULES} /python.cmake" )
54- add_project_dependency (pinocchio REQUIRED )
55- string (REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME} )
60+ # add_project_dependency(numpy REQUIRED)
61+ # add_project_dependency(toolbox-parallel-robots REQUIRED)
62+ include ("${JRL_CMAKE_MODULES} /python.cmake" )
63+ add_project_dependency (pinocchio REQUIRED )
64+ string (REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME} )
5665
57- set (${PROJECT_NAME} _PYTHON_FILES
58- __init__.py __main__.py loader_tools.py robot_options.py talos_closed.py
59- talos_closed_6d.py)
66+ set (${PROJECT_NAME} _PYTHON_FILES
67+ __init__.py
68+ __main__.py
69+ loader_tools.py
70+ robot_options.py
71+ talos_closed.py
72+ talos_closed_6d.py
73+ )
6074
61- foreach (python ${${PROJECT_NAME} _PYTHON_FILES})
62- python_install_on_site (${PY_NAME} ${python} )
63- endforeach (python ${${PROJECT_NAME}_PYTHON_FILES} )
75+ foreach (python ${${PROJECT_NAME} _PYTHON_FILES})
76+ python_install_on_site (${PY_NAME} ${python} )
77+ endforeach (python ${${PROJECT_NAME}_PYTHON_FILES} )
6478
65- configure_file (${PY_NAME} /path.py.in ${PY_NAME} /path.py )
66- install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${PY_NAME} /path.py
67- DESTINATION "${PYTHON_SITELIB} /${PY_NAME} " )
79+ configure_file (${PY_NAME} /path.py.in ${PY_NAME} /path.py )
80+ install (
81+ FILES ${CMAKE_CURRENT_BINARY_DIR} /${PY_NAME} /path.py
82+ DESTINATION "${PYTHON_SITELIB} /${PY_NAME} "
83+ )
6884
69- if (BUILD_TESTING)
70- find_package (toolbox-parallel-robots QUIET ) # tpr installed from source /
71- # system
72- if (NOT TARGET toolbox-parallel-robots::toolbox-parallel-robots)
73- # TODO: allow use of pinocchio.casadi from PyPI execute_process( COMMAND
74- # ${PYTHON_EXECUTABLE} "-c" "import toolbox_parallel_robots"
75- # RESULT_VARIABLE _tpr OUTPUT_QUIET ERROR_QUIET) if(NOT _tpr EQUAL 0)
76- # message( FATAL_ERROR "toolbox-parallel-robots not found. Please install
77- # it and ensure it is available." ) endif()
78- endif ()
79- add_subdirectory (unittest )
80- endif (BUILD_TESTING )
85+ if (BUILD_TESTING)
86+ find_package (toolbox-parallel-robots QUIET ) # tpr installed from source /
87+ # system
88+ if (NOT TARGET toolbox-parallel-robots::toolbox-parallel-robots)
89+ # TODO: allow use of pinocchio.casadi from PyPI execute_process( COMMAND
90+ # ${PYTHON_EXECUTABLE} "-c" "import toolbox_parallel_robots"
91+ # RESULT_VARIABLE _tpr OUTPUT_QUIET ERROR_QUIET) if(NOT _tpr EQUAL 0)
92+ # message( FATAL_ERROR "toolbox-parallel-robots not found. Please install
93+ # it and ensure it is available." ) endif()
94+ endif ()
95+ add_subdirectory (unittest )
96+ endif (BUILD_TESTING )
8197endif (BUILD_PYTHON_INTERFACE )
8298
8399if (NOT BUILD_STANDALONE_PYTHON_INTERFACE)
84- add_library (${PROJECT_NAME} INTERFACE )
85- target_include_directories (${PROJECT_NAME}
86- INTERFACE $<INSTALL_INTERFACE :include >)
87- target_compile_definitions (
88- ${PROJECT_NAME}
89- INTERFACE
90- EXAMPLE_PARALLEL_ROBOTS_MODEL_DIR= "$<INSTALL_PREFIX >/share/${PROJECT_NAME} /robots"
91- )
92- install (
93- TARGETS ${PROJECT_NAME}
94- EXPORT ${TARGETS_EXPORT_NAME}
95- DESTINATION lib)
100+ add_library (${PROJECT_NAME} INTERFACE )
101+ target_include_directories (
102+ ${PROJECT_NAME}
103+ INTERFACE $<INSTALL_INTERFACE :include >
104+ )
105+ target_compile_definitions (
106+ ${PROJECT_NAME}
107+ INTERFACE
108+ EXAMPLE_PARALLEL_ROBOTS_MODEL_DIR= "$<INSTALL_PREFIX >/share/${PROJECT_NAME} /robots"
109+ )
110+ install (
111+ TARGETS ${PROJECT_NAME}
112+ EXPORT ${TARGETS_EXPORT_NAME}
113+ DESTINATION lib
114+ )
96115
97- install (DIRECTORY robots DESTINATION share/${PROJECT_NAME} )
116+ install (DIRECTORY robots DESTINATION share/${PROJECT_NAME} )
98117endif ()
0 commit comments