Skip to content

Commit

Permalink
Generate nodelet executable using bash script
Browse files Browse the repository at this point in the history
  • Loading branch information
wkentaro committed Sep 29, 2016
1 parent 528c0e5 commit eff1d39
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 58 deletions.
1 change: 1 addition & 0 deletions nodelet/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,5 @@ install(TARGETS nodelet
)
install(DIRECTORY cmake
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS
)
13 changes: 5 additions & 8 deletions nodelet/cmake/nodelet-extras.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,9 @@ macro(nodelet_add_executable node_name nodelet_name)
# Generate single nodelet executable
set(NODE_NAME ${node_name})
set(NODELET_NAME ${nodelet_name})
configure_file(${_nodelet_SOURCE_DIR}/cmake/standalone_nodelet_exe.cpp.in
${node_name}.cpp @ONLY)
add_executable(${node_name}_exe ${node_name}.cpp)
set_target_properties(${node_name}_exe PROPERTIES OUTPUT_NAME ${node_name})
# Additional linking should be conducted in each package
target_link_libraries(${node_name}_exe ${catkin_LIBRARIES} ${BOOST_LIBRARIES})
# Generate list of targets to use at installation
list(APPEND ${PROJECT_NAME}_nodelet_exe_targets ${node_name}_exe)
configure_file(${_nodelet_SOURCE_DIR}/cmake/standalone_nodelet_exe.in ${node_name} @ONLY)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/${node_name}
DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_BIN_DESTINATION})
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${node_name}
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
endmacro()
50 changes: 0 additions & 50 deletions nodelet/cmake/standalone_nodelet_exe.cpp.in

This file was deleted.

38 changes: 38 additions & 0 deletions nodelet/cmake/standalone_nodelet_exe.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/usr/bin/env bash
######################################################################
# Software License Agreement (BSD License)
#
# Copyright (c) 2016, Kentaro Wada.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of the Kentaro Wada nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
######################################################################

# Default node name is "@NODE_NAME@",
# but it is reconfigured by argument afterward.
rosrun nodelet nodelet standalone @NODELET_NAME@ __name:=@NODE_NAME@ "$@"

0 comments on commit eff1d39

Please sign in to comment.