Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
hpp-centroidal-dynamics
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Humanoid Path Planner
hpp-centroidal-dynamics
Commits
968615e4
Commit
968615e4
authored
2 years ago
by
Guilhem Saurel
Browse files
Options
Downloads
Patches
Plain Diff
pre-commit run -a
parent
b2c5eb9f
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
CMakeLists.txt
+72
-68
72 additions, 68 deletions
CMakeLists.txt
python/CMakeLists.txt
+9
-8
9 additions, 8 deletions
python/CMakeLists.txt
test/CMakeLists.txt
+10
-9
10 additions, 9 deletions
test/CMakeLists.txt
with
91 additions
and
85 deletions
CMakeLists.txt
+
72
−
68
View file @
968615e4
CMAKE_MINIMUM_REQUIRED
(
VERSION 3.1
)
cmake_minimum_required
(
VERSION 3.1
)
# Project properties
SET
(
PROJECT_NAME hpp-centroidal-dynamics
)
SET
(
PROJECT_DESCRIPTION
"Utility classes for testing (robust) equilibrium of a system in contact with the environment, and other centroidal dynamics methods."
)
set
(
PROJECT_NAME hpp-centroidal-dynamics
)
set
(
PROJECT_DESCRIPTION
"Utility classes for testing (robust) equilibrium of a system in contact with the environment, and other centroidal dynamics methods."
)
# Project options
OPTION
(
BUILD_PYTHON_INTERFACE
"Build the python bindings"
ON
)
option
(
BUILD_PYTHON_INTERFACE
"Build the python bindings"
ON
)
# Project configuration
SET
(
PROJECT_USE_CMAKE_EXPORT TRUE
)
SET
(
CUSTOM_HEADER_DIR
"hpp/centroidal-dynamics"
)
SET
(
CXX_DISABLE_WERROR TRUE
)
set
(
PROJECT_USE_CMAKE_EXPORT TRUE
)
set
(
CUSTOM_HEADER_DIR
"hpp/centroidal-dynamics"
)
set
(
CXX_DISABLE_WERROR TRUE
)
# JRL-cmakemodule setup
INCLUDE
(
cmake/hpp.cmake
)
INCLUDE
(
cmake/boost.cmake
)
include
(
cmake/hpp.cmake
)
include
(
cmake/boost.cmake
)
# Project definition
COMPUTE_PROJECT_ARGS
(
PROJECT_ARGS LANGUAGES CXX
)
PROJECT
(
${
PROJECT_NAME
}
${
PROJECT_ARGS
}
)
compute_project_args
(
PROJECT_ARGS LANGUAGES CXX
)
project
(
${
PROJECT_NAME
}
${
PROJECT_ARGS
}
)
IF
(
BUILD_PYTHON_INTERFACE
)
STRING
(
REGEX REPLACE
"-"
"_"
PY_NAME
${
PROJECT_NAME
}
)
ADD_PROJECT_DEPENDENCY
(
eigenpy 2.7.12 REQUIRED
)
ENDIF
(
BUILD_PYTHON_INTERFACE
)
if
(
BUILD_PYTHON_INTERFACE
)
string
(
REGEX REPLACE
"-"
"_"
PY_NAME
${
PROJECT_NAME
}
)
add_project_dependency
(
eigenpy 2.7.12 REQUIRED
)
endif
(
BUILD_PYTHON_INTERFACE
)
# Project dependencies
ADD_PROJECT_DEPENDENCY
(
Eigen3 REQUIRED
)
add_project_dependency
(
Eigen3 REQUIRED
)
set
(
CMAKE_MODULE_PATH
${
PROJECT_SOURCE_DIR
}
/cmake/find-external/CDD
${
PROJECT_SOURCE_DIR
}
/cmake/find-external/CLP
${
PROJECT_SOURCE_DIR
}
/cmake/find-external/qpOASES
)
${
PROJECT_SOURCE_DIR
}
/cmake/find-external/CDD
${
PROJECT_SOURCE_DIR
}
/cmake/find-external/CLP
${
PROJECT_SOURCE_DIR
}
/cmake/find-external/qpOASES
)
find_package
(
CDD REQUIRED
)
find_package
(
qpOASES REQUIRED
)
find_package
(
CLP
)
IF
(
"
${
CLP_LIBRARY
}
"
STREQUAL
"CLP_LIBRARY-NOTFOUND"
)
MESSAGE
(
STATUS
"CLP_LIBRARY equal to CLP_LIBRARY-NOTFOUND so I assume CLP was not found "
)
ELSE
()
if
(
"
${
CLP_LIBRARY
}
"
STREQUAL
"CLP_LIBRARY-NOTFOUND"
)
message
(
STATUS
"CLP_LIBRARY equal to CLP_LIBRARY-NOTFOUND so I assume CLP was not found "
)
else
()
message
(
STATUS
"CLP library found, defining macro CLP_FOUND"
)
add_definitions
(
-DCLP_FOUND
)
ENDIF
()
endif
()
# Main Library
SET
(
${
PROJECT_NAME
}
_HEADERS
include/
${
CUSTOM_HEADER_DIR
}
/local_config.hh
include/
${
CUSTOM_HEADER_DIR
}
/util.hh
include/
${
CUSTOM_HEADER_DIR
}
/logger.hh
include/
${
CUSTOM_HEADER_DIR
}
/solver_LP_abstract.hh
include/
${
CUSTOM_HEADER_DIR
}
/solver_LP_qpoases.hh
include/
${
CUSTOM_HEADER_DIR
}
/solver_LP_clp.hh
include/
${
CUSTOM_HEADER_DIR
}
/centroidal_dynamics.hh
include/
${
CUSTOM_HEADER_DIR
}
/stop-watch.hh
)
SET
(
${
PROJECT_NAME
}
_SOURCES
src/centroidal_dynamics.cpp
src/solver_LP_abstract.cpp
src/solver_LP_qpoases.cpp
src/solver_LP_clp.cpp
src/util.cpp
src/logger.cpp
src/stop-watch.cpp
)
ADD_LIBRARY
(
${
PROJECT_NAME
}
SHARED
${${
PROJECT_NAME
}
_SOURCES
}
${${
PROJECT_NAME
}
_HEADERS
}
)
TARGET_INCLUDE_DIRECTORIES
(
${
PROJECT_NAME
}
PUBLIC $<INSTALL_INTERFACE:include>
)
TARGET_INCLUDE_DIRECTORIES
(
${
PROJECT_NAME
}
SYSTEM PUBLIC
${
EIGEN3_INCLUDE_DIR
}
${
CDD_INCLUDE_DIRS
}
${
qpOASES_INCLUDE_DIRS
}
)
TARGET_LINK_LIBRARIES
(
${
PROJECT_NAME
}
${
CDD_LIBRARIES
}
${
qpOASES_LIBRARY
}
)
IF
(
CLP_FOUND
)
TARGET_INCLUDE_DIRECTORIES
(
${
PROJECT_NAME
}
SYSTEM PUBLIC
"
${
CLP_INCLUDE_DIR
}
"
)
TARGET_LINK_LIBRARIES
(
${
PROJECT_NAME
}
${
CLP_LIBRARIES
}
/usr/lib/libCoinUtils.so
)
ENDIF
(
CLP_FOUND
)
INSTALL
(
TARGETS
${
PROJECT_NAME
}
EXPORT
${
TARGETS_EXPORT_NAME
}
DESTINATION lib
)
ADD_SUBDIRECTORY
(
test
)
IF
(
BUILD_PYTHON_INTERFACE
)
ADD_SUBDIRECTORY
(
python
)
ENDIF
(
BUILD_PYTHON_INTERFACE
)
INSTALL
(
FILES package.xml DESTINATION share/
${
PROJECT_NAME
}
)
set
(
${
PROJECT_NAME
}
_HEADERS
include/
${
CUSTOM_HEADER_DIR
}
/local_config.hh
include/
${
CUSTOM_HEADER_DIR
}
/util.hh
include/
${
CUSTOM_HEADER_DIR
}
/logger.hh
include/
${
CUSTOM_HEADER_DIR
}
/solver_LP_abstract.hh
include/
${
CUSTOM_HEADER_DIR
}
/solver_LP_qpoases.hh
include/
${
CUSTOM_HEADER_DIR
}
/solver_LP_clp.hh
include/
${
CUSTOM_HEADER_DIR
}
/centroidal_dynamics.hh
include/
${
CUSTOM_HEADER_DIR
}
/stop-watch.hh
)
set
(
${
PROJECT_NAME
}
_SOURCES
src/centroidal_dynamics.cpp
src/solver_LP_abstract.cpp
src/solver_LP_qpoases.cpp
src/solver_LP_clp.cpp
src/util.cpp
src/logger.cpp
src/stop-watch.cpp
)
add_library
(
${
PROJECT_NAME
}
SHARED
${${
PROJECT_NAME
}
_SOURCES
}
${${
PROJECT_NAME
}
_HEADERS
}
)
target_include_directories
(
${
PROJECT_NAME
}
PUBLIC $<INSTALL_INTERFACE:include>
)
target_include_directories
(
${
PROJECT_NAME
}
SYSTEM PUBLIC
${
EIGEN3_INCLUDE_DIR
}
${
CDD_INCLUDE_DIRS
}
${
qpOASES_INCLUDE_DIRS
}
)
target_link_libraries
(
${
PROJECT_NAME
}
${
CDD_LIBRARIES
}
${
qpOASES_LIBRARY
}
)
if
(
CLP_FOUND
)
target_include_directories
(
${
PROJECT_NAME
}
SYSTEM PUBLIC
"
${
CLP_INCLUDE_DIR
}
"
)
target_link_libraries
(
${
PROJECT_NAME
}
${
CLP_LIBRARIES
}
/usr/lib/libCoinUtils.so
)
endif
(
CLP_FOUND
)
install
(
TARGETS
${
PROJECT_NAME
}
EXPORT
${
TARGETS_EXPORT_NAME
}
DESTINATION lib
)
add_subdirectory
(
test
)
if
(
BUILD_PYTHON_INTERFACE
)
add_subdirectory
(
python
)
endif
(
BUILD_PYTHON_INTERFACE
)
install
(
FILES package.xml DESTINATION share/
${
PROJECT_NAME
}
)
This diff is collapsed.
Click to expand it.
python/CMakeLists.txt
+
9
−
8
View file @
968615e4
# Define the wrapper library that wraps our library
ADD_LIBRARY
(
${
PY_NAME
}
SHARED centroidal_dynamics_python.cpp
)
TARGET_LINK_LIBRARIES
(
${
PY_NAME
}
${
PROJECT_NAME
}
eigenpy::eigenpy
)
add_library
(
${
PY_NAME
}
SHARED centroidal_dynamics_python.cpp
)
target_link_libraries
(
${
PY_NAME
}
${
PROJECT_NAME
}
eigenpy::eigenpy
)
# don't prepend wrapper library name with lib
SET_TARGET_PROPERTIES
(
${
PY_NAME
}
PROPERTIES PREFIX
""
)
set_target_properties
(
${
PY_NAME
}
PROPERTIES PREFIX
""
)
IF
(
APPLE
)
if
(
APPLE
)
# We need to change the extension for python bindings
SET_TARGET_PROPERTIES
(
${
PY_NAME
}
PROPERTIES SUFFIX
".so"
)
ENDIF
(
APPLE
)
set_target_properties
(
${
PY_NAME
}
PROPERTIES SUFFIX
".so"
)
endif
(
APPLE
)
INSTALL
(
TARGETS
${
PY_NAME
}
DESTINATION
${
PYTHON_SITELIB
}
)
install
(
TARGETS
${
PY_NAME
}
DESTINATION
${
PYTHON_SITELIB
}
)
ADD_PYTHON_UNIT_TEST
(
"python-centroidal-dynamics"
"python/test/binding_tests.py"
"python"
)
add_python_unit_test
(
"python-centroidal-dynamics"
"python/test/binding_tests.py"
"python"
)
This diff is collapsed.
Click to expand it.
test/CMakeLists.txt
+
10
−
9
View file @
968615e4
ADD_UNIT_TEST
(
static-equilibrium test_static_equilibrium.cpp
)
TARGET_LINK_LIBRARIES
(
static-equilibrium
${
PROJECT_NAME
}
)
add_unit_test
(
static-equilibrium test_static_equilibrium.cpp
)
target_link_libraries
(
static-equilibrium
${
PROJECT_NAME
}
)
ADD_UNIT_TEST
(
lp-solvers test_LP_solvers.cpp
)
TARGET_LINK_LIBRARIES
(
lp-solvers
${
PROJECT_NAME
}
)
add_unit_test
(
lp-solvers test_LP_solvers.cpp
)
target_link_libraries
(
lp-solvers
${
PROJECT_NAME
}
)
IF
(
NOT
${
PROJECT_SOURCE_DIR
}
STREQUAL
${
PROJECT_BINARY_DIR
}
)
ADD_CUSTOM_TARGET
(
link_target ALL COMMAND
${
CMAKE_COMMAND
}
-E create_symlink
"
${
PROJECT_SOURCE_DIR
}
/test_data"
"
${
PROJECT_BINARY_DIR
}
/test_data"
)
ENDIF
(
NOT
${
PROJECT_SOURCE_DIR
}
STREQUAL
${
PROJECT_BINARY_DIR
}
)
if
(
NOT
${
PROJECT_SOURCE_DIR
}
STREQUAL
${
PROJECT_BINARY_DIR
}
)
add_custom_target
(
link_target ALL
COMMAND
${
CMAKE_COMMAND
}
-E create_symlink
"
${
PROJECT_SOURCE_DIR
}
/test_data"
"
${
PROJECT_BINARY_DIR
}
/test_data"
)
endif
(
NOT
${
PROJECT_SOURCE_DIR
}
STREQUAL
${
PROJECT_BINARY_DIR
}
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment