Skip to content

Commit

Permalink
Merge pull request ros-industrial#59 from shaun-edwards/rosi_issue_12…
Browse files Browse the repository at this point in the history
…_install_target

Updated CMakeLists with install targets
  • Loading branch information
shaun-edwards committed Jan 9, 2014
2 parents dadba2f + 6175597 commit d732fc2
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 165 deletions.
23 changes: 3 additions & 20 deletions industrial_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)

project(industrial_msgs)
# Load catkin and all dependencies required for this package
find_package(catkin REQUIRED COMPONENTS std_msgs trajectory_msgs genmsg message_generation)

#######################################
## Declare ROS messages and services ##
#######################################
find_package(catkin REQUIRED COMPONENTS std_msgs trajectory_msgs genmsg message_generation)

## Generate messages in the 'msg' folder
add_message_files(
FILES
DebugLevel.msg
Expand All @@ -18,7 +13,6 @@ add_message_files(
ServiceReturnCode.msg
TriState.msg)

## Generate services in the 'srv' folder
add_service_files(
FILES
CmdJointTrajectory.srv
Expand All @@ -28,21 +22,10 @@ add_service_files(
StartMotion.srv
StopMotion.srv)

## Generate added messages and services with any dependencies listed here
generate_messages(
DEPENDENCIES trajectory_msgs std_msgs
)


###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
CATKIN_DEPENDS message_runtime std_msgs trajectory_msgs genmsg
)

)
69 changes: 14 additions & 55 deletions industrial_robot_client/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,76 +1,39 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)

project(industrial_robot_client)
# Load catkin and all dependencies required for this package
find_package(catkin REQUIRED COMPONENTS roscpp std_msgs sensor_msgs control_msgs trajectory_msgs simple_message actionlib_msgs actionlib urdf industrial_msgs industrial_utils)

## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)
find_package(catkin REQUIRED COMPONENTS roscpp std_msgs sensor_msgs
control_msgs trajectory_msgs simple_message actionlib_msgs actionlib
urdf industrial_msgs industrial_utils)

find_package(Boost REQUIRED COMPONENTS system thread)

# The definition is copied from the CMakeList for the simple_message package.
add_definitions(-DROS=1) #build using ROS libraries
add_definitions(-DROS=1) #build using ROS libraries
add_definitions(-DLINUXSOCKETS=1) #build using LINUX SOCKETS libraries

set(SRC_FILES src/joint_relay_handler.cpp
src/robot_status_relay_handler.cpp
src/robot_status_relay_handler.cpp
src/joint_trajectory_downloader.cpp
src/joint_trajectory_streamer.cpp
src/joint_trajectory_interface.cpp
src/robot_state_interface.cpp
src/utils.cpp)

#######################################
## Declare ROS messages and services ##
#######################################

## Generate messages in the 'msg' folder
# add_message_files(
# FILES
# Message1.msg
# Message2.msg
# )

## Generate services in the 'srv' folder
# add_service_files(
# FILES
# Service1.srv
# Service2.srv
# )

## Generate added messages and services with any dependencies listed here
# generate_messages(
# DEPENDENCIES
# std_msgs
# )

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need

# NOTE: The libraries generated this package are not included in the catkin_package
# macro because libraries must be explicitly linked in projects that depend on this
# package. If this is not done (and these libraries were exported), then multiple
# library definitions (normal - industrial_robot_client and byteswapped -
# library definitions (normal - industrial_robot_client and byteswapped.
# industrial_robot_client_bswap) are both included (this is bad).

catkin_package(
CATKIN_DEPENDS roscpp std_msgs sensor_msgs control_msgs trajectory_msgs simple_message actionlib_msgs actionlib urdf industrial_msgs industrial_utils
CATKIN_DEPENDS roscpp std_msgs sensor_msgs control_msgs trajectory_msgs
simple_message actionlib_msgs actionlib urdf industrial_msgs
industrial_utils
INCLUDE_DIRS include
)


