From 8b5b14809ecf764559e7d47f52e4fcff3e6c46c3 Mon Sep 17 00:00:00 2001 From: Olivier Stasse Date: Sat, 7 Sep 2024 11:34:42 +0200 Subject: [PATCH 1/8] [cmake] Change cmake submodules link to https and synchronize. --- .gitmodules | 2 +- cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index d45eff0..41f2cf0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ url = git://github.com/roboptim/roboptim-shared-tests.git [submodule "cmake"] path = cmake - url = git://github.com/jrl-umi3218/jrl-cmakemodules.git + url = https://github.com/jrl-umi3218/jrl-cmakemodules [submodule ".travis"] path = .travis url = git://github.com/jrl-umi3218/jrl-travis.git diff --git a/cmake b/cmake index d869404..51a0ab3 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit d8694045bd7da779d2360c950404c6583174b40a +Subproject commit 51a0ab31bc9b12b3cc8b45f9a36327dcb3e3fe4e From a78ea21bcf0a64799968ae45fbd5d6f34e32cb41 Mon Sep 17 00:00:00 2001 From: Olivier Stasse Date: Sat, 7 Sep 2024 11:35:18 +0200 Subject: [PATCH 2/8] [cmake] Update CMakeLists.txt to reflect the new changes. --- CMakeLists.txt | 21 ++++++++++++--------- src/CMakeLists.txt | 6 ++++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d59719..10bdfa7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,15 +14,21 @@ # along with roboptim-core. If not, see . # Requires at least CMake 2.8 to configure the package. -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +CMAKE_MINIMUM_REQUIRED(VERSION 3.16) -INCLUDE(cmake/base.cmake) -INCLUDE(cmake/boost.cmake) -INCLUDE(cmake/cpack.cmake) +SET(CMAKE_CXX_STANDARD 98) SET(PROJECT_NAME roboptim-core-plugin-ipopt) SET(PROJECT_DESCRIPTION "RobOptim core IPOPT plug-in") SET(PROJECT_URL "https://github.com/roboptim/roboptim-core-plugin-ipopt") +set(PROJECT_USE_CMAKE_EXPORT TRUE) + +INCLUDE(cmake/base.cmake) +INCLUDE(cmake/boost.cmake) +INCLUDE(cmake/cpack.cmake) + +compute_project_args(PROJECT_ARGS LANGUAGES CXX C) +project(${PROJECT_NAME} ${PROJECT_ARGS}) # Use MathJax for Doxygen formulae SET(DOXYGEN_USE_MATHJAX "YES") @@ -37,7 +43,6 @@ SET(HEADERS SET(PKG_CONFIG_ADDITIONAL_VARIABLES plugindir relplugindir ${PKG_CONFIG_ADDITIONAL_VARIABLES}) -SETUP_PROJECT() # If compiler support symbol visibility, enable it. INCLUDE(CheckCCompilerFlag) @@ -68,8 +73,8 @@ IF (NOT LTDL_H_FOUND) ENDIF() # Search for roboptim-core. -ADD_REQUIRED_DEPENDENCY("roboptim-core >= 3.2") - +ADD_PROJECT_DEPENDENCY(roboptim-core) +add_project_dependency(Eigen3) # Workaround Ipopt package issue. # It does not define HAVE_STDDEF even when it is needed, so we will do # it manually. @@ -144,5 +149,3 @@ ELSE() "Tests should only be disabled for speficic cases. Do it at your own risk.") ENDIF() -SETUP_PROJECT_FINALIZE() -SETUP_PROJECT_CPACK() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index decd64f..a5d887b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,10 +36,12 @@ MACRO(IPOPT_PLUGIN NAME) PROPERTIES VERSION 3.2.0 SOVERSION 3) ENDIF() INSTALL(TARGETS roboptim-core-plugin-${NAME} + EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${PLUGINDIR}) PKG_CONFIG_USE_DEPENDENCY(roboptim-core-plugin-${NAME} ipopt) - PKG_CONFIG_USE_COMPILE_DEPENDENCY(roboptim-core-plugin-${NAME} roboptim-core) - + #PKG_CONFIG_USE_COMPILE_DEPENDENCY(roboptim-core-plugin-${NAME} roboptim-core) + TARGET_LINK_LIBRARIES(roboptim-core-plugin-${NAME} roboptim-core::roboptim-core Eigen3::Eigen) + # Make sure all symbols are defined. # See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=592752 IF(CMAKE_SYSTEM_NAME MATCHES "Linux" From e336088d7099c27de954d74abc8ba433d8e100ef Mon Sep 17 00:00:00 2001 From: Olivier Stasse Date: Tue, 17 Sep 2024 00:13:39 +0200 Subject: [PATCH 3/8] [cmake] Update CMakeLists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 10bdfa7..640e875 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ # Requires at least CMake 2.8 to configure the package. CMAKE_MINIMUM_REQUIRED(VERSION 3.16) -SET(CMAKE_CXX_STANDARD 98) +SET(CMAKE_CXX_STANDARD 11) SET(PROJECT_NAME roboptim-core-plugin-ipopt) SET(PROJECT_DESCRIPTION "RobOptim core IPOPT plug-in") From 43a92d03c689bb4535fc3c3ac03bbb107d008ec2 Mon Sep 17 00:00:00 2001 From: Olivier Stasse Date: Tue, 17 Sep 2024 00:13:59 +0200 Subject: [PATCH 4/8] Add package.xml --- package.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 package.xml diff --git a/package.xml b/package.xml new file mode 100644 index 0000000..2f4d49e --- /dev/null +++ b/package.xml @@ -0,0 +1,19 @@ + + + roboptim-core-plugin-ipopt + 0.1.0 + This plus provides the interface from roboptim to ipopt. + + Guilhem Saurel + + BSD + + ament_cmake + + rclcpp + roboptim-core + + rclcpp + roboptim-core + + From 67d5f7ef99221842154e56061e16ad6604865693 Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Mon, 9 Dec 2024 18:32:22 +0100 Subject: [PATCH 5/8] Add required dependency of roboptim-core --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 640e875..f254c64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,6 +73,7 @@ IF (NOT LTDL_H_FOUND) ENDIF() # Search for roboptim-core. +ADD_REQUIRED_DEPENDENCY(roboptim-core) ADD_PROJECT_DEPENDENCY(roboptim-core) add_project_dependency(Eigen3) # Workaround Ipopt package issue. From 31f2b2575f60e79fac4f4af4c41b6d145f27862d Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Mon, 9 Dec 2024 18:34:36 +0100 Subject: [PATCH 6/8] Add missing dependencies and fix package.xml format --- package.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package.xml b/package.xml index 2f4d49e..a4d3ee1 100644 --- a/package.xml +++ b/package.xml @@ -1,5 +1,5 @@ - + roboptim-core-plugin-ipopt 0.1.0 This plus provides the interface from roboptim to ipopt. @@ -12,8 +12,9 @@ rclcpp roboptim-core + coinor-libipopt-dev - rclcpp - roboptim-core + rclcpp + roboptim-core From 0ba76bbcce885074e02d86109cbe91e05dad36ef Mon Sep 17 00:00:00 2001 From: Olivier Stasse Date: Sat, 22 Mar 2025 22:07:42 +0100 Subject: [PATCH 7/8] [cmake] Fix CMakeLists.txt --- CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f254c64..5c087ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,6 @@ # Requires at least CMake 2.8 to configure the package. CMAKE_MINIMUM_REQUIRED(VERSION 3.16) -SET(CMAKE_CXX_STANDARD 11) SET(PROJECT_NAME roboptim-core-plugin-ipopt) SET(PROJECT_DESCRIPTION "RobOptim core IPOPT plug-in") @@ -25,11 +24,11 @@ set(PROJECT_USE_CMAKE_EXPORT TRUE) INCLUDE(cmake/base.cmake) INCLUDE(cmake/boost.cmake) -INCLUDE(cmake/cpack.cmake) compute_project_args(PROJECT_ARGS LANGUAGES CXX C) project(${PROJECT_NAME} ${PROJECT_ARGS}) +CHECK_MINIMAL_CXX_STANDARD(14) # Use MathJax for Doxygen formulae SET(DOXYGEN_USE_MATHJAX "YES") @@ -149,4 +148,3 @@ ELSE() MESSAGE(WARNING "Tests should only be disabled for speficic cases. Do it at your own risk.") ENDIF() - From 63e34fb1cafe6ccfe5517f6964a0aeb6c619a4c5 Mon Sep 17 00:00:00 2001 From: Olivier Stasse Date: Sat, 22 Mar 2025 22:08:06 +0100 Subject: [PATCH 8/8] Fix version in package.xml --- package.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.xml b/package.xml index a4d3ee1..07a7943 100644 --- a/package.xml +++ b/package.xml @@ -1,12 +1,12 @@ roboptim-core-plugin-ipopt - 0.1.0 + 3.2 This plus provides the interface from roboptim to ipopt. Guilhem Saurel - BSD + LGPL-3.0 ament_cmake