From ec4eae42428efe35bbc43bd5ec06abb4c2df01e2 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Thu, 12 Mar 2015 21:33:44 +0100 Subject: [PATCH] [DEV] add basic catkin --- catkin/CMakeLists.txt | 81 ++++++++++++++++++++++++++++++++++++++ catkin/package.xml | 17 ++++++++ test/catkin/CMakeLists.txt | 60 ++++++++++++++++++++++++++++ test/catkin/package.xml | 13 ++++++ 4 files changed, 171 insertions(+) create mode 100644 catkin/CMakeLists.txt create mode 100644 catkin/package.xml create mode 100644 test/catkin/CMakeLists.txt create mode 100644 test/catkin/package.xml diff --git a/catkin/CMakeLists.txt b/catkin/CMakeLists.txt new file mode 100644 index 0000000..aee6aae --- /dev/null +++ b/catkin/CMakeLists.txt @@ -0,0 +1,81 @@ +cmake_minimum_required(VERSION 2.8.3) +project(river) + +set(CMAKE_VERBOSE_MAKEFILE ON) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + drain + audio + airtaudio + ejson + ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## 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( + INCLUDE_DIRS ../ + LIBRARIES ${PROJECT_NAME} + CATKIN_DEPENDS airtaudio audio drain ejson + DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( + .. + ${catkin_INCLUDE_DIRS} +) + +## Declare a cpp library +add_library(${PROJECT_NAME} + ../${PROJECT_NAME}/debug.cpp + ../${PROJECT_NAME}/Manager.cpp + ../${PROJECT_NAME}/Interface.cpp + ../${PROJECT_NAME}/CircularBuffer.cpp + ../${PROJECT_NAME}/io/Group.cpp + ../${PROJECT_NAME}/io/Node.cpp + ../${PROJECT_NAME}/io/NodeAirTAudio.cpp + ../${PROJECT_NAME}/io/NodePortAudio.cpp + ../${PROJECT_NAME}/io/NodeAEC.cpp + ../${PROJECT_NAME}/io/NodeMuxer.cpp + ../${PROJECT_NAME}/io/Manager.cpp +) + +set(CMAKE_CXX_FLAGS "-std=c++11 -DDEBUG_LEVEL=3 -DDEBUG=1 -D__CPP_VERSION__=2011") + +add_definitions(-D__AIRTAUDIO_INFERFACE__) + +## Specify libraries to link a library or executable target against +target_link_libraries(${PROJECT_NAME} + ${catkin_LIBRARIES} +) + +############# +## Install ## +############# + +## Mark executables and/or libraries for installation +install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +) + +## Mark cpp header files for installation +install(DIRECTORY ../${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" +) diff --git a/catkin/package.xml b/catkin/package.xml new file mode 100644 index 0000000..abd521e --- /dev/null +++ b/catkin/package.xml @@ -0,0 +1,17 @@ + + + river + 0.3.0 + Ewol River Intrerface : Is to multiple acces on different format on Audio IO + Edouard DUPIN + Apache-2.0 + drain + audio + ejson + airtaudio + catkin + drain + audio + ejson + airtaudio + diff --git a/test/catkin/CMakeLists.txt b/test/catkin/CMakeLists.txt new file mode 100644 index 0000000..001b4b5 --- /dev/null +++ b/test/catkin/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 2.8.3) +project(river_test) + +set(CMAKE_VERBOSE_MAKEFILE ON) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + river + ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## 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() + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( + .. + ${catkin_INCLUDE_DIRS} +) + +## Declare a cpp library +catkin_add_gtest(${PROJECT_NAME} + ../debug.cpp + ../main.cpp +) + +set(CMAKE_CXX_FLAGS "-std=c++11 -DDEBUG_LEVEL=3 -DDEBUG=1 -D__CPP_VERSION__=2011") + +## Specify libraries to link a library or executable target against +target_link_libraries(${PROJECT_NAME} + ${catkin_LIBRARIES} +) + +############# +## Install ## +############# + +## Mark executables and/or libraries for installation +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +install(DIRECTORY ../../data/ + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} + FILES_MATCHING PATTERN "*.json") + diff --git a/test/catkin/package.xml b/test/catkin/package.xml new file mode 100644 index 0000000..57147a0 --- /dev/null +++ b/test/catkin/package.xml @@ -0,0 +1,13 @@ + + + river_test + 0.3.0 + Ewol River test + Edouard DUPIN + Apache-2.0 + gtest + river + catkin + river + gtest +