Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
bb26fbc
(dev) construct service from existing rcl_service_t
Karsten1987 Nov 18, 2016
6d36ce8
service takes rcl_node_t*
Karsten1987 Nov 20, 2016
f28a80e
correct typo
Karsten1987 Nov 20, 2016
f1fc89c
add_service has to be public
Karsten1987 Nov 20, 2016
72320c3
uncrustify
Karsten1987 Nov 22, 2016
6a5abed
initial state machine implementation
Karsten1987 Oct 27, 2016
8456209
(dev) demo application for a managed lifecycle node
Karsten1987 Nov 1, 2016
fa573f1
add visibility control
Karsten1987 Nov 2, 2016
b24d090
correct install of c-library
Karsten1987 Nov 2, 2016
f14a23e
fix compilation on windows
Karsten1987 Nov 2, 2016
989178c
refactoring of external/internal api
Karsten1987 Nov 3, 2016
61404f4
(dev) generate static functions for c-callback
Karsten1987 Nov 4, 2016
4af9891
(fix) correct typo
Karsten1987 Nov 4, 2016
d8a30e7
(dev) cleanup for c-statemachine
Karsten1987 Nov 4, 2016
b2e0803
(dev) cpp callback map
Karsten1987 Nov 4, 2016
ec52ad5
(dev) mv source file into project folders
Karsten1987 Nov 8, 2016
9a5d1c0
(dev) more helper functions for valid transition
Karsten1987 Nov 8, 2016
d647125
(dev) pimpl implementation for cpp lifecyclemanager
Karsten1987 Nov 8, 2016
1fac6c6
(dev) register non-default callback functions
Karsten1987 Nov 8, 2016
794a131
(dev) cleanup lifecycle node to serve as base class
Karsten1987 Nov 8, 2016
546e252
(dev) new my_node child of lifecyclenode for demo purpose
Karsten1987 Nov 8, 2016
cc67375
(fix) correctly concatenate topics
Karsten1987 Nov 24, 2016
97e4273
(fix) correctly initialize Service wo/ copy
Karsten1987 Nov 24, 2016
328801f
(dev) call both service types
Karsten1987 Nov 24, 2016
df582ae
extract demo files
Karsten1987 Nov 27, 2016
b52658c
(fix) remove debug prints
Karsten1987 Nov 27, 2016
339dbd5
(dev) change to lifecycle_msgs
Karsten1987 Nov 29, 2016
8159e44
(refactor) extract rcl_lifecycle package
Karsten1987 Nov 29, 2016
2758691
(refactor) extract lifecycle demos
Karsten1987 Nov 29, 2016
2927108
(fix) address review comments
Karsten1987 Nov 29, 2016
26ade73
(fix) make find_package(rmw) required
Karsten1987 Nov 29, 2016
3a140f7
(refactor) attach sm to lifecycle node and disable lc_manager
Karsten1987 Dec 1, 2016
4e493c6
(fix) adjust code to rcl_test refactor
Karsten1987 Dec 2, 2016
5d453ec
(dev) remove unused deps
Karsten1987 Dec 7, 2016
c090df4
(rebase) merge commit
Karsten1987 Dec 7, 2016
1361abb
(bugfix) correct rcl_ret_t error handling
Karsten1987 Dec 7, 2016
4fe6d57
(fix) depedencies
Karsten1987 Dec 7, 2016
9001160
(refactor) change to lifecycle_msgs
Karsten1987 Dec 7, 2016
804c5db
(fix) correct find_rcl
Karsten1987 Dec 8, 2016
fd8a32c
(refactor) comply for new state machine
Karsten1987 Dec 8, 2016
3a78ab9
visibility control and test api
Karsten1987 Dec 8, 2016
14402e7
(rebase) change to new typesupport
Karsten1987 Dec 8, 2016
bd5db8d
uncrustify'
Karsten1987 Dec 8, 2016
f0e2c1b
fix visibility control
Karsten1987 Dec 9, 2016
99598c2
(fix) correct whitespace
Karsten1987 Dec 9, 2016
89a7149
(fix) unused variable
Karsten1987 Dec 9, 2016
6a41839
comparison signed and unsigned
Karsten1987 Dec 9, 2016
c4c2ea1
get_state returns complete state
Karsten1987 Dec 9, 2016
35539e3
get_available_states service
Karsten1987 Dec 9, 2016
5a7f67c
new service msgs
Karsten1987 Dec 9, 2016
1db9aac
get available states and transitions api
Karsten1987 Dec 10, 2016
dd1dc88
(broken) state after rebase, does not compile demos
Karsten1987 Dec 10, 2016
e28d800
fix the way lifecycle node impl is included
wjwwood Dec 10, 2016
1a615e1
fixed rebase compilation errors
Karsten1987 Dec 10, 2016
f0416fa
remove copy&paste comment
Karsten1987 Dec 10, 2016
c0ad638
remove empty line
Karsten1987 Dec 10, 2016
48211c2
(test) register custom callbacks
Karsten1987 Dec 11, 2016
1cdb89a
(dev) return codes
Karsten1987 Dec 13, 2016
e2ff2c0
style
Karsten1987 Dec 13, 2016
b38e611
test for exception handling
Karsten1987 Dec 13, 2016
0bda7b7
refacotr new state machine
Karsten1987 Dec 14, 2016
a08c736
c++14
Karsten1987 Dec 14, 2016
49e9ed3
change exception message for windows ci bug
Karsten1987 Dec 14, 2016
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
99 changes: 99 additions & 0 deletions rclcpp_lifecycle/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
cmake_minimum_required(VERSION 3.5)

