From 262a80c33cf3a9cf6ee01059fb4de575fb24bb15 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Sun, 24 Jun 2012 19:49:44 +0000 Subject: [PATCH] added fmodex ros package for convenience (download and install fmodex) git-svn-id: http://rtabmap.googlecode.com/svn/trunk/ros-pkg@563 f169173b-cf89-36c8-b27e-44dbe73f0c83 --- fmodex/CMakeLists.txt | 30 +++++++++++ fmodex/FindFmodex.cmake | 53 ++++++++++++++++++++ fmodex/Makefile | 20 ++++++++ fmodex/mainpage.dox | 14 ++++++ fmodex/manifest.xml | 14 ++++++ rtabmap/launch/loop_closure_detection.launch | 2 +- rtabmap_audio/CMakeLists.txt | 3 +- rtabmap_audio/FindFmodex.cmake | 30 +++++++++-- rtabmap_audio/manifest.xml | 1 + utilite/Makefile | 4 +- utilite/manifest.xml | 1 + 11 files changed, 163 insertions(+), 9 deletions(-) create mode 100644 fmodex/CMakeLists.txt create mode 100644 fmodex/FindFmodex.cmake create mode 100644 fmodex/Makefile create mode 100644 fmodex/mainpage.dox create mode 100644 fmodex/manifest.xml diff --git a/fmodex/CMakeLists.txt b/fmodex/CMakeLists.txt new file mode 100644 index 00000000..f8f1c9cc --- /dev/null +++ b/fmodex/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 2.4.6) +include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) + +# 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() + +#common commands for building c++ executables and libraries +#rosbuild_add_library(${PROJECT_NAME} src/example.cpp) +#target_link_libraries(${PROJECT_NAME} another_library) +#rosbuild_add_boost_directories() +#rosbuild_link_boost(${PROJECT_NAME} thread) +#rosbuild_add_executable(example examples/example.cpp) +#target_link_libraries(example ${PROJECT_NAME}) diff --git a/fmodex/FindFmodex.cmake b/fmodex/FindFmodex.cmake new file mode 100644 index 00000000..1e3dc548 --- /dev/null +++ b/fmodex/FindFmodex.cmake @@ -0,0 +1,53 @@ +# - Find Fmodex +# This module finds an installed Fmod package. +# +# It sets the following variables: +# Fmodex_FOUND - Set to false, or undefined, if Fmod isn't found. +# Fmodex_INCLUDE_DIRS - The Fmod include directory. +# Fmodex_LIBRARIES - The Fmod library to link against. +# +# + +SET(Fmodex_ROOT) + +# Add ROS Fmodex directory if ROS is installed +FIND_PROGRAM(ROSPACK_EXEC NAME rospack PATHS) +IF(ROSPACK_EXEC) + EXECUTE_PROCESS(COMMAND ${ROSPACK_EXEC} find fmodex + OUTPUT_VARIABLE Fmodex_ROS_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY "./" + ) + IF(Fmodex_ROS_PATH) + MESSAGE(STATUS "Found Fmodex ROS pkg : ${Fmodex_ROS_PATH}") + SET(Fmodex_ROOT + ${Fmodex_ROS_PATH}/fmodex + ${Fmodex_ROOT} + ) + ENDIF(Fmodex_ROS_PATH) +ENDIF(ROSPACK_EXEC) + +FIND_PATH(Fmodex_INCLUDE_DIRS fmod.h PATHS ${Fmodex_ROOT}/include) + +IF(CMAKE_SIZEOF_VOID_P EQUAL 8) + FIND_LIBRARY(Fmodex_LIBRARIES NAMES fmodex64 PATHS ${Fmodex_ROOT}/lib) +ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8) +IF(NOT Fmodex_LIBRARIES) + FIND_LIBRARY(Fmodex_LIBRARIES NAMES fmodex PATHS ${Fmodex_ROOT}/lib) +ENDIF(NOT Fmodex_LIBRARIES) + +IF (Fmodex_INCLUDE_DIRS AND Fmodex_LIBRARIES) + SET(Fmodex_FOUND TRUE) +ENDIF (Fmodex_INCLUDE_DIRS AND Fmodex_LIBRARIES) + +IF (Fmodex_FOUND) + # show which Fmod was found only if not quiet + IF (NOT Fmodex_FIND_QUIETLY) + MESSAGE(STATUS "Found Fmod: ${Fmodex_LIBRARIES}") + ENDIF (NOT Fmodex_FIND_QUIETLY) +ELSE (Fmodex_FOUND) + # fatal error if Fmod is required but not found + IF (Fmodex_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find Fmodex... (aka libfmodex)") + ENDIF (Fmodex_FIND_REQUIRED) +ENDIF (Fmodex_FOUND) diff --git a/fmodex/Makefile b/fmodex/Makefile new file mode 100644 index 00000000..66f8110b --- /dev/null +++ b/fmodex/Makefile @@ -0,0 +1,20 @@ + +all: installed + +TARBALL = build/fmodex44008.tar.gz +TARBALL_URL = http://rtabmap.googlecode.com/files/fmodex44008.tar.gz +SOURCE_DIR = build/fmodex44008 +UNPACK_CMD = tar xzf +include $(shell rospack find mk)/download_unpack_build.mk + +installed: $(SOURCE_DIR)/unpacked + mkdir -p fmodex + cp -r $(SOURCE_DIR)/include fmodex/. + cp -r $(SOURCE_DIR)/lib fmodex/. + touch installed + +clean: + -rm -rf src $(SOURCE_DIR) installed + +wipe: clean + -rm -rf build diff --git a/fmodex/mainpage.dox b/fmodex/mainpage.dox new file mode 100644 index 00000000..06b27258 --- /dev/null +++ b/fmodex/mainpage.dox @@ -0,0 +1,14 @@ +/** +\mainpage +\htmlinclude manifest.html + +\b fmodex + + + +--> + + +*/ diff --git a/fmodex/manifest.xml b/fmodex/manifest.xml new file mode 100644 index 00000000..f20d20df --- /dev/null +++ b/fmodex/manifest.xml @@ -0,0 +1,14 @@ + + + + fmodex + + + Mathieu Labbé + BSD + + http://ros.org/wiki/fmodex + + + + diff --git a/rtabmap/launch/loop_closure_detection.launch b/rtabmap/launch/loop_closure_detection.launch index 55ca2822..a2e5279d 100644 --- a/rtabmap/launch/loop_closure_detection.launch +++ b/rtabmap/launch/loop_closure_detection.launch @@ -9,7 +9,7 @@ - + diff --git a/rtabmap_audio/CMakeLists.txt b/rtabmap_audio/CMakeLists.txt index 0865f16b..9808b7ec 100644 --- a/rtabmap_audio/CMakeLists.txt +++ b/rtabmap_audio/CMakeLists.txt @@ -40,5 +40,6 @@ FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui REQUIRED) find_package(Fmodex REQUIRED) INCLUDE(${QT_USE_FILE}) -rosbuild_add_executable(audio_player AudioPlayerNode.cpp ${Fmodex_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Fmodex_INCLUDE_DIRS}) +rosbuild_add_executable(audio_player AudioPlayerNode.cpp) target_link_libraries(audio_player ${Fmodex_LIBRARIES} ${QT_LIBRARIES}) diff --git a/rtabmap_audio/FindFmodex.cmake b/rtabmap_audio/FindFmodex.cmake index c2437ad6..1e3dc548 100644 --- a/rtabmap_audio/FindFmodex.cmake +++ b/rtabmap_audio/FindFmodex.cmake @@ -7,14 +7,34 @@ # Fmodex_LIBRARIES - The Fmod library to link against. # # + +SET(Fmodex_ROOT) + +# Add ROS Fmodex directory if ROS is installed +FIND_PROGRAM(ROSPACK_EXEC NAME rospack PATHS) +IF(ROSPACK_EXEC) + EXECUTE_PROCESS(COMMAND ${ROSPACK_EXEC} find fmodex + OUTPUT_VARIABLE Fmodex_ROS_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY "./" + ) + IF(Fmodex_ROS_PATH) + MESSAGE(STATUS "Found Fmodex ROS pkg : ${Fmodex_ROS_PATH}") + SET(Fmodex_ROOT + ${Fmodex_ROS_PATH}/fmodex + ${Fmodex_ROOT} + ) + ENDIF(Fmodex_ROS_PATH) +ENDIF(ROSPACK_EXEC) -FIND_PATH(Fmodex_INCLUDE_DIRS fmod.h) +FIND_PATH(Fmodex_INCLUDE_DIRS fmod.h PATHS ${Fmodex_ROOT}/include) IF(CMAKE_SIZEOF_VOID_P EQUAL 8) - FIND_LIBRARY(Fmodex_LIBRARIES NAMES fmodex64) -ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8) - FIND_LIBRARY(Fmodex_LIBRARIES NAMES fmodex) + FIND_LIBRARY(Fmodex_LIBRARIES NAMES fmodex64 PATHS ${Fmodex_ROOT}/lib) ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8) +IF(NOT Fmodex_LIBRARIES) + FIND_LIBRARY(Fmodex_LIBRARIES NAMES fmodex PATHS ${Fmodex_ROOT}/lib) +ENDIF(NOT Fmodex_LIBRARIES) IF (Fmodex_INCLUDE_DIRS AND Fmodex_LIBRARIES) SET(Fmodex_FOUND TRUE) @@ -28,6 +48,6 @@ IF (Fmodex_FOUND) ELSE (Fmodex_FOUND) # fatal error if Fmod is required but not found IF (Fmodex_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find Fmod...") + MESSAGE(FATAL_ERROR "Could not find Fmodex... (aka libfmodex)") ENDIF (Fmodex_FIND_REQUIRED) ENDIF (Fmodex_FOUND) diff --git a/rtabmap_audio/manifest.xml b/rtabmap_audio/manifest.xml index 8cb3753e..6aa75874 100644 --- a/rtabmap_audio/manifest.xml +++ b/rtabmap_audio/manifest.xml @@ -12,6 +12,7 @@ + diff --git a/utilite/Makefile b/utilite/Makefile index 94344fe4..5a8ca5f0 100644 --- a/utilite/Makefile +++ b/utilite/Makefile @@ -5,7 +5,7 @@ all: installed SVN_DIR = build/utilite-svn SVN_URL = https://utilite.googlecode.com/svn/trunk/ -SVN_REVISION = -r173 +SVN_REVISION = -rHEAD #SVN_PATCH = opencvVer.patch include $(shell rospack find mk)/svn_checkout.mk @@ -27,4 +27,4 @@ clean: -cd $(SVN_DIR)/build && make clean rm -rf $(INSTALL_DIR) installed -.PHONY : clean download +.PHONY : clean installfmodex diff --git a/utilite/manifest.xml b/utilite/manifest.xml index 67d330b2..7449c3a1 100644 --- a/utilite/manifest.xml +++ b/utilite/manifest.xml @@ -14,6 +14,7 @@ +