105 lines
2.3 KiB
CMake
105 lines
2.3 KiB
CMake
cmake_minimum_required(VERSION 2.8.3)
|
|
project(hos_cosgi_devicerepository)
|
|
|
|
## Find catkin macros and libraries
|
|
find_package(catkin REQUIRED COMPONENTS
|
|
hos_celix
|
|
hos_core_msgs
|
|
hos_cosgi_core
|
|
hos_deps
|
|
hos_cosgi_webserver
|
|
hos_cpp_utils
|
|
roscpp
|
|
)
|
|
|
|
## System dependencies are found with CMake's conventions
|
|
find_package(APR REQUIRED)
|
|
find_package(CELIX REQUIRED)
|
|
find_package(Boost REQUIRED)
|
|
find_package(libvariant REQUIRED)
|
|
find_package(Poco REQUIRED COMPONENTS Net NetSSL)
|
|
|
|
|
|
###################################
|
|
## catkin specific configuration ##
|
|
###################################
|
|
|
|
catkin_package(
|
|
INCLUDE_DIRS include/${PROJECT_NAME}/
|
|
CATKIN_DEPENDS hos_celix hos_core_msgs hos_cosgi_core roscpp hos_cpp_utils
|
|
)
|
|
|
|
|
|
###########
|
|
## Build ##
|
|
###########
|
|
|
|
add_definitions(
|
|
-std=c++11
|
|
)
|
|
|
|
include_directories(
|
|
include/${PROJECT_NAME}/
|
|
${catkin_INCLUDE_DIRS}
|
|
${APR_INCLUDE_DIR}
|
|
${APR_INCLUDE_DIR}/apr-1.0
|
|
${libvariant_INCLUDE_DIR}
|
|
${Poco_INCLUDE_DIRS}
|
|
)
|
|
|
|
set(BUNDLE_SYMBOLICNAME "hos.hos_devicerepository")
|
|
set(BUNDLE_VERSION "1.0.0")
|
|
set(BUNDLE_NAME "hos_devicerepository")
|
|
|
|
bundle(hos_cosgi_devicerepository
|
|
SOURCES
|
|
${PROJECT_SOURCE_DIR}/src/BundleActivator
|
|
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/devicerepository/DeviceRepositoryServiceImpl
|
|
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/webresource/DeviceRepoHandler
|
|
)
|
|
|
|
target_link_libraries(hos_cosgi_devicerepository
|
|
${catkin_LIBRARIES}
|
|
${APR_LIBRARIES}
|
|
${libvariant_LIBRARY}
|
|
${Poco_LIBRARIES}
|
|
)
|
|
|
|
message("Poco_LIBRARIES: ${Poco_LIBRARIES}")
|
|
|
|
|
|
#############
|
|
## Install ##
|
|
#############
|
|
|
|
## Mark cpp header files for installation
|
|
install(DIRECTORY include/${PROJECT_NAME}/
|
|
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
|
FILES_MATCHING PATTERN "*.h"
|
|
)
|
|
|
|
install(FILES
|
|
${CMAKE_BINARY_DIR}/hos_cosgi_devicerepository.zip
|
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/bundles
|
|
)
|
|
|
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc
|
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
|
OPTIONAL
|
|
)
|
|
|
|
|
|
###################
|
|
## Documentation ##
|
|
###################
|
|
|
|
find_package(Doxygen)
|
|
if(DOXYGEN_FOUND)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
|
|
add_custom_target(doc
|
|
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
endif(DOXYGEN_FOUND)
|
|
|