Go to the documentation of this file.00001 ###############################################################################
00002 # Ecl-Ros Utilities
00003 ###############################################################################
00004 #
00005 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00006 #
00007 # This parses the package's manifest for the package's short description.
00008 # Could easily extend this to a more general macro for *any* package, but
00009 # haven't a need for it yet, so no need to complicate it.
00010 #
00011 # This sets the following variable:
00012 #
00013 # - MANIFEST_SHORT_DESC
00014 macro(ecl_ros_manifest_brief_desc)
00015
00016 file(READ ${CMAKE_SOURCE_DIR}/manifest.xml MANIFEST_XML)
00017 #if( ${ARGC} EQUAL 0 )
00018 # Read this package's manifest.
00019 #file(READ ${CMAKE_SOURCE_DIR}/manifest.xml MANIFEST_XML)
00020 # parse CMAKE_SOURCE_DIR for the package name
00021 #else()
00022 # rosbuild_find_ros_package(${ARGV0})
00023 # file(READ ${${ARGV0}_PACKAGE_PATH}/manifest.xml MANIFEST_XML)
00024 #endif()
00025 string(REGEX REPLACE ".*<description brief=\"(.*)\">.*" "\\1" MANIFEST_BRIEF_DESC ${MANIFEST_XML})
00026 endmacro()
00027
00028 # This gathers the dependencies of the current project as a cmake list.
00029 # Again, could easily extend this to a more general macro for *any*
00030 # package, but dont have a need for that yet.
00031 #
00032 # This sets the following variable:
00033 #
00034 # - ${PROJECT_NAME}_DEPENDENCIES
00035 #
00036 macro(ecl_ros_get_dependency_list)
00037 rosbuild_invoke_rospack(${PROJECT_NAME} _pkg dependencies "depends")
00038 string(REGEX REPLACE "\n" ";" ${PROJECT_NAME}_DEPENDENCIES "${_pkg_dependencies}")
00039 endmacro()
00040
00041 # Define standard output paths for ecl-ros packages
00042 macro(ecl_ros_output_paths)
00043 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
00044 set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
00045 link_directories("${PROJECT_SOURCE_DIR}/lib") # Find the local library for tests and utilities.
00046 endmacro()
00047
00048 #endif DOXYGEN_SHOULD_SKIP_THIS