project(rclcpp_lifecycle)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++14")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rcl_lifecycle REQUIRED)
find_package(rmw_implementation_cmake REQUIRED)
find_package(std_msgs REQUIRED)
find_package(lifecycle_msgs REQUIRED)

include_directories(include)

macro(targets)
get_rclcpp_information("${rmw_implementation}" "rclcpp${target_suffix}")
get_rcl_lifecycle_information("${rmw_implementation}" "rcl_lifecycle${target_suffix}")

### CPP High level library
add_library(rclcpp_lifecycle${target_suffix}
SHARED
src/lifecycle_node.cpp
src/node_interfaces/lifecycle_node_interface.cpp
src/state.cpp
src/transition.cpp
)
ament_target_dependencies(rclcpp_lifecycle${target_suffix}
"rclcpp${target_suffix}"
"rcl_lifecycle${target_suffix}"
"lifecycle_msgs")

# Causes the visibility macros to use dllexport rather than dllimport,
# which is appropriate when building the dll but not consuming it.
target_compile_definitions(rclcpp_lifecycle${target_suffix} PRIVATE "RCLCPP_LIFECYCLE_BUILDING_DLL")

install(TARGETS
rclcpp_lifecycle${target_suffix}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)
endmacro()

call_for_each_rmw_implementation(targets GENERATE_DEFAULT)

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()

ament_add_gtest(test_lifecycle_node test/test_lifecycle_node.cpp)
if(TARGET test_lifecycle_node)
target_include_directories(test_lifecycle_node PUBLIC
${rcl_lifecycle_INCLUDE_DIRS}
${rclcpp_INCLUDE_DIRS}
${rclcpp_lifecycle_INCLUDE_DIRS}
)
target_link_libraries(test_lifecycle_node ${PROJECT_NAME})
endif()
ament_add_gtest(test_state_machine_info test/test_state_machine_info.cpp)
if(TARGET test_state_machine_info)
target_include_directories(test_state_machine_info PUBLIC
${rcl_lifecycle_INCLUDE_DIRS}
${rclcpp_INCLUDE_DIRS}
${rclcpp_lifecycle_INCLUDE_DIRS}
)
target_link_libraries(test_state_machine_info ${PROJECT_NAME})
endif()
ament_add_gtest(test_register_custom_callbacks test/test_register_custom_callbacks.cpp)
if(TARGET test_register_custom_callbacks)
target_include_directories(test_register_custom_callbacks PUBLIC
${rcl_lifecycle_INCLUDE_DIRS}
${rclcpp_INCLUDE_DIRS}
${rclcpp_lifecycle_INCLUDE_DIRS}
)
target_link_libraries(test_register_custom_callbacks ${PROJECT_NAME})
endif()
ament_add_gtest(test_callback_exceptions test/test_callback_exceptions.cpp)
if(TARGET test_callback_exceptions)
target_include_directories(test_callback_exceptions PUBLIC
${rcl_lifecycle_INCLUDE_DIRS}
${rclcpp_INCLUDE_DIRS}
${rclcpp_lifecycle_INCLUDE_DIRS}
)
target_link_libraries(test_callback_exceptions ${PROJECT_NAME})
endif()
endif()

ament_export_dependencies(rclcpp)
ament_export_dependencies(rcl_lifecycle)
ament_export_dependencies(lifecycle_msgs)
ament_export_include_directories(include)
ament_export_libraries(${PROJECT_NAME})
ament_package()

install(DIRECTORY include/
DESTINATION include)
Loading