Skip to content

Commit 5dba5b8

Browse files
authored
Merge pull request #384 from jorisv/topic/fix-build-without-pinocchio
Fix build without pinocchio
2 parents d441025 + 9cc3343 commit 5dba5b8

20 files changed

+421
-202
lines changed

.github/workflows/macos-linux-pixi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
fail-fast: false
4040
matrix:
4141
os: [ubuntu-latest, macos-latest, macos-15-intel]
42-
environment: [all, all-python-oldest]
42+
environment: [default, all, all-python-oldest]
4343
build_type: [Release, Debug]
4444

4545
steps:

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Fixed
1111

1212
- Fixed the missing minus signs in the `LogResidualCost` (https://github.com/Simple-Robotics/aligator/pull/382)
13+
- Fix build without pinocchio dependency (https://github.com/Simple-Robotics/aligator/pull/384)
1314

1415
## [0.17.1] - 2025-12-01
1516

CMakeLists.txt

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,20 +264,59 @@ file(
264264

265265
if(ENABLE_TEMPLATE_INSTANTIATION)
266266
file(
267-
GLOB_RECURSE LIB_TEMPLATE_SOURCES
267+
GLOB LIB_TEMPLATE_SOURCES
268268
CONFIGURE_DEPENDS
269269
${PROJECT_SOURCE_DIR}/src/core/*.cpp
270270
${PROJECT_SOURCE_DIR}/src/gar/*.cpp
271271
${PROJECT_SOURCE_DIR}/src/solvers/*.cpp
272+
${PROJECT_SOURCE_DIR}/src/solvers/fddp/*.cpp
273+
${PROJECT_SOURCE_DIR}/src/solvers/proxddp/*.cpp
274+
${PROJECT_SOURCE_DIR}/src/utils/*.cpp
272275
${PROJECT_SOURCE_DIR}/src/modelling/*.cpp
276+
${PROJECT_SOURCE_DIR}/src/modelling/autodiff/*.cpp
277+
${PROJECT_SOURCE_DIR}/src/modelling/centroidal/*.cpp
278+
${PROJECT_SOURCE_DIR}/src/modelling/costs/*.cpp
273279
)
280+
list(
281+
APPEND
282+
LIB_TEMPLATE_SOURCES
283+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/continuous-dynamics-abstract.cpp
284+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/integrator-abstract.cpp
285+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/integrator-euler.cpp
286+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/integrator-explicit.cpp
287+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/integrator-midpoint.cpp
288+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/integrator-rk2.cpp
289+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/integrator-semi-euler.cpp
290+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/linear-ode.cpp
291+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/ode-abstract.cpp
292+
)
293+
if(BUILD_WITH_PINOCCHIO_SUPPORT)
294+
file(
295+
GLOB_RECURSE LIB_WITH_PINOCCHIO_TEMPLATE_SOURCES
296+
CONFIGURE_DEPENDS
297+
${PROJECT_SOURCE_DIR}/src/modelling/multibody/*.cpp
298+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/*.cpp
299+
)
300+
list(
301+
APPEND
302+
LIB_WITH_PINOCCHIO_TEMPLATE_SOURCES
303+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/kinodynamics-fwd.cpp
304+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/multibody-constraint-fwd.cpp
305+
${PROJECT_SOURCE_DIR}/src/modelling/dynamics/multibody-free-fwd.cpp
306+
)
307+
endif()
274308
file(
275309
GLOB_RECURSE LIB_TEMPLATE_DECLARATIONS
276310
CONFIGURE_DEPENDS
277311
${PROJECT_SOURCE_DIR}/include/aligator/*.txx
278312
)
279313
list(APPEND LIB_HEADERS ${LIB_TEMPLATE_DECLARATIONS})
280-
list(APPEND LIB_SOURCES ${LIB_TEMPLATE_SOURCES})
314+
list(
315+
APPEND
316+
LIB_SOURCES
317+
${LIB_TEMPLATE_SOURCES}
318+
${LIB_WITH_PINOCCHIO_TEMPLATE_SOURCES}
319+
)
281320
endif()
282321

283322
list(

bindings/python/src/modelling/multibody/expose-constrained-fwd.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/// @file
22
/// @copyright Copyright (C) 2022-2023 LAAS-CNRS, 2022-2025 INRIA
3+
#ifdef ALIGATOR_WITH_PINOCCHIO
34
#include "aligator/python/fwd.hpp"
45

56
#include "aligator/modelling/dynamics/context.hpp"
@@ -61,3 +62,5 @@ void exposeConstrainedFwdDynamics() {
6162
}
6263
} // namespace python
6364
} // namespace aligator
65+
66+
#endif // ifdef ALIGATOR_WITH_PINOCCHIO

bindings/python/src/modelling/multibody/expose-pinocchio-manifolds.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#ifdef ALIGATOR_WITH_PINOCCHIO
12
#include "aligator/python/fwd.hpp"
23
#include "aligator/python/utils.hpp"
34

@@ -121,3 +122,5 @@ void exposePinocchioSpaces() {
121122
}
122123

123124
} // namespace aligator::python
125+
126+
#endif // ifdef ALIGATOR_WITH_PINOCCHIO

bindings/python/src/module.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ static void exposeContainers() {
6565
using context::Scalar;
6666
using context::VectorRef;
6767

68+
eigenpy::StdContainerFromPythonList<
69+
std::vector<std::string>>::register_converter();
6870
StdVectorPythonVisitor<std::vector<long>, true>::expose("StdVec_long");
6971
eigenpy::exposeStdVectorEigenSpecificType<context::Vector3s>(
7072
"StdVec_Vector3s");

0 commit comments

Comments
 (0)