Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.11)
cmake_minimum_required(VERSION 3.10)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

Expand Down Expand Up @@ -76,6 +76,7 @@ endif()
include(FetchFMT)

## Submodules
add_library(libfranka-common INTERFACE) # https://stackoverflow.com/questions/34443128/cmake-install-targets-in-subdirectories
add_subdirectory(common)

## Library
Expand Down Expand Up @@ -137,7 +138,7 @@ endif()

target_include_directories(franka PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
$<INSTALL_INTERFACE:include/libfranka>
)

target_link_libraries(franka PRIVATE
Expand All @@ -154,16 +155,15 @@ target_link_libraries(franka PUBLIC
)

## Installation
include(GNUInstallDirs)
set(INSTALL_CMAKE_CONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/Franka)
set(INSTALL_CMAKE_CONFIG_DIR share/franka/cmake)

install(TARGETS franka libfranka-common
EXPORT FrankaTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION lib
RUNTIME DESTINATION lib/libfranka
ARCHIVE DESTINATION lib
)
install(DIRECTORY include/ common/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
install(DIRECTORY include/ common/include/ DESTINATION include/libfranka
USE_SOURCE_PERMISSIONS
)

Expand Down Expand Up @@ -191,12 +191,15 @@ install(EXPORT FrankaTargets
DESTINATION ${INSTALL_CMAKE_CONFIG_DIR}
)

# Install catkin package.xml
install(FILES package.xml DESTINATION share/libfranka)

## Subprojects

# Ignore find_package(Franka) in subprojects.
set(FRANKA_IS_FOUND TRUE)

option(BUILD_TESTS "Build tests" ON)
option(BUILD_TESTS "Build tests" OFF)
if(BUILD_TESTS)
enable_testing()
add_subdirectory(test)
Expand Down
2 changes: 1 addition & 1 deletion common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.2)

add_library(libfranka-common INTERFACE)
# add_library(libfranka-common INTERFACE) # https://stackoverflow.com/questions/34443128/cmake-install-targets-in-subdirectories
target_include_directories(libfranka-common INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
Expand Down
9 changes: 4 additions & 5 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,10 @@ target_link_libraries(joint_impedance_control Threads::Threads pinocchio::pinocc
target_link_libraries(motion_with_control Poco::Foundation)
target_link_libraries(motion_with_control_external_control_loop Poco::Foundation)

include(GNUInstallDirs)
install(TARGETS ${EXAMPLES}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION lib
RUNTIME DESTINATION lib/libfranka
)

# Further examples
add_subdirectory(utility_examples)
# # Further examples
# add_subdirectory(utility_examples)