Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test compatibility #479

Draft
wants to merge 97 commits into
base: release-1.5
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
2ba6ab7
Bump python_orocos_kdl/pybind11 from `787d2c8` to `e315e1f` (#361)
dependabot[bot] Oct 5, 2021
88d5c8f
(README) use same version and prefer catkin
MatthijsBurgh Oct 20, 2021
ef39a4f
export modern CMake interface target
dirk-thomas May 1, 2020
1c16c9c
Bump python_orocos_kdl/pybind11 from `e315e1f` to `acae930` (#368)
dependabot[bot] Oct 27, 2021
b3415d5
python_orocos_kdl: fix Python bindings for static member functions Fr…
meyerj Oct 8, 2021
c61b2ae
Add unit tests for Frame initialization from Denavit-Hartenberg param…
meyerj Oct 13, 2021
0d3d96e
(KDL) test DH both on class and instance
MatthijsBurgh Oct 29, 2021
392e23b
(PyKDL) test DH both on class and instance
MatthijsBurgh Oct 29, 2021
4c9768b
Add commments about static function calls on instances
MatthijsBurgh Oct 29, 2021
ef1aef5
(kdl) Use minimal cmake 3.0.2
MatthijsBurgh Oct 29, 2021
cd1d7e8
(PyKDL) disable function with vector by reference arg
MatthijsBurgh Oct 30, 2021
a83435f
(PyKDL) disable function with vector by reference arg (#369)
MatthijsBurgh Oct 30, 2021
7d23d73
(KDL) return correct not_implemented_error
MatthijsBurgh Oct 30, 2021
65bda92
(PyKDL) correct comment, not implemented in cpp
MatthijsBurgh Oct 30, 2021
23473d2
(Actions) test with python 3.10
MatthijsBurgh Oct 30, 2021
281d784
Fix not implemented errors (#370)
MatthijsBurgh Oct 30, 2021
d1c56f5
(Actions) test with python 3.10 (#371)
MatthijsBurgh Oct 30, 2021
d611b89
Export modern CMake interface target (#366)
MatthijsBurgh Nov 2, 2021
36b8a78
Merge pull request #363 from orocos/fix-frames-dh-python-bindings
meyerj Nov 2, 2021
23846ae
Follow-up of "Get rid of using std namespace"
xtkoba Nov 4, 2021
b1cd2ef
Follow-up of "Get rid of using std namespace" (#372)
MatthijsBurgh Nov 4, 2021
77b42d0
Bump python_orocos_kdl/pybind11 from `acae930` to `9b4f71d`
dependabot[bot] Dec 28, 2021
125a97e
Bump python_orocos_kdl/pybind11 from `acae930` to `9b4f71d` (#374)
MatthijsBurgh Dec 29, 2021
e25a13f
Skip building pybind11 if already available on system (#375)
jacobperron Jan 7, 2022
e482f04
Python3 is the default
MatthijsBurgh Jan 25, 2022
4f705fe
Bump python_orocos_kdl/pybind11 from `9b4f71d` to `ffa3468` (#380)
dependabot[bot] Feb 4, 2022
d7d5c8d
Remove CMake warning related to minimum version
jacobperron Feb 24, 2022
0ac76c1
Remove CMake warning related to minimum version (#385_
MatthijsBurgh Feb 25, 2022
7c887f1
Bump actions/setup-python from 2 to 3 (#386)
dependabot[bot] Mar 1, 2022
11d8bd6
Bump actions/checkout from 2 to 3 (#387)
dependabot[bot] Mar 2, 2022
3b4d0cf
Fix implicit conversion warnings
jacobperron Apr 1, 2022
ef9b0ee
Use strncpy_s instead of strncpy on Windows
jacobperron Apr 1, 2022
d70e705
Do not break API
jacobperron Apr 1, 2022
fc0dfd8
Remove members from initializer list
jacobperron Apr 1, 2022
0326984
Do not pass generated header to add_library
jacobperron Apr 1, 2022
3324420
Use reverse iterator instead of decrementing index
jacobperron Apr 2, 2022
de91a8e
Fix build warnings on Windows (#390)
MatthijsBurgh Apr 2, 2022
4fcf3ec
Do not pass generated header to add_library (#391)
MatthijsBurgh Apr 2, 2022
7a9cb6f
Fix CMake warning on Windows
jacobperron Apr 4, 2022
507de66
Fix CMake warning on Windows (#392)
MatthijsBurgh Apr 4, 2022
8842898
Bump python_orocos_kdl/pybind11 from `ffa3468` to `914c06f` (#395)
dependabot[bot] May 12, 2022
08b283c
(PyKDL) add more argument names
MatthijsBurgh May 12, 2022
6e7eb19
(PyKDL) add more argument names (#396)
MatthijsBurgh May 12, 2022
6480921
Add KDL::hash_combine function
MatthijsBurgh May 11, 2022
e947516
(KDL) add hash functions for frames
MatthijsBurgh May 11, 2022
8d3ef2c
(KDL) add hash functions for framevel
MatthijsBurgh May 11, 2022
987f401
(KDL) add hash functions for frameacc
MatthijsBurgh May 11, 2022
896e36b
(PyKDL) add hash to frames
MatthijsBurgh May 11, 2022
79ef715
(PyKDL) add hash to framevel
MatthijsBurgh May 11, 2022
b61a278
(PyKDL) add hash tests for frames
MatthijsBurgh May 11, 2022
c403ff6
(PyKDL) add hash tests for framevel
MatthijsBurgh May 11, 2022
0fd60ef
(PyKDL) sync twist test to cpp
MatthijsBurgh May 11, 2022
36de631
(PyKDL) sync wrench test to cpp
MatthijsBurgh May 11, 2022
58f2e4e
(PyKDL) fix wrench hash test
MatthijsBurgh May 11, 2022
6a329bb
(KDL) add hash tests for frames
MatthijsBurgh May 11, 2022
7dd2e45
Revert "(PyKDL) fix wrench hash test"
MatthijsBurgh May 11, 2022
652cd9d
(PyKDL) Fix wrench hash test, let it match the cpp value
MatthijsBurgh May 11, 2022
fa1492a
(KDL) hash tests force unsigned int in values
MatthijsBurgh May 11, 2022
eb38dbb
(PyKDL) hash produces different values in python2
MatthijsBurgh May 12, 2022
ae25d8a
Add hash function to "dataclasses" (#394)
MatthijsBurgh May 29, 2022
c42f23c
(Joint) make thread safe
MatthijsBurgh May 29, 2022
909aa55
Bump actions/setup-python from 3 to 4 (#400)
dependabot[bot] Jun 9, 2022
3213bb7
(Joint) make thread safe (#399)
MatthijsBurgh Jun 14, 2022
f94cc0b
(README) no noetic release
MatthijsBurgh Aug 30, 2022
eecefd1
(actions) allow manual trigger
MatthijsBurgh Oct 25, 2022
8dbdda7
(actions) allow manual trigger (#417)
MatthijsBurgh Oct 25, 2022
4cc7cf9
Drop python2 compatibility (#418)
dependabot[bot] Nov 23, 2022
9a35f0a
Add accessors (#419)
Masa0u0 Nov 27, 2022
e625691
(PyKDL) use FindPython (#425)
MatthijsBurgh Dec 14, 2022
f322f31
(actions) test python 3.11 (#426)
MatthijsBurgh Dec 21, 2022
89e26e0
Bump python_orocos_kdl/pybind11 from `5b63222` to `d36a41e` (#427)
dependabot[bot] Dec 21, 2022
8bb7107
Bump python_orocos_kdl/pybind11 from `d36a41e` to `12852cd` (#429)
dependabot[bot] Jan 3, 2023
29e9522
(PyKDL) use minimal pybind11 2.6
MatthijsBurgh Jan 7, 2023
51844b8
(PyKDL) use minimal pybind11 2.6 (#430)
MatthijsBurgh Jan 7, 2023
c369c54
fix typos
luzpaz Jan 25, 2023
5541147
fix typos (#431)
MatthijsBurgh Jan 25, 2023
86c7893
Bump python_orocos_kdl/pybind11 from `12852cd` to `be97c5a` (#435)
dependabot[bot] Mar 17, 2023
fded882
[kdl] add rosdoc config (#437)
MatthijsBurgh Apr 12, 2023
0c3285b
Bump python_orocos_kdl/pybind11 from `be97c5a` to `0dcf6f2` (#443)
dependabot[bot] Jul 15, 2023
b35de34
Bump python_orocos_kdl/pybind11 from `0dcf6f2` to `8b03ffa` (#444)
dependabot[bot] Jul 18, 2023
7134c46
Bump actions/checkout from 3 to 4 (#446)
dependabot[bot] Sep 5, 2023
0bfa6c0
fix(cmake) whitespace splitting (#440)
MatthijsBurgh Sep 6, 2023
41ca686
(actions) also test ubuntu 22.04 (#448)
MatthijsBurgh Sep 13, 2023
7478f96
Fix KDL::PI in chainiksolverpos_lma_demo.cpp (#452)
kmartin36 Oct 12, 2023
ce4bcb6
Bump actions/setup-python from 4 to 5 (#455)
dependabot[bot] Dec 7, 2023
a407832
Rename variables with reserved names (#456)
thyssentishman Jan 19, 2024
129693e
Bump python_orocos_kdl/pybind11 from `8b03ffa` to `01ab935` (#459)
dependabot[bot] Mar 29, 2024
faa74b7
cmake: Allow PYTHON_SITE_PACKAGES_INSTALL_DIR set extern (#461)
DasRoteSkelett May 7, 2024
03be204
added support to boost::timer 1.83+ (#463)
efferre79 Jun 10, 2024
6daa044
Bump python_orocos_kdl/pybind11 from `01ab935` to `10889fe` (#466)
dependabot[bot] Jun 27, 2024
179ee2c
Bump python_orocos_kdl/pybind11 from `10889fe` to `6b92b6e` (#467)
dependabot[bot] Jun 28, 2024
af9cc95
Bump python_orocos_kdl/pybind11 from `6b92b6e` to `5211a17` (#469)
dependabot[bot] Aug 16, 2024
b6f2af2
Bump python_orocos_kdl/pybind11 from `5211a17` to `cb9abc8` (#472)
dependabot[bot] Aug 23, 2024
d2c989d
Bump python_orocos_kdl/pybind11 from `cb9abc8` to `58c382a` (#476)
dependabot[bot] Sep 21, 2024
b8c7473
(PyKDL) fix return type and bound name (#465)
MatthijsBurgh Oct 18, 2024
cd3a136
(PyKDL) exact python version match (#481)
MatthijsBurgh Oct 28, 2024
03568ed
(actions) update matrix to include U24, drop U20 (#480)
MatthijsBurgh Oct 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 13 additions & 21 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: CI

on: [push, pull_request]
on: [push, pull_request, workflow_dispatch]

env:
CXXFLAGS: "-Wall -Wextra -Wno-unused-parameter"
Expand All @@ -12,28 +12,32 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
os: [ubuntu-22.04, ubuntu-24.04]
orocos_build_type: [Debug, Release]
compiler: [gcc, clang]
python_version: ['3.8']
python_version: ['3.10', '3.12']
include:
- os: ubuntu-18.04
- os: ubuntu-24.04
orocos_build_type: Release
compiler: gcc
python_version: '2'
- os: ubuntu-20.04
python_version: '3.8'
- os: ubuntu-24.04
orocos_build_type: Release
compiler: gcc
python_version: '3.9'
- os: ubuntu-24.04
orocos_build_type: Release
compiler: gcc
python_version: '3.11'
env:
CC: ${{ matrix.compiler }}
OROCOS_BUILD_TYPE: ${{ matrix.orocos_build_type }}
ROS_PYTHON_VERSION: ${{ matrix.python_version }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v2
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python_version }}
- name: Install
Expand Down Expand Up @@ -76,18 +80,6 @@ jobs:
fail-fast: false
matrix:
include:
- env:
ROS_DISTRO: kinetic
ROS_REPO: ros
ABICHECK_URL: github:orocos/orocos_kinematics_dynamics#release-1.3
ABICHECK_MERGE: false
branch: release-1.3
- env:
ROS_DISTRO: melodic
ROS_REPO: ros
ABICHECK_URL: github:orocos/orocos_kinematics_dynamics#release-1.4
ABICHECK_MERGE: false
branch: release-1.4
- env:
ROS_DISTRO: noetic
ROS_REPO: ros
Expand All @@ -96,7 +88,7 @@ jobs:
branch: release-1.5
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
submodules: recursive
if: ${{ (github.event_name == 'push' && endsWith(github.ref, matrix.branch)) || (github.event_name == 'pull_request' && endsWith(github.base_ref, matrix.branch)) }}
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,8 @@ The C++ library is located in the `orocos_kdl` folder. The installation instruct
The python bindings, are located in the `python_orocos_kdl` folder. The installation instructions can be found in
[INSTALL.md](python_orocos_kdl/INSTALL.md).

Always use the same version of the C++ library and the python bindings. As a mismatch between these two can cause many issues.

Also when using ROS/catkin, it is preferred to use the catkin installation method over the `cmake/make` method.

There will be no ROS Noetic release.
8 changes: 2 additions & 6 deletions orocos_kdl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
#
# Test CMake version
#
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
IF(POLICY CMP0048)
CMAKE_POLICY(SET CMP0048 NEW)
ENDIF()
#MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2)


###################################################
Expand Down Expand Up @@ -58,7 +54,7 @@ if(NOT EIGEN3_FOUND)
include(${PROJ_SOURCE_DIR}/cmake/FindEigen3.cmake)
endif()
include_directories(${EIGEN3_INCLUDE_DIR})
SET(KDL_CFLAGS "${KDL_CFLAGS} -I${EIGEN3_INCLUDE_DIR}")
SET(KDL_CFLAGS "${KDL_CFLAGS} -I\"${EIGEN3_INCLUDE_DIR}\"")

# Check the platform STL containers capabilities
include(cmake/CheckSTLContainers.cmake)
Expand Down
7 changes: 6 additions & 1 deletion orocos_kdl/examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@ IF(ENABLE_EXAMPLES)
TARGET_LINK_LIBRARIES(trajectory_example orocos-kdl)

add_executable(chainiksolverpos_lma_demo chainiksolverpos_lma_demo.cpp )
TARGET_LINK_LIBRARIES(chainiksolverpos_lma_demo orocos-kdl orocos-kdl-models)
find_package(Boost REQUIRED)
IF(${Boost_VERSION_MACRO} LESS 108300)
TARGET_LINK_LIBRARIES(chainiksolverpos_lma_demo orocos-kdl orocos-kdl-models)
ELSE()
TARGET_LINK_LIBRARIES(chainiksolverpos_lma_demo boost_timer orocos-kdl orocos-kdl-models)
ENDIF()

ENDIF(ENABLE_EXAMPLES)

20 changes: 17 additions & 3 deletions orocos_kdl/examples/chainiksolverpos_lma_demo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,24 @@ estimate of shortest time per invposkin (ms) 0.155544
#include <chainfksolverpos_recursive.hpp>
#include <utilities/utility.h>

#include <boost/version.hpp>
#if BOOST_VERSION < 108300
#include <boost/timer.hpp>
#else
#include <boost/timer/timer.hpp>
#endif

/**
* tests the inverse kinematics on the given kinematic chain for a
* large number of times and provides statistics on the result.
* \TODO provide other examples.
*/
void test_inverseposkin(KDL::Chain& chain) {
#if BOOST_VERSION < 108300
boost::timer timer;
#else
boost::timer::cpu_timer timer;
#endif
int num_of_trials = 1000000;
int total_number_of_iter = 0;
int n = chain.getNrOfJoints();
Expand All @@ -90,9 +99,9 @@ void test_inverseposkin(KDL::Chain& chain) {
KDL::JntArray q_sol(n);
for (int trial=0;trial<num_of_trials;++trial) {
q.data.setRandom();
q.data *= PI;
q.data *= KDL::PI;
q_init.data.setRandom();
q_init.data *= PI;
q_init.data *= KDL::PI;
KDL::Frame pos_goal,pos_reached;
fwdkin.JntToCart(q,pos_goal);
//solver.compute_fwdpos(q.data);
Expand Down Expand Up @@ -159,7 +168,12 @@ void test_inverseposkin(KDL::Chain& chain) {
std::cout << "max. trans. difference after solving " << max_trans_diff << std::endl;
std::cout << "min. rot. difference after solving " << min_rot_diff << std::endl;
std::cout << "max. rot. difference after solving " << max_rot_diff << std::endl;
#if BOOST_VERSION < 108300
double el = timer.elapsed();
#else
boost::timer::cpu_times const ct(timer.elapsed());
double el = ct.user / 1e9;
#endif
std::cout << "elapsed time " << el << std::endl;
std::cout << "estimate of average time per invposkin (ms)" << el/num_of_trials*1000 << std::endl;
std::cout << "estimate of longest time per invposkin (ms) " << el/total_number_of_iter*max_num_of_iter *1000 << std::endl;
Expand All @@ -177,7 +191,7 @@ int main(int argc,char* argv[]) {
<< " This routine can take more then 6 minutes to execute. It then gives statistics on execution times\n"
<< " and failures.\n"
<< " Typically when executed 1 000 000 times, you will still see some small amount of failures\n"
<< " Typically these failures are in the neighbourhoud of singularities. Most failures of type -2 still\n"
<< " Typically these failures are in the neighbourhood of singularities. Most failures of type -2 still\n"
<< " reach an accuracy better than 1E-4.\n"
<< " This is much better than ChainIkSolverPos_NR, which fails a few times per 100 trials.\n";

Expand Down
2 changes: 1 addition & 1 deletion orocos_kdl/models/kukaLWRtestDHnew.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ int getInputs(JntArray &_q, JntArray &_qdot, JntArray &_qdotdot, int &linenr)
*READING Qdot = joint velocities
*/
counter=0;//reset counter
ifstream inQdotfile("interpreteerbaar/qdot", std::ios::in);
std::ifstream inQdotfile("interpreteerbaar/qdot", std::ios::in);

if (!inQdotfile)
{
Expand Down
1 change: 1 addition & 0 deletions orocos_kdl/orocos_kdl-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ set(orocos_kdl_INCLUDE_DIRS
${EIGEN3_INCLUDE_DIR}
)
set(orocos_kdl_LIBRARIES orocos-kdl)
set(orocos_kdl_TARGETS orocos-kdl)

# where the .pc pkgconfig files are installed
set(orocos_kdl_PKGCONFIG_DIR "${orocos_kdl_PREFIX}/lib/pkgconfig")
1 change: 1 addition & 0 deletions orocos_kdl/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

<export>
<build_type>cmake</build_type>
<rosdoc config="rosdoc.yaml"/>
</export>

</package>
5 changes: 5 additions & 0 deletions orocos_kdl/rosdoc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- builder: doxygen
name: C++ API
file_patterns: '*.cpp *.cxx *.h *.hpp *.inl'
tab_size: 4
exclude_patterns: '*.svn* CMake*'
81 changes: 36 additions & 45 deletions orocos_kdl/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,46 +16,44 @@ ENDIF(MSVC)
CONFIGURE_FILE(config.h.in config.h @ONLY)

#### Settings for rpath
IF(${CMAKE_MINIMUM_REQUIRED_VERSION} VERSION_GREATER "2.8.12")
MESSAGE(AUTHOR_WARNING "CMAKE_MINIMUM_REQUIRED_VERSION is now ${CMAKE_MINIMUM_REQUIRED_VERSION}. This check can be removed.")
ENDIF()
IF(NOT (CMAKE_VERSION VERSION_LESS 2.8.12))
IF(NOT MSVC)
#add the option to disable RPATH
OPTION(OROCOSKDL_ENABLE_RPATH "Enable RPATH during installation" TRUE)
MARK_AS_ADVANCED(OROCOSKDL_ENABLE_RPATH)
ENDIF(NOT MSVC)
IF(NOT MSVC)
#add the option to disable RPATH
OPTION(OROCOSKDL_ENABLE_RPATH "Enable RPATH during installation" TRUE)
MARK_AS_ADVANCED(OROCOSKDL_ENABLE_RPATH)
ENDIF(NOT MSVC)

IF(OROCOSKDL_ENABLE_RPATH)
#Configure RPATH
SET(CMAKE_MACOSX_RPATH TRUE) #enable RPATH on OSX. This also suppress warnings on CMake >= 3.0
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
#build directory by default is built with RPATH
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
IF(OROCOSKDL_ENABLE_RPATH)
#Configure RPATH
SET(CMAKE_MACOSX_RPATH TRUE) #enable RPATH on OSX. This also suppress warnings on CMake >= 3.0
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
#build directory by default is built with RPATH
SET(CMAKE_SKIP_BUILD_RPATH FALSE)

#This is relative RPATH for libraries built in the same project
#I assume that the directory is
# - install_dir/something for binaries
# - install_dir/lib for libraries
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
FILE(RELATIVE_PATH _rel_path "${CMAKE_INSTALL_PREFIX}/bin" "${CMAKE_INSTALL_PREFIX}/lib")
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CMAKE_INSTALL_RPATH "@loader_path/${_rel_path}")
ELSE()
SET(CMAKE_INSTALL_RPATH "\$ORIGIN/${_rel_path}")
ENDIF()
ENDIF("${isSystemDir}" STREQUAL "-1")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) #very important!
ENDIF()
#This is relative RPATH for libraries built in the same project
#I assume that the directory is
# - install_dir/something for binaries
# - install_dir/lib for libraries
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
FILE(RELATIVE_PATH _rel_path "${CMAKE_INSTALL_PREFIX}/bin" "${CMAKE_INSTALL_PREFIX}/lib")
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CMAKE_INSTALL_RPATH "@loader_path/${_rel_path}")
ELSE()
SET(CMAKE_INSTALL_RPATH "\$ORIGIN/${_rel_path}")
ENDIF()
ENDIF("${isSystemDir}" STREQUAL "-1")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) #very important!
ENDIF()
#####end RPATH

ADD_LIBRARY(orocos-kdl ${LIB_TYPE} ${KDL_SRCS} config.h)
ADD_LIBRARY(orocos-kdl ${LIB_TYPE} ${KDL_SRCS})

TARGET_INCLUDE_DIRECTORIES(orocos-kdl PUBLIC
"$<INSTALL_INTERFACE:include>")

SET_TARGET_PROPERTIES( orocos-kdl PROPERTIES
SOVERSION "${KDL_VERSION_MAJOR}.${KDL_VERSION_MINOR}"
Expand All @@ -65,22 +63,15 @@ SET_TARGET_PROPERTIES( orocos-kdl PROPERTIES
)

#### Settings for rpath disabled (back-compatibility)
IF(${CMAKE_MINIMUM_REQUIRED_VERSION} VERSION_GREATER "2.8.12")
MESSAGE(AUTHOR_WARNING "CMAKE_MINIMUM_REQUIRED_VERSION is now ${CMAKE_MINIMUM_REQUIRED_VERSION}. This check can be removed.")
ENDIF()
IF(CMAKE_VERSION VERSION_LESS 2.8.12)
IF(NOT OROCOSKDL_ENABLE_RPATH)
SET_TARGET_PROPERTIES( orocos-kdl PROPERTIES
INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
ELSE()
IF(NOT OROCOSKDL_ENABLE_RPATH)
SET_TARGET_PROPERTIES( orocos-kdl PROPERTIES
INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
ENDIF()
ENDIF()
#####end RPATH

# Needed so that the generated config.h can be used
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
TARGET_INCLUDE_DIRECTORIES(orocos-kdl PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>")
TARGET_LINK_LIBRARIES(orocos-kdl ${Boost_LIBRARIES})

INSTALL(TARGETS orocos-kdl
Expand Down
2 changes: 1 addition & 1 deletion orocos_kdl/src/chainexternalwrenchestimator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ namespace KDL {

/**
* Calculates robot's initial momentum in the joint space.
* Bassically, sets the offset for future estimation (momentum calculation).
* Basically, sets the offset for future estimation (momentum calculation).
* If this method is not called by the user, zero values will be taken for the initial momentum.
*/
int setInitialMomentum(const JntArray &joint_position, const JntArray &joint_velocity);
Expand Down
2 changes: 1 addition & 1 deletion orocos_kdl/src/chainhdsolver_vereshchagin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ namespace KDL
* simulate constraint forces in certain situations, however, there, final derivation of this principle in the software is different. However, in
* the case of this more advanced forward dynamics computations, the user needs to be aware of prioritizations between input interfaces
* (mentioned in "Prioritizations" section above) and internal policies on
* handling singularities (mentioned in "Singularities and matrix inversions" section bellow).
* handling singularities (mentioned in "Singularities and matrix inversions" section below).
*
* ### Singularities and matrix inversions
*
Expand Down
4 changes: 2 additions & 2 deletions orocos_kdl/src/chainiksolverpos_lma.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ inline void Twist_to_Eigen(const KDL::Twist& t,Eigen::MatrixBase<Derived>& e) {

ChainIkSolverPos_LMA::ChainIkSolverPos_LMA(
const KDL::Chain& _chain,
const Eigen::Matrix<double,6,1>& _L,
const Eigen::Matrix<double,6,1>& _l,
double _eps,
int _maxiter,
double _eps_joints
Expand All @@ -68,7 +68,7 @@ ChainIkSolverPos_LMA::ChainIkSolverPos_LMA(
maxiter(_maxiter),
eps(_eps),
eps_joints(_eps_joints),
L(_L.cast<ScalarType>()),
L(_l.cast<ScalarType>()),
T_base_jointroot(nj),
T_base_jointtip(nj),
q(nj),
Expand Down
4 changes: 2 additions & 2 deletions orocos_kdl/src/chainiksolverpos_lma.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ class ChainIkSolverPos_LMA : public KDL::ChainIkSolverPos
* \f$ E = \Delta \mathbf{x}^T \mathbf{L} \mathbf{L}^T \Delta \mathbf{x} \f$, with \f$\mathbf{L}\f$ a diagonal matrix.
*
* \param _chain specifies the kinematic chain.
* \param _L specifies the "square root" of the weight (diagonal) matrix in task space. This diagonal matrix is specified as a vector.
* \param _l specifies the "square root" of the weight (diagonal) matrix in task space. This diagonal matrix is specified as a vector.
* \param _eps specifies the desired accuracy in task space; <B>after</B> weighing with
* the weight matrix, it is applied on \f$E\f$.
* \param _maxiter specifies the maximum number of iterations.
Expand All @@ -94,7 +94,7 @@ class ChainIkSolverPos_LMA : public KDL::ChainIkSolverPos
*/
ChainIkSolverPos_LMA(
const KDL::Chain& _chain,
const Eigen::Matrix<double,6,1>& _L,
const Eigen::Matrix<double,6,1>& _l,
double _eps=1E-5,
int _maxiter=500,
double _eps_joints=1E-15
Expand Down
2 changes: 1 addition & 1 deletion orocos_kdl/src/chainiksolvervel_pinv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ namespace KDL
* not (yet) implemented.
*
*/
virtual int CartToJnt(const JntArray& /*q_init*/, const FrameVel& /*v_in*/, JntArrayVel& /*q_out*/){return -1;};
virtual int CartToJnt(const JntArray& /*q_init*/, const FrameVel& /*v_in*/, JntArrayVel& /*q_out*/){return (error = E_NOT_IMPLEMENTED);};

/**
* Retrieve the number of singular values of the jacobian that are < eps;
Expand Down
Loading