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