Skip to content

Commit d79d715

Browse files
committed
Allow ndcurves to be consumed thru FetchContent
1 parent 181c595 commit d79d715

File tree

2 files changed

+34
-8
lines changed

2 files changed

+34
-8
lines changed

CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,26 +92,26 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
9292
)
9393
endif()
9494

95-
find_package(example-robot-data 4.0.9 REQUIRED)
96-
ADD_PROJECT_DEPENDENCY(OpenMP REQUIRED)
97-
ADD_PROJECT_DEPENDENCY(proxsuite REQUIRED)
98-
ADD_PROJECT_DEPENDENCY(pinocchio REQUIRED)
99-
ADD_PROJECT_DEPENDENCY(aligator REQUIRED)
100-
ADD_PROJECT_DEPENDENCY(ndcurves REQUIRED)
95+
include(dependencies.cmake)
10196

10297
# Main Library
10398
file(GLOB mpc_SOURCE CONFIGURE_DEPENDS src/*.cpp)
10499
file(GLOB mpc_HEADER CONFIGURE_DEPENDS include/${PROJECT_NAME}/*.hpp)
105100

106101
add_library(${PROJECT_NAME} SHARED ${mpc_HEADER} ${mpc_SOURCE})
107-
target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
102+
target_include_directories(
103+
${PROJECT_NAME}
104+
PUBLIC
105+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
106+
$<INSTALL_INTERFACE:include>
107+
)
108108
target_link_libraries(
109109
${PROJECT_NAME}
110110
PUBLIC
111111
pinocchio::pinocchio
112112
aligator::aligator
113113
example-robot-data::example-robot-data
114-
ndcurves::ndcurves
114+
ndcurves
115115
)
116116
target_link_libraries(${PROJECT_NAME} PUBLIC OpenMP::OpenMP_CXX)
117117
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${mpc_HEADER}")

dependencies.cmake

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
find_package(example-robot-data 4.0.9 REQUIRED)
2+
ADD_PROJECT_DEPENDENCY(OpenMP REQUIRED)
3+
ADD_PROJECT_DEPENDENCY(proxsuite REQUIRED)
4+
ADD_PROJECT_DEPENDENCY(pinocchio REQUIRED)
5+
ADD_PROJECT_DEPENDENCY(aligator REQUIRED)
6+
7+
function(get_ndcurves)
8+
find_package(ndcurves QUIET)
9+
if(NOT ndcurves_FOUND)
10+
FetchContent_Declare(
11+
ndcurves
12+
GIT_REPOSITORY "https://github.com/loco-3d/ndcurves"
13+
GIT_PROGRESS True
14+
GIT_TAG devel
15+
SYSTEM
16+
EXCLUDE_FROM_ALL
17+
)
18+
set(PROJECT_CUSTOM_HEADER_DIR)
19+
set(PROJECT_CUSTOM_HEADER_EXTENSION)
20+
set(BUILD_PYTHON_INTERFACE OFF)
21+
FetchContent_MakeAvailable(ndcurves)
22+
install(TARGETS ndcurves EXPORT ${TARGETS_EXPORT_NAME})
23+
endif()
24+
endfunction()
25+
26+
get_ndcurves()

0 commit comments

Comments
 (0)