###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(include
${catkin_INCLUDE_DIRS}
)
Expand All @@ -82,20 +45,19 @@ include_directories(include
# passthrough of binary numeric data to the robot controller, and one that
# uses byte-swapping to account for endian mis-matches.
#
# Due to rosmake dependency limitations, higher-level code must explicitly
# link to the desired industrial_robot_client library:
# Due to catkin dependency limitations, higher-level code must
# explicitly link to the desired industrial_robot_client library:
# target_link_libraries(my_node industrial_robot_client)
# or
# target_link_libraries(my_node industrial_robot_client_bswap)

#

add_library(industrial_robot_client ${SRC_FILES})
target_link_libraries(industrial_robot_client simple_message)

add_library(industrial_robot_client_bswap ${SRC_FILES})
target_link_libraries(industrial_robot_client_bswap simple_message_bswap)


# The following executables(nodes) are for applications where the robot
# controller and pc have the same byte order (i.e. byte swapping NOT
# required)
Expand Down Expand Up @@ -175,9 +137,6 @@ target_link_libraries(utest_robot_client
##find_package(roslaunch)
##roslaunch_add_file_check(launch)

#############
## Install ##
#############
install(
TARGETS industrial_robot_client industrial_robot_client_bswap
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
Expand Down
22 changes: 5 additions & 17 deletions industrial_robot_simulator/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,20 +1,10 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)

project(industrial_robot_simulator)
# Load catkin and all dependencies required for this package
find_package(catkin REQUIRED COMPONENTS roscpp std_msgs sensor_msgs control_msgs trajectory_msgs industrial_robot_client)

# Python setup
#catkin_python_setup()

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need

find_package(catkin REQUIRED COMPONENTS roscpp std_msgs sensor_msgs
control_msgs trajectory_msgs industrial_robot_client)

catkin_package(
CATKIN_DEPENDS roscpp std_msgs sensor_msgs control_msgs trajectory_msgs industrial_robot_client
)
Expand All @@ -33,8 +23,6 @@ catkin_package(
## Install ##
#############

# all install targets should use catkin DESTINATION variables
# See http://ros.org/doc/groovy/api/catkin/html/adv_user_guide/variables.html

install(PROGRAMS industrial_robot_simulator DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

Expand Down
10 changes: 2 additions & 8 deletions industrial_trajectory_filters/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,24 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)

project(industrial_trajectory_filters)

find_package(catkin REQUIRED COMPONENTS moveit_ros_planning trajectory_msgs)

catkin_package(
CATKIN_DEPENDS moveit_ros_planning trajectory_msgs
INCLUDE_DIRS include
LIBRARIES ${MOVEIT_LIB_NAME}
LIBRARIES ${PROJECT_NAME}
)

include_directories(include
${catkin_INCLUDE_DIRS}
)

###########
## Build ##
###########

add_library(${PROJECT_NAME} src/n_point_filter.cpp src/uniform_sample_filter.cpp)
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})


#############
## Install ##
#############
install(TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})

Expand Down
51 changes: 6 additions & 45 deletions industrial_utils/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,69 +1,30 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)

project(industrial_utils)
# Load catkin and all dependencies required for this package

find_package(catkin REQUIRED COMPONENTS roscpp urdf)

## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)
find_package(Boost REQUIRED COMPONENTS system)

#######################################
## Declare ROS messages and services ##
#######################################

## Generate messages in the 'msg' folder
# add_message_files(
# FILES
# Message1.msg
# Message2.msg
# )

## Generate services in the 'srv' folder
# add_service_files(
# FILES
# Service1.srv
# Service2.srv
# )

## Generate added messages and services with any dependencies listed here
# generate_messages(
# DEPENDENCIES
# std_msgs
# )

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
CATKIN_DEPENDS roscpp urdf
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
)

###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(include
${catkin_INCLUDE_DIRS})

add_library(${PROJECT_NAME} src/utils.cpp src/param_utils.cpp)
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})



catkin_add_gtest(utest_inds_utils test/utest.cpp)
target_link_libraries(utest_inds_utils ${PROJECT_NAME} ${catkin_LIBRARIES})

#############
## Install ##
#############


install(
TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
Expand Down
25 changes: 5 additions & 20 deletions simple_message/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)

project(simple_message)
# Load catkin and all dependencies required for this package

find_package(catkin REQUIRED COMPONENTS roscpp industrial_msgs)

# Build static libs, to reduce dependency-chaining for industrial_robot_client
Expand All @@ -12,7 +12,7 @@ set(ROS_BUILD_SHARED_LIBS false)
# and various robot controllers. This requires conditionally compiling
# certain functions and headers. The definition below enables compiling
# for a ROS node.
add_definitions(-DROS=1) #build using ROS libraries
add_definitions(-DROS=1) #build using ROS libraries
add_definitions(-DLINUXSOCKETS=1) #use linux sockets for communication

set(SRC_FILES src/byte_array.cpp
Expand Down Expand Up @@ -61,15 +61,6 @@ set(UTEST_SRC_FILES test/utest.cpp test/utest_message.cpp)
# controllers). This library performs byte swapping at the lowest load/unload
# levels.

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need

# NOTE: The libraries generated this package are not included in the catkin_package
# macro because libraries must be explicitly linked in projects that depend on this
# package. If this is not done (and these libraries were exported), then multiple
Expand All @@ -81,12 +72,7 @@ catkin_package(
INCLUDE_DIRS include
)

###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(include
${catkin_INCLUDE_DIRS}
)
Expand Down Expand Up @@ -124,13 +110,12 @@ set_target_properties(utest_float64 PROPERTIES COMPILE_DEFINITIONS "TEST_PORT_BA
target_link_libraries(utest_float64 simple_message_float64)


#############
## Install ##
#############

install(
TARGETS simple_message simple_message_bswap simple_message_float64
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})

install(
DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})

0 comments on commit d732fc2

Please sign in to comment.