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/CMakeLists.txt b/CMakeLists.txt
index 8d59719..5c087ed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,16 +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(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)
+
+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")
@@ -37,7 +42,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 +72,9 @@ IF (NOT LTDL_H_FOUND)
ENDIF()
# Search for roboptim-core.
-ADD_REQUIRED_DEPENDENCY("roboptim-core >= 3.2")
-
+ADD_REQUIRED_DEPENDENCY(roboptim-core)
+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.
@@ -143,6 +148,3 @@ ELSE()
MESSAGE(WARNING
"Tests should only be disabled for speficic cases. Do it at your own risk.")
ENDIF()
-
-SETUP_PROJECT_FINALIZE()
-SETUP_PROJECT_CPACK()
diff --git a/cmake b/cmake
index d869404..51a0ab3 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit d8694045bd7da779d2360c950404c6583174b40a
+Subproject commit 51a0ab31bc9b12b3cc8b45f9a36327dcb3e3fe4e
diff --git a/package.xml b/package.xml
new file mode 100644
index 0000000..07a7943
--- /dev/null
+++ b/package.xml
@@ -0,0 +1,20 @@
+
+
+ roboptim-core-plugin-ipopt
+ 3.2
+ This plus provides the interface from roboptim to ipopt.
+
+ Guilhem Saurel
+
+ LGPL-3.0
+
+ ament_cmake
+
+ rclcpp
+ roboptim-core
+ coinor-libipopt-dev
+
+ rclcpp
+ roboptim-core
+
+
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"