cmake_minimum_required(VERSION 2.8.3)
project(or_libs)
find_package(catkin REQUIRED COMPONENTS
	message_generation
	roscpp_serialization
	roscpp
	cv_bridge
	robbie_architecture
	cmake_modules)


set(CMAKE_BUILD_TYPE Release)

#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)

# find and activate OpenMP multicore processing standard
find_package(OpenMP)
if (OPENMP_FOUND)
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    message(STATUS "Found OpenMP")
endif()

catkin_package(
    INCLUDE_DIRS include
    CATKIN_DEPENDS message_runtime std_msgs sensor_msgs roscpp_serialization 
    LIBRARIES ConnectedComponentAnalyzer KeyPointExtraction ObjectRecognition ParallelSurf
)


#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})

##############################################################################
# Required 3rd party
##############################################################################
include_directories(
	${catkin_INCLUDE_DIRS}
	include
)

add_subdirectory(src/ConnectedComponentAnalyzer)
add_subdirectory(src/KeyPointExtraction)
add_subdirectory(src/ObjectRecognition)
add_subdirectory(src/ParallelSurf)

install(DIRECTORY include/or_libs/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
