Skip to content

Commit e4f4d76

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

File tree

2 files changed

+55
-8
lines changed

2 files changed

+55
-8
lines changed

CMakeLists.txt

Lines changed: 46 additions & 6 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,40 @@ SET(CMAKE_VERBOSE_MAKEFILE TRUE)
2121
SET(CXX_DISABLE_WERROR TRUE)
2222

2323
# Check if the submodule cmake have been initialized
24+
<<<<<<< HEAD
2425
SET(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
2526
IF(NOT EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
2627
MESSAGE(FATAL_ERROR "\nPlease run the following command first:\ngit submodule update --init\n")
2728
ENDIF()
29+
||||||| parent of 424d719 (CMake: sync with new jrl-cmakemodules)
30+
IF(NOT EXISTS "${CMAKE_SOURCE_DIR}/cmake/base.cmake")
31+
MESSAGE(FATAL_ERROR "\nPlease run the following command first:\ngit submodule update --init\n")
32+
ENDIF()
33+
=======
34+
set(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
35+
if(EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
36+
message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
37+
else()
38+
find_package(jrl-cmakemodules QUIET CONFIG)
39+
if(jrl-cmakemodules_FOUND)
40+
get_property(
41+
JRL_CMAKE_MODULES
42+
TARGET jrl-cmakemodules::jrl-cmakemodules
43+
PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
44+
message(STATUS "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}")
45+
else()
46+
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
47+
include(FetchContent)
48+
FetchContent_Declare(
49+
"jrl-cmakemodules"
50+
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git")
51+
FetchContent_MakeAvailable("jrl-cmakemodules")
52+
FetchContent_GetProperties("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
53+
endif()
54+
endif()
55+
>>>>>>> 424d719 (CMake: sync with new jrl-cmakemodules)
2856

57+
<<<<<<< HEAD
2958
if(EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
3059
message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
3160
else()
@@ -52,7 +81,14 @@ else()
5281
FetchContent_GetProperties("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
5382
endif()
5483
endif()
55-
84+
||||||| parent of 424d719 (CMake: sync with new jrl-cmakemodules)
85+
INCLUDE(cmake/base.cmake)
86+
INCLUDE(cmake/boost.cmake)
87+
INCLUDE(cmake/ide.cmake)
88+
=======
89+
>>>>>>> 424d719 (CMake: sync with new jrl-cmakemodules)
90+
91+
<<<<<<< HEAD
5692
# Use BoostConfig module distributed by boost library instead of using FindBoost module distributed
5793
# by CMake
5894
if(POLICY CMP0167)
@@ -64,6 +100,13 @@ INCLUDE(${JRL_CMAKE_MODULES}/ide.cmake)
64100
INCLUDE(${JRL_CMAKE_MODULES}/python.cmake)
65101

66102
SET(CMAKE_MODULE_PATH "${JRL_CMAKE_MODULES}/find-external/CppAD/" ${CMAKE_MODULE_PATH})
103+
||||||| parent of 424d719 (CMake: sync with new jrl-cmakemodules)
104+
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/find-external/CppAD/" ${CMAKE_MODULE_PATH})
105+
=======
106+
include("${JRL_CMAKE_MODULES}/base.cmake")
107+
include("${JRL_CMAKE_MODULES}/boost.cmake")
108+
include("${JRL_CMAKE_MODULES}/ide.cmake")
109+
>>>>>>> 424d719 (CMake: sync with new jrl-cmakemodules)
67110

68111
# Project definition
69112
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
@@ -83,7 +126,7 @@ IF(BUILD_WITH_CPPAD_CODEGEN_BINDINGS)
83126
ADD_DEFINITIONS(-DPYCPPAD_WITH_CPPAD_CODEGEN_BINDINGS)
84127
ENDIF(BUILD_WITH_CPPAD_CODEGEN_BINDINGS)
85128

86-
ADD_PROJECT_DEPENDENCY(cppad 20180000.0 REQUIRED PKG_CONFIG_REQUIRES "cppad >= 20180000.0")
129+
ADD_PROJECT_DEPENDENCY(cppad 20180000.0 REQUIRED PKG_CONFIG_REQUIRES "cppad >= 20180000.0" FIND_EXTERNAL "CppAD")
87130
ADD_PROJECT_DEPENDENCY(Eigen3 REQUIRED PKG_CONFIG_REQUIRES "eigen3 >= 3.0.5")
88131
SET(PYTHON_COMPONENTS Interpreter Development NumPy)
89132
FINDPYTHON(REQUIRED)
@@ -178,7 +221,4 @@ PKG_CONFIG_APPEND_LIBS(${PROJECT_NAME})
178221
PKG_CONFIG_APPEND_CFLAGS("-I${PYTHON_INCLUDE_DIRS}")
179222
PKG_CONFIG_APPEND_BOOST_LIBS(${BOOST_COMPONENTS})
180223

181-
# Install catkin package.xml
182-
INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
183-
184224
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)