Skip to content

Commit cfe4f51

Browse files
authored
Merge pull request #91 from Gepetto/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2 parents d7cef09 + c079fef commit cfe4f51

23 files changed

Lines changed: 1064 additions & 881 deletions

.github/dependabot.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2
22
updates:
3-
- package-ecosystem: "github-actions"
4-
directory: "/"
5-
schedule:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
66
interval: "monthly"

.github/workflows/update-flake-lock.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
name: update-flake-lock
2-
32
on:
43
workflow_dispatch:
54
schedule:
65
- cron: '0 4 14 * *'
7-
86
jobs:
97
update-flake-inputs:
108
runs-on: ubuntu-slim

.pre-commit-config.yaml

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
11
ci:
22
autoupdate_schedule: quarterly
33
repos:
4-
- repo: https://github.com/astral-sh/ruff-pre-commit
5-
rev: v0.15.5
6-
hooks:
7-
- id: ruff
8-
args:
9-
- --fix
10-
- --exit-non-zero-on-fix
11-
- --ignore
12-
- UP036
13-
- id: ruff-format
14-
- repo: https://github.com/cheshirekow/cmake-format-precommit
15-
rev: v0.6.13
16-
hooks:
17-
- id: cmake-format
18-
- repo: https://github.com/pre-commit/mirrors-clang-format
19-
rev: v22.1.0
20-
hooks:
21-
- id: clang-format
22-
- repo: https://github.com/pre-commit/pre-commit-hooks
23-
rev: v6.0.0
24-
hooks:
25-
- id: check-added-large-files
26-
- id: check-ast
27-
- id: check-executables-have-shebangs
28-
- id: check-json
29-
- id: check-merge-conflict
30-
- id: check-symlinks
31-
- id: check-toml
32-
- id: check-yaml
33-
- id: debug-statements
34-
- id: destroyed-symlinks
35-
- id: detect-private-key
36-
- id: end-of-file-fixer
37-
- id: fix-byte-order-marker
38-
- id: mixed-line-ending
39-
- id: trailing-whitespace
4+
- repo: https://github.com/BlankSpruce/gersemi
5+
rev: 0.26.1
6+
hooks:
7+
- id: gersemi
8+
- repo: https://github.com/astral-sh/ruff-pre-commit
9+
rev: v0.15.9
10+
hooks:
11+
- id: ruff-check
12+
- id: ruff-format
13+
- repo: https://github.com/pappasam/toml-sort
14+
rev: v0.24.4
15+
hooks:
16+
- id: toml-sort-fix
17+
- repo: https://github.com/pre-commit/mirrors-clang-format
18+
rev: v22.1.2
19+
hooks:
20+
- id: clang-format
21+
args:
22+
- --style=Google
23+
- repo: https://github.com/pre-commit/pre-commit-hooks
24+
rev: v6.0.0
25+
hooks:
26+
- id: check-added-large-files
27+
- id: check-ast
28+
- id: check-executables-have-shebangs
29+
- id: check-json
30+
- id: check-merge-conflict
31+
- id: check-symlinks
32+
- id: check-toml
33+
- id: check-yaml
34+
- id: debug-statements
35+
- id: destroyed-symlinks
36+
- id: detect-private-key
37+
- id: end-of-file-fixer
38+
- id: fix-byte-order-marker
39+
- id: mixed-line-ending
40+
- id: trailing-whitespace

CMakeLists.txt

Lines changed: 118 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,38 @@ option(SUFFIX_SO_VERSION "Suffix library name with its version" ON)
1111

1212
# Project configuration
1313
if(NOT BUILD_STANDALONE_PYTHON_INTERFACE)
14-
set(PROJECT_USE_CMAKE_EXPORT TRUE)
14+
set(PROJECT_USE_CMAKE_EXPORT TRUE)
1515
endif()
1616

