Skip to content

Commit f27e917

Browse files
committed
CMake: sync with new jrl-cmakemodules
1 parent bf77d82 commit f27e917

File tree

2 files changed

+12
-22
lines changed

2 files changed

+12
-22
lines changed

CMakeLists.txt

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Copyright (c) 2021-2023 INRIA
33
#
44

5-
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
5+
CMAKE_MINIMUM_REQUIRED(VERSION 3.22)
66

77
SET(PROJECT_NAME pycppad)
88
SET(PROJECT_DESCRIPTION "Python bindings for CppAD and CppADCodeGen using Boost.Python")
@@ -21,11 +21,6 @@ SET(CMAKE_VERBOSE_MAKEFILE TRUE)
2121
SET(CXX_DISABLE_WERROR TRUE)
2222

2323
# Check if the submodule cmake have been initialized
24-
SET(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
25-
IF(NOT EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
26-
MESSAGE(FATAL_ERROR "\nPlease run the following command first:\ngit submodule update --init\n")
27-
ENDIF()
28-
2924
if(EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
3025
message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
3126
else()
@@ -36,13 +31,6 @@ else()
3631
TARGET jrl-cmakemodules::jrl-cmakemodules
3732
PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
3833
message(STATUS "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}")
39-
elseif(${CMAKE_VERSION} VERSION_LESS "3.14.0")
40-
message(
41-
FATAL_ERROR
42-
"\nCan't find jrl-cmakemodules. Please either:\n"
43-
" - use git submodule: 'git submodule update --init'\n"
44-
" - or install https://github.com/jrl-umi3218/jrl-cmakemodules\n"
45-
" - or upgrade your CMake version to >= 3.14 to allow automatic fetching\n")
4634
else()
4735
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
4836
include(FetchContent)
@@ -63,8 +51,6 @@ INCLUDE(${JRL_CMAKE_MODULES}/boost.cmake)
6351
INCLUDE(${JRL_CMAKE_MODULES}/ide.cmake)
6452
INCLUDE(${JRL_CMAKE_MODULES}/python.cmake)
6553

66-
SET(CMAKE_MODULE_PATH "${JRL_CMAKE_MODULES}/find-external/CppAD/" ${CMAKE_MODULE_PATH})
67-
6854
# Project definition
6955
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
7056
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
@@ -79,11 +65,11 @@ ADD_PROJECT_DEPENDENCY(Boost REQUIRED)
7965
EXPORT_BOOST_DEFAULT_OPTIONS()
8066

8167
IF(BUILD_WITH_CPPAD_CODEGEN_BINDINGS)
82-
ADD_PROJECT_DEPENDENCY(cppadcg 2.4.1 REQUIRED PKG_CONFIG_REQUIRES "cppadcg >= 2.4.1") # CppADCodeGen 2.4.1 is the first version to check the minimal version of CppAD
68+
ADD_PROJECT_DEPENDENCY(cppadcg 2.4.1 REQUIRED PKG_CONFIG_REQUIRES "cppadcg >= 2.4.1" FIND_EXTERNAL "CppAD") # CppADCodeGen 2.4.1 is the first version to check the minimal version of CppAD
8369
ADD_DEFINITIONS(-DPYCPPAD_WITH_CPPAD_CODEGEN_BINDINGS)
8470
ENDIF(BUILD_WITH_CPPAD_CODEGEN_BINDINGS)
8571

86-
ADD_PROJECT_DEPENDENCY(cppad 20180000.0 REQUIRED PKG_CONFIG_REQUIRES "cppad >= 20180000.0")
72+
ADD_PROJECT_DEPENDENCY(cppad 20180000.0 REQUIRED PKG_CONFIG_REQUIRES "cppad >= 20180000.0" FIND_EXTERNAL "CppAD")
8773
ADD_PROJECT_DEPENDENCY(Eigen3 REQUIRED PKG_CONFIG_REQUIRES "eigen3 >= 3.0.5")
8874
SET(PYTHON_COMPONENTS Interpreter Development NumPy)
8975
FINDPYTHON(REQUIRED)
@@ -178,7 +164,4 @@ PKG_CONFIG_APPEND_LIBS(${PROJECT_NAME})
178164
PKG_CONFIG_APPEND_CFLAGS("-I${PYTHON_INCLUDE_DIRS}")
179165
PKG_CONFIG_APPEND_BOOST_LIBS(${BOOST_COMPONENTS})
180166

181-
# Install catkin package.xml
182-
INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
183-
184167
setup_project_finalize()

python/CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,15 @@ SET_TARGET_PROPERTIES(${PYWRAP}
4040
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/python/${PROJECT_NAME}"
4141
)
4242

43-
IF(UNIX AND NOT APPLE)
44-
SET_TARGET_PROPERTIES(${PYWRAP} PROPERTIES INSTALL_RPATH "\$ORIGIN/../../..")
43+
IF(UNIX)
44+
GET_RELATIVE_RPATH(
45+
${${PYWRAP}_INSTALL_DIR}
46+
${PYWRAP}_INSTALL_RPATH
47+
)
48+
set_target_properties(
49+
${PYWRAP}
50+
PROPERTIES INSTALL_RPATH "${${PYWRAP}_INSTALL_RPATH}"
51+
)
4552
ENDIF()
4653

4754
INSTALL(TARGETS ${PYWRAP} DESTINATION ${${PYWRAP}_INSTALL_DIR})

0 commit comments

Comments
 (0)