diff --git a/CMakeLists.txt b/CMakeLists.txt index cc1d54f40442c629394a0312e60a3333131b5d8b..811ee62f73d8699e40db3f0e3d8e6d9d0122f8b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,35 +1,20 @@ -cmake_minimum_required(VERSION 2.4.6) -include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) - -set(PROJECT_NAME firewire_camera_driver_node) -set(NODELET_PROJECT_NAME firewire_camera_driver_nodelet) - -# Set the build type. Options are: -# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage -# Debug : w/ debug symbols, w/o optimization -# Release : w/o debug symbols, w/ optimization -# RelWithDebInfo : w/ debug symbols, w/ optimization -# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries -#set(ROS_BUILD_TYPE RelWithDebInfo) - -rosbuild_init() - -#set the default path for built executables to the "bin" directory -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) -#set the default path for built libraries to the "lib" directory -set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) - -#uncomment if you have defined messages -#rosbuild_genmsg() -#uncomment if you have defined services -#rosbuild_gensrv() - -# added to include support for dynamic reconfiguration -rosbuild_find_ros_package(dynamic_reconfigure) -include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) -gencfg() -# end dynamic reconfiguration +cmake_minimum_required(VERSION 2.8.3) +project(iri_firewire_camera) +## Find catkin macros and libraries +find_package(catkin REQUIRED) +# ******************************************************************** +# Add catkin additional components here +# ******************************************************************** +find_package(catkin REQUIRED COMPONENTS sensor_msgs image_transport camera_info_manager nodelet iri_base_driver) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + +# ******************************************************************** +# Add system and labrobotica dependencies here +# ******************************************************************** +# find_package(<dependency> REQUIRED) FIND_PACKAGE(iriutils REQUIRED) FIND_PACKAGE(firewire REQUIRED) @@ -44,14 +29,103 @@ IF (raw1394_INCLUDE_DIR AND raw1394_LIBRARY AND dc1394_INCLUDE_DIR AND dc1394_LI SET(firewire_ready TRUE) ENDIF (raw1394_INCLUDE_DIR AND raw1394_LIBRARY AND dc1394_INCLUDE_DIR AND dc1394_LIBRARY) -INCLUDE_DIRECTORIES(${iriutils_INCLUDE_DIR} ${dc1394_INCLUDE_DIR} ${raw1394_INCLUDE_DIR} ${firewire_INCLUDE_DIR} ./include) +# ******************************************************************** +# Add topic, service and action definition here +# ******************************************************************** +## 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 actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +# ******************************************************************** +# Add the dynamic reconfigure file +# ******************************************************************** +generate_dynamic_reconfigure_options(cfg/FirewireCamera.cfg) + +# ******************************************************************** +# Add run time dependencies here +# ******************************************************************** +catkin_package( +# INCLUDE_DIRS +# LIBRARIES +# ******************************************************************** +# Add ROS and IRI ROS run time dependencies +# ******************************************************************** + CATKIN_DEPENDS sensor_msgs image_transport camera_info_manager nodelet iri_base_driver +# ******************************************************************** +# Add system and labrobotica run time dependencies here +# ******************************************************************** + DEPENDS iriutils raw1394 dc1394 +) + +########### +## Build ## +########### + +# ******************************************************************** +# Add the include directories +# ******************************************************************** +include_directories(include) +include_directories(${catkin_INCLUDE_DIRS}) +include_directories(${iriutils_INCLUDE_DIR}) +include_directories(${firewire_INCLUDE_DIR}) +include_directories(${raw1394_INCLUDE_DIR}) +include_directories(${dc1394_INCLUDE_DIR}) + +## Declare a cpp library +add_library(${PROJECT_NAME}_nodelet src/firewire_camera_driver_nodelet.cpp src/firewire_camera_driver.cpp) +# add_library(${PROJECT_NAME} <list of source files>) + +## Declare a cpp executable +add_executable(${PROJECT_NAME} src/firewire_camera_driver.cpp src/firewire_camera_driver_node.cpp) + +# ******************************************************************** +# Add the libraries +# ******************************************************************** +target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} ${iriutils_LIBRARY}) +target_link_libraries(${PROJECT_NAME} ${firewire_LIBRARY}) +target_link_libraries(${PROJECT_NAME} ${raw1394_LIBRARY}) +target_link_libraries(${PROJECT_NAME} ${dc1394_LIBRARY}) + +target_link_libraries(${PROJECT_NAME}_nodelet ${catkin_LIBRARIES}) +target_link_libraries(${PROJECT_NAME}_nodelet ${iriutils_LIBRARY}) +target_link_libraries(${PROJECT_NAME}_nodelet ${firewire_LIBRARY}) +target_link_libraries(${PROJECT_NAME}_nodelet ${raw1394_LIBRARY}) +target_link_libraries(${PROJECT_NAME}_nodelet ${dc1394_LIBRARY}) +# ******************************************************************** +# Add message headers dependencies +# ******************************************************************** +# add_dependencies(${PROJECT_NAME} <msg_package_name>_cpp) +# ******************************************************************** +# Add dynamic reconfigure dependencies +# ******************************************************************** +add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS}) -#common commands for building c++ executables and libraries -rosbuild_add_library(${NODELET_PROJECT_NAME} src/firewire_camera_driver_nodelet.cpp src/firewire_camera_driver.cpp) -#target_link_libraries(${PROJECT_NAME} another_library) -#rosbuild_add_boost_directories() -#rosbuild_link_boost(${PROJECT_NAME} thread) -rosbuild_add_executable(${PROJECT_NAME} src/firewire_camera_driver.cpp src/firewire_camera_driver_node.cpp) +## Specify libraries to link a library or executable target against +# target_link_libraries(foo_node +# ${catkin_LIBRARIES} +# ) -TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${dc1394_LIBRARY} ${raw1394_LIBRARY} ${firewire_LIBRARY} ${iriutils_LIBRARY}) -TARGET_LINK_LIBRARIES(${NODELET_PROJECT_NAME} ${dc1394_LIBRARY} ${raw1394_LIBRARY} ${firewire_LIBRARY} ${iriutils_LIBRARY}) diff --git a/cfg/firewire_camera_driver_config.cfg b/cfg/FirewireCamera.cfg similarity index 98% rename from cfg/firewire_camera_driver_config.cfg rename to cfg/FirewireCamera.cfg index dcf659df7647830e95703fe72e1d2e4257ab9ebc..18fdb0700476ac902f6938a593a6163ba8530499 100755 --- a/cfg/firewire_camera_driver_config.cfg +++ b/cfg/FirewireCamera.cfg @@ -32,10 +32,9 @@ # Author: PACKAGE='iri_firewire_camera' -import roslib; roslib.load_manifest(PACKAGE) from driver_base.msg import SensorLevels -from dynamic_reconfigure.parameter_generator import * +from dynamic_reconfigure.parameter_generator_catkin import * gen = ParameterGenerator() diff --git a/manifest.xml b/manifest.xml deleted file mode 100644 index fc47a7d8c605d15d9996e5dd3d1adaf795bc6014..0000000000000000000000000000000000000000 --- a/manifest.xml +++ /dev/null @@ -1,26 +0,0 @@ -<package> - <description brief="iri_firewire_camera"> - - iri_firewire_camera - - </description> - <author>Sergi Hernandez Juan</author> - <license>LGPL</license> - <review status="unreviewed" notes=""/> - <url>http://ros.org/wiki/iri_firewire_camera</url> - <depend package="roscpp"/> - <depend package="iri_base_driver"/> - <depend package="sensor_msgs"/> - <depend package="image_transport"/> - <depend package="camera_info_manager"/> - <depend package="nodelet"/> - - <export> - <nodelet plugin="${prefix}/firewire_nodelet_plugin.xml"/> - <cpp cflags="-I${prefix}/include" - lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -liri_base_driver"/> - </export> - -</package> - - diff --git a/package.xml b/package.xml new file mode 100644 index 0000000000000000000000000000000000000000..c82d03db414a7f001542b53c40bc8a938b2d594b --- /dev/null +++ b/package.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<package> + <name>iri_firewire_camera</name> + <version>1.0.0</version> + <description>Firewire camera driver</description> + + <!-- One maintainer tag required, multiple allowed, one person per tag --> + <!-- Example: --> + <maintainer email="shernand@iri.upc.edu">Sergi Hernandez</maintainer> + <maintainer email="labrobotica@iri.upc.edu">labrobotica</maintainer> + + <!-- One license tag required, multiple allowed, one license per tag --> + <!-- Commonly used license strings: --> + <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --> + <license>BSD</license> + + <!-- Url tags are optional, but mutiple are allowed, one per tag --> + <!-- Optional attribute type can be: website, bugtracker, or repository --> + <!-- Example: --> + <url type="website">http://wiki.ros.org/iri_firewire_camera</url> + + <!-- Author tags are optional, mutiple are allowed, one per tag --> + <!-- Authors do not have to be maintianers, but could be --> + <!-- Example: --> + <author email="shernand@iri.upc.edu">Sergi Hernandez</author> + + <!-- The *_depend tags are used to specify dependencies --> + <!-- Dependencies can be catkin packages or system dependencies --> + <!-- ****************************************************************** --> + <!-- Place build dependencies here --> + <!-- ****************************************************************** --> + <!-- <build_depend>message_generation</build_depend> --> + <build_depend>iriutils</build_depend> + <build_depend>firewire</build_depend> + <build_depend>raw1394</build_depend> + <build_depend>dc1394</build_depend> + <build_depend>iri_base_driver</build_depend> + <build_depend>sensor_msgs</build_depend> + <build_depend>image_transport</build_depend> + <build_depend>camera_info_manager</build_depend> + <build_depend>nodelet</build_depend> + + <!-- ****************************************************************** --> + <!-- Place run dependencies here --> + <!-- ****************************************************************** --> + <!-- <run_depend>message_runtime</run_depend> --> + <run_depend>iriutils</run_depend> + <run_depend>firewire</run_depend> + <run_depend>raw1394</run_depend> + <run_depend>dc1394</run_depend> + <run_depend>iri_base_driver</run_depend> + <run_depend>sensor_msgs</run_depend> + <run_depend>image_transport</run_depend> + <run_depend>camera_info_manager</run_depend> + <run_depend>nodelet</run_depend> + + <!-- Use test_depend for packages you need only for testing: --> + <!-- <test_depend>gtest</test_depend> --> + <buildtool_depend>catkin</buildtool_depend> + + <!-- The export tag contains other, unspecified, tags --> + <export> + <!-- Other tools can request additional information be placed here --> + </export> +</package>