1717
# Check if the submodule cmake have been initialized
1818
if(EXISTS "${CMAKE_SOURCE_DIR}/cmake/base.cmake")
19-
message(STATUS "JRL cmakemodules found in the source tree.")
20-
set(JRL_CMAKE_MODULES "${CMAKE_SOURCE_DIR}/cmake")
19+
message(STATUS "JRL cmakemodules found in the source tree.")
20+
set(JRL_CMAKE_MODULES "${CMAKE_SOURCE_DIR}/cmake")
2121
else()
22-
find_package(jrl-cmakemodules QUIET CONFIG)
23-
if(jrl-cmakemodules_FOUND)
24-
get_property(
25-
JRL_CMAKE_MODULES
26-
TARGET jrl-cmakemodules::jrl-cmakemodules
27-
PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
28-
message(STATUS "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}")
29-
else()
30-
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
31-
include(FetchContent)
32-
FetchContent_Declare(
33-
"jrl-cmakemodules"
34-
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git")
35-
FetchContent_MakeAvailable("jrl-cmakemodules")
36-
FetchContent_GetProperties("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
37-
endif()
22+
find_package(jrl-cmakemodules QUIET CONFIG)
23+
if(jrl-cmakemodules_FOUND)
24+
get_property(
25+
JRL_CMAKE_MODULES
26+
TARGET jrl-cmakemodules::jrl-cmakemodules
27+
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
28+
)
29+
message(
30+
STATUS
31+
"JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}"
32+
)
33+
else()
34+
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
35+
include(FetchContent)
36+
FetchContent_Declare(
37+
"jrl-cmakemodules"
38+
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git"
39+
)
40+
FetchContent_MakeAvailable("jrl-cmakemodules")
41+
FetchContent_GetProperties(
42+
"jrl-cmakemodules"
43+
SOURCE_DIR JRL_CMAKE_MODULES
44+
)
45+
endif()
3846
endif()
3947

4048
# JRL-cmakemodule setup
@@ -47,95 +55,119 @@ project(${PROJECT_NAME} ${PROJECT_ARGS})
4755

4856
# Dependencies
4957
if(BUILD_PYTHON_INTERFACE)
50-
add_project_dependency(eigenpy REQUIRED)
51-
string(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
52-
set(${PY_NAME}_INSTALL_DIR ${PYTHON_SITELIB}/${PY_NAME})
58+
add_project_dependency(eigenpy REQUIRED)
59+
string(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
60+
set(${PY_NAME}_INSTALL_DIR ${PYTHON_SITELIB}/${PY_NAME})
5361
endif()
5462

5563
add_project_dependency(pinocchio REQUIRED)
5664
add_project_dependency(eiquadprog REQUIRED)
5765

5866
if(BUILD_TESTING)
59-
add_project_dependency(example-robot-data REQUIRED)
60-
add_project_dependency(Boost REQUIRED COMPONENTS unit_test_framework)
67+
add_project_dependency(example-robot-data REQUIRED)
68+
add_project_dependency(Boost REQUIRED COMPONENTS unit_test_framework)
6169
endif()
6270

6371
# Main library
6472
if(BUILD_STANDALONE_PYTHON_INTERFACE)
65-
add_project_dependency(${PROJECT_NAME} REQUIRED CONFIG)
73+
add_project_dependency(${PROJECT_NAME} REQUIRED CONFIG)
6674
else()
67-
set(${PROJECT_NAME}_HEADERS
68-
include/${PROJECT_NAME}/arm_ig.hpp #
69-
include/${PROJECT_NAME}/leg_ig.hpp #
70-
include/${PROJECT_NAME}/biped_ig.hpp #
71-
include/${PROJECT_NAME}/dyna_com.hpp #
72-
include/${PROJECT_NAME}/python.hpp #
73-
include/${PROJECT_NAME}/contact6d.hpp #
74-
)
75-
set(${PROJECT_NAME}_SOURCES
76-
src/arm_ig.cpp #
77-
src/leg_ig.cpp #
78-
src/biped_ig.cpp #
79-
src/dyna_com.cpp #
80-
src/contac6d.cpp #
81-
)
82-
add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES}
83-
${${PROJECT_NAME}_HEADERS})
84-
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
85-
target_link_libraries(${PROJECT_NAME} PUBLIC Eigen3::Eigen)
86-
target_include_directories(${PROJECT_NAME}
87-
PUBLIC $<INSTALL_INTERFACE:include>)
88-
target_link_libraries(${PROJECT_NAME} PUBLIC pinocchio::pinocchio
89-
eiquadprog::eiquadprog)
75+
set(${PROJECT_NAME}_HEADERS
76+
include/${PROJECT_NAME}/arm_ig.hpp #
77+
include/${PROJECT_NAME}/leg_ig.hpp #
78+
include/${PROJECT_NAME}/biped_ig.hpp #
79+
include/${PROJECT_NAME}/dyna_com.hpp #
80+
include/${PROJECT_NAME}/python.hpp #
81+
include/${PROJECT_NAME}/contact6d.hpp #
82+
)
83+
set(${PROJECT_NAME}_SOURCES
84+
src/arm_ig.cpp #
85+
src/leg_ig.cpp #
86+
src/biped_ig.cpp #
87+
src/dyna_com.cpp #
88+
src/contac6d.cpp #
89+
)
90+
add_library(
91+
${PROJECT_NAME}
92+
SHARED
93+
${${PROJECT_NAME}_SOURCES}
94+
${${PROJECT_NAME}_HEADERS}
95+
)
96+
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
97+
target_link_libraries(${PROJECT_NAME} PUBLIC Eigen3::Eigen)
98+
target_include_directories(
99+
${PROJECT_NAME}
100+
PUBLIC $<INSTALL_INTERFACE:include>
101+
)
102+
target_link_libraries(
103+
${PROJECT_NAME}
104+
PUBLIC pinocchio::pinocchio eiquadprog::eiquadprog
105+
)
90106

91-
if(SUFFIX_SO_VERSION)
92-
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION
93-
${PROJECT_VERSION})
94-
endif()
107+
if(SUFFIX_SO_VERSION)
108+
set_target_properties(
109+
${PROJECT_NAME}
110+
PROPERTIES SOVERSION ${PROJECT_VERSION}
111+
)
112+
endif()
95113
endif()
96114

97115
# Python Bindings
98116
if(BUILD_PYTHON_INTERFACE)
99-
set(${PY_NAME}_SOURCES python/contact_6d.cpp python/aig_modules.cpp
100-
python/dyna_com.cpp python/biped_ig.cpp)
101-
add_library(${PY_NAME}_py SHARED ${${PY_NAME}_SOURCES})
102-
target_link_libraries(${PY_NAME}_py PUBLIC ${PROJECT_NAME}::${PROJECT_NAME}
103-
eigenpy::eigenpy)
104-
get_relative_rpath(${${PY_NAME}_INSTALL_DIR} ${PY_NAME}_INSTALL_RPATH)
105-
set_target_properties(
106-
${PY_NAME}_py
107-
PROPERTIES INSTALL_RPATH "${${PY_NAME}_INSTALL_RPATH}"
108-
LIBRARY_OUTPUT_DIRECTORY ${PY_NAME}
109-
OUTPUT_NAME ${PY_NAME}
110-
PREFIX ""
111-
SUFFIX ${PYTHON_EXT_SUFFIX})
112-
install(TARGETS ${PY_NAME}_py DESTINATION ${${PY_NAME}_INSTALL_DIR})
113-
install(DIRECTORY python/aig DESTINATION ${${PY_NAME}_INSTALL_DIR}/..)
117+
set(${PY_NAME}_SOURCES
118+
python/contact_6d.cpp
119+
python/aig_modules.cpp
120+
python/dyna_com.cpp
121+
python/biped_ig.cpp
122+
)
123+
add_library(${PY_NAME}_py SHARED ${${PY_NAME}_SOURCES})
124+
target_link_libraries(
125+
${PY_NAME}_py
126+
PUBLIC ${PROJECT_NAME}::${PROJECT_NAME} eigenpy::eigenpy
127+
)
128+
get_relative_rpath(${${PY_NAME}_INSTALL_DIR} ${PY_NAME}_INSTALL_RPATH)
129+
set_target_properties(
130+
${PY_NAME}_py
131+
PROPERTIES
132+
INSTALL_RPATH "${${PY_NAME}_INSTALL_RPATH}"
133+
LIBRARY_OUTPUT_DIRECTORY ${PY_NAME}
134+
OUTPUT_NAME ${PY_NAME}
135+
PREFIX ""
136+
SUFFIX ${PYTHON_EXT_SUFFIX}
137+
)
138+
install(TARGETS ${PY_NAME}_py DESTINATION ${${PY_NAME}_INSTALL_DIR})
139+
install(DIRECTORY python/aig DESTINATION ${${PY_NAME}_INSTALL_DIR}/..)
114140
endif()
115141

116142
if(BUILD_TESTING AND NOT BUILD_STANDALONE_PYTHON_INTERFACE)
117-
# Unit-Tests dependencies
118-
set(${PROJECT_NAME}_CPP_TESTS
119-
test_dependencies_usage #
120-
test_leg_ig #
121-
test_arm_ig #
122-
test_biped_ig #
123-
)
143+
# Unit-Tests dependencies
144+
set(${PROJECT_NAME}_CPP_TESTS
145+
test_dependencies_usage #
146+
test_leg_ig #
147+
test_arm_ig #
148+
test_biped_ig #
149+
)
124150

125-
foreach(unittest_name ${${PROJECT_NAME}_CPP_TESTS})
126-
add_unit_test(${unittest_name} tests/${unittest_name}.cpp)
127-
target_link_libraries(
128-
${unittest_name} ${PROJECT_NAME} Boost::unit_test_framework
129-
example-robot-data::example-robot-data)
130-
target_compile_definitions(${unittest_name}
131-
PUBLIC "-DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN")
132-
endforeach()
151+
foreach(unittest_name ${${PROJECT_NAME}_CPP_TESTS})
152+
add_unit_test(${unittest_name} tests/${unittest_name}.cpp)
153+
target_link_libraries(
154+
${unittest_name}
155+
${PROJECT_NAME}
156+
Boost::unit_test_framework
157+
example-robot-data::example-robot-data
158+
)
159+
target_compile_definitions(
160+
${unittest_name}
161+
PUBLIC "-DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN"
162+
)
163+
endforeach()
133164
endif()
134165

135166
# Installation
136167
if(NOT BUILD_STANDALONE_PYTHON_INTERFACE)
137-
install(
138-
TARGETS ${PROJECT_NAME}
139-
EXPORT ${TARGETS_EXPORT_NAME}
140-
DESTINATION lib)
168+
install(
169+
TARGETS ${PROJECT_NAME}
170+
EXPORT ${TARGETS_EXPORT_NAME}
171+
DESTINATION lib
172+
)
141173
endif()

0 commit comments

Comments
 (0)