Skip to content

Commit f0f8611

Browse files
committed
Merge branch 'master' into devel
2 parents f8a7bcf + 4d69f05 commit f0f8611

File tree

8 files changed

+85
-79
lines changed

8 files changed

+85
-79
lines changed

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1+
# pre-commit run -a (Guilhem Saurel, 2022-07-27)
2+
47bbab90f4775d38e6e2a2a70731acf099536adf
3+
14
# format (Guilhem Saurel, 2022-04-05)
25
4f6fe74a60b3f740a598fe0059db2c1c7f1fe174

.pre-commit-config.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,7 @@ repos:
3232
rev: 5.0.4
3333
hooks:
3434
- id: flake8
35+
- repo: https://github.com/cheshirekow/cmake-format-precommit
36+
rev: v0.6.13
37+
hooks:
38+
- id: cmake-format

CMakeLists.txt

Lines changed: 60 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,79 @@
11
#
2-
# Copyright 2010, 2018-2020 CNRS
3-
# Authors: Florent Lamiraux, Guilhem Saurel
2+
# Copyright 2010, 2018-2020 CNRS Authors: Florent Lamiraux, Guilhem Saurel
43
#
54

6-
CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
5+
cmake_minimum_required(VERSION 3.1)
76

87
# Project properties
9-
SET(PROJECT_ORG stack-of-tasks)
10-
SET(PROJECT_NAME dynamic-graph-tutorial)
11-
SET(PROJECT_DESCRIPTION "Tutorial for dynamic-graph")
12-
SET(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
8+
set(PROJECT_ORG stack-of-tasks)
9+
set(PROJECT_NAME dynamic-graph-tutorial)
10+
set(PROJECT_DESCRIPTION "Tutorial for dynamic-graph")
11+
set(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
1312

1413
# Project options
15-
OPTION(BUILD_PYTHON_INTERFACE "Build the python bindings" ON)
16-
OPTION(INSTALL_PYTHON_INTERFACE_ONLY "Install *ONLY* the python bindings" OFF)
17-
OPTION(SUFFIX_SO_VERSION "Suffix library name with its version" ON)
14+
option(BUILD_PYTHON_INTERFACE "Build the python bindings" ON)
15+
option(INSTALL_PYTHON_INTERFACE_ONLY "Install *ONLY* the python bindings" OFF)
16+
option(SUFFIX_SO_VERSION "Suffix library name with its version" ON)
1817

1918
# Project configuration
20-
IF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
21-
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
22-
ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
23-
SET(CUSTOM_HEADER_DIR "dynamic-graph/tutorial")
19+
if(NOT INSTALL_PYTHON_INTERFACE_ONLY)
20+
set(PROJECT_USE_CMAKE_EXPORT TRUE)
21+
endif(NOT INSTALL_PYTHON_INTERFACE_ONLY)
22+
set(CUSTOM_HEADER_DIR "dynamic-graph/tutorial")
2423

2524
# JRL-cmakemodule setup
26-
INCLUDE(cmake/base.cmake)
27-
INCLUDE(cmake/boost.cmake)
28-
INCLUDE(cmake/python.cmake)
25+
include(cmake/base.cmake)
26+
include(cmake/boost.cmake)
2927

3028
# Project definition
31-
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
32-
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
29+
compute_project_args(PROJECT_ARGS LANGUAGES CXX)
30+
project(${PROJECT_NAME} ${PROJECT_ARGS})
3331

3432
# Project dependencies
35-
ADD_PROJECT_DEPENDENCY(dynamic-graph REQUIRED)
36-
IF(BUILD_TESTING)
37-
FIND_PACKAGE(Boost REQUIRED COMPONENTS unit_test_framework)
38-
ENDIF(BUILD_TESTING)
39-
40-
IF(BUILD_PYTHON_INTERFACE)
41-
FINDPYTHON()
42-
ADD_PROJECT_DEPENDENCY(dynamic-graph-python 4.0.0 REQUIRED)
43-
SEARCH_FOR_BOOST_PYTHON(REQUIRED)
44-
ENDIF(BUILD_PYTHON_INTERFACE)
45-
46-
IF(Boost_VERSION GREATER 107299 OR Boost_VERSION_MACRO GREATER 107299)
33+
add_project_dependency(dynamic-graph REQUIRED)
34+
if(BUILD_TESTING)
35+
find_package(Boost REQUIRED COMPONENTS unit_test_framework)
36+
endif(BUILD_TESTING)
37+
38+
if(BUILD_PYTHON_INTERFACE)
39+
add_project_dependency(dynamic-graph-python 4.0.6 REQUIRED)
40+
include(cmake/python.cmake) # TODO: overwriting eigenpy/python.cmake
41+
endif(BUILD_PYTHON_INTERFACE)
42+
43+
if(Boost_VERSION GREATER 107299 OR Boost_VERSION_MACRO GREATER 107299)
4744
# Silence a warning about a deprecated use of boost bind by boost >= 1.73
4845
# without dropping support for boost < 1.73
49-
ADD_DEFINITIONS(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
50-
ENDIF()
46+
add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
47+
endif()
5148

5249
# Main Library
53-
SET(${PROJECT_NAME}_HEADERS
54-
include/${CUSTOM_HEADER_DIR}/inverted-pendulum.hh
55-
include/${CUSTOM_HEADER_DIR}/feedback-controller.hh
56-
)
57-
58-
SET(${PROJECT_NAME}_SOURCES
59-
src/inverted-pendulum.cpp
60-
src/feedback-controller.cpp
61-
)
62-
63-
ADD_LIBRARY(${PROJECT_NAME} SHARED
64-
${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
65-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
66-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC dynamic-graph::dynamic-graph)
67-
68-
IF(SUFFIX_SO_VERSION)
69-
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
70-
ENDIF(SUFFIX_SO_VERSION)
71-
72-
IF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
73-
INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
74-
ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
75-
76-
ADD_SUBDIRECTORY(src)
77-
IF(BUILD_TESTING)
78-
ADD_SUBDIRECTORY(tests)
79-
ENDIF(BUILD_TESTING)
80-
81-
IF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
82-
INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
83-
ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
50+
set(${PROJECT_NAME}_HEADERS include/${CUSTOM_HEADER_DIR}/inverted-pendulum.hh
51+
include/${CUSTOM_HEADER_DIR}/feedback-controller.hh)
52+
53+
set(${PROJECT_NAME}_SOURCES src/inverted-pendulum.cpp
54+
src/feedback-controller.cpp)
55+
56+
add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES}
57+
${${PROJECT_NAME}_HEADERS})
58+
target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
59+
target_link_libraries(${PROJECT_NAME} PUBLIC dynamic-graph::dynamic-graph)
60+
61+
if(SUFFIX_SO_VERSION)
62+
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
63+
endif(SUFFIX_SO_VERSION)
64+
65+
if(NOT INSTALL_PYTHON_INTERFACE_ONLY)
66+
install(
67+
TARGETS ${PROJECT_NAME}
68+
EXPORT ${TARGETS_EXPORT_NAME}
69+
DESTINATION lib)
70+
endif(NOT INSTALL_PYTHON_INTERFACE_ONLY)
71+
72+
add_subdirectory(src)
73+
if(BUILD_TESTING)
74+
add_subdirectory(tests)
75+
endif(BUILD_TESTING)
76+
77+
if(NOT INSTALL_PYTHON_INTERFACE_ONLY)
78+
install(FILES package.xml DESTINATION share/${PROJECT_NAME})
79+
endif(NOT INSTALL_PYTHON_INTERFACE_ONLY)

cmake

Submodule cmake updated 95 files
File renamed without changes.

package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<package format="3">
33
<name>dynamic-graph-tutorial</name>
4-
<version>1.3.3</version>
4+
<version>1.3.4</version>
55
<description>
66
Dynamic graph tutorial
77
</description>

src/CMakeLists.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
IF(BUILD_PYTHON_INTERFACE)
2-
PYTHON_INSTALL_ON_SITE("dynamic_graph/tutorial" simu.py)
3-
DYNAMIC_GRAPH_PYTHON_MODULE("tutorial" ${PROJECT_NAME} tutorial-wrap
4-
MODULE_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/tutorial-python.h")
5-
ENDIF(BUILD_PYTHON_INTERFACE)
1+
if(BUILD_PYTHON_INTERFACE)
2+
python_install_on_site("dynamic_graph/tutorial" simu.py)
3+
dynamic_graph_python_module(
4+
"tutorial" ${PROJECT_NAME} tutorial-wrap MODULE_HEADER
5+
"${CMAKE_CURRENT_SOURCE_DIR}/tutorial-python.h")
6+
endif(BUILD_PYTHON_INTERFACE)

tests/CMakeLists.txt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN)
1+
add_definitions(-DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN)
22

3-
ADD_UNIT_TEST(pendulum pendulum.cpp)
4-
TARGET_LINK_LIBRARIES(pendulum PRIVATE ${PROJECT_NAME} Boost::unit_test_framework)
3+
add_unit_test(pendulum pendulum.cpp)
4+
target_link_libraries(pendulum PRIVATE ${PROJECT_NAME}
5+
Boost::unit_test_framework)
56

6-
ADD_UNIT_TEST(controller controller.cpp)
7-
TARGET_LINK_LIBRARIES(controller PRIVATE ${PROJECT_NAME} Boost::unit_test_framework)
7+
add_unit_test(controller controller.cpp)
8+
target_link_libraries(controller PRIVATE ${PROJECT_NAME}
9+
Boost::unit_test_framework)
810

9-
IF(BUILD_PYTHON_INTERFACE)
10-
ADD_PYTHON_UNIT_TEST(simu "tests/simu.py" src)
11-
ENDIF(BUILD_PYTHON_INTERFACE)
11+
if(BUILD_PYTHON_INTERFACE)
12+
add_python_unit_test(simu "tests/simu.py" src)
13+
endif(BUILD_PYTHON_INTERFACE)

0 commit comments

Comments
 (0)