source: trunk/shared_serial/CMakeLists.txt @ 48

Last change on this file since 48 was 48, checked in by wcaarls, 11 years ago

Imported shared_serial at revision 2117

File size: 2.5 KB
Line 
1cmake_minimum_required(VERSION 2.8.3)
2project(shared_serial)
3
4## Find catkin macros and libraries
5## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6## is used, also find other catkin packages
7find_package(catkin REQUIRED COMPONENTS roscpp message_generation)
8
9#######################################
10## Declare ROS messages and services ##
11#######################################
12
13## Generate messages in the 'msg' folder
14add_message_files(
15  DIRECTORY msg
16)
17
18## Generate services in the 'srv' folder
19add_service_files(
20  DIRECTORY srv
21)
22
23## Generate added messages and services with any dependencies listed here
24generate_messages()
25
26###################################
27## catkin specific configuration ##
28###################################
29## The catkin_package macro generates cmake config files for your package
30## Declare things to be passed to dependent projects
31## INCLUDE_DIRS: uncomment this if you package contains header files
32## LIBRARIES: libraries you create in this project that dependent projects also need
33## CATKIN_DEPENDS: catkin_packages dependent projects also need
34## DEPENDS: system dependencies of this project that dependent projects also need
35catkin_package(
36  INCLUDE_DIRS include
37  LIBRARIES ${PROJECT_NAME}
38  CATKIN_DEPENDS roscpp message_runtime
39)
40
41###########
42## Build ##
43###########
44
45## Specify additional locations of header files
46## Your package locations should be listed before other locations
47# include_directories(include)
48include_directories(
49  include ${catkin_INCLUDE_DIRS}
50)
51
52## Declare a cpp library
53add_library(${PROJECT_NAME}
54  src/client.cpp
55)
56
57## Declare a cpp executable
58add_executable(server src/server.cpp src/watchdog.cpp src/LxSerial.cpp)
59
60## Add cmake target dependencies of the executable/library
61## as an example, message headers may need to be generated before nodes
62add_dependencies(${PROJECT_NAME} shared_serial_generate_messages_cpp)
63add_dependencies(server shared_serial_generate_messages_cpp)
64
65target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
66target_link_libraries(server ${catkin_LIBRARIES} pthread)
67
68#############
69## Install ##
70#############
71
72## Mark executables and/or libraries for installation
73install(TARGETS ${PROJECT_NAME} server
74  ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
75  LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
76  RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
77)
78
79## Mark cpp header files for installation
80install(FILES include/${PROJECT_NAME}/client.h
81  DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
82)
Note: See TracBrowser for help on using the repository browser.