Files
homeos_ws/src/hos_cosgi_webserver/CMakeLists.txt
T
2015-05-29 15:35:53 +02:00

108 lines
2.5 KiB
CMake

cmake_minimum_required(VERSION 2.8.3)
project(hos_cosgi_webserver)
## Find catkin macros and libraries
find_package(catkin REQUIRED COMPONENTS
hos_celix
hos_cosgi_core
hos_cpp_utils
hos_deps
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_cosgi_core hos_cpp_utils roscpp
)
###########
## Build ##
###########
add_definitions(
-std=c++11
-DPH7_ENABLE_THREADS
-DPH7_ENABLE_MATH_FUNC
)
include_directories(
include/${PROJECT_NAME}/
${catkin_INCLUDE_DIRS}
${APR_INCLUDE_DIR}
${APR_INCLUDE_DIR}/apr-1.0
${libvariant_INCLUDE_DIRS}
${Poco_INCLUDE_DIRS}
)
set(BUNDLE_SYMBOLICNAME "hos.hos_webserver")
set(BUNDLE_VERSION "1.0.0")
set(BUNDLE_NAME "hos_webserver")
bundle(hos_cosgi_webserver
SOURCES
${PROJECT_SOURCE_DIR}/src/BundleActivator
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/webserver/WebServerServiceImpl
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/webserver/webresource/DirectoryResource
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/webserver/webresource/SchemaResource
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/webserver/webresource/WebSocketTest
${PROJECT_SOURCE_DIR}/src/hos/cosgi/service/webserver/ph7/ph7
DIRECTORIES
${PROJECT_SOURCE_DIR}/certs
)
target_link_libraries(hos_cosgi_webserver
${catkin_LIBRARIES}
${APR_LIBRARIES}
${libvariant_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_webserver.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)