cmake_minimum_required (VERSION 3.0.2) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/share/cmake_modules/") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") set(project_name toREST) project (${project_name}) message(${CMAKE_MODULE_PATH}) find_package(Boost COMPONENTS regex system thread coroutine context filesystem date_time REQUIRED) find_package(LibTorrent REQUIRED) find_package(OpenSSL REQUIRED) set(BT_INCLUDE_DIR ./include) set(LIB_INCLUDE_DIR ./lib) file(GLOB source_files "./src/*.cpp") include_directories( ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${LIBTORRENT_INCLUDE_DIR} ${BT_INCLUDE_DIR} ${LIB_INCLUDE_DIR} ) set(global_libraries ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${LIBTORRENT_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ) add_library(project_shared OBJECT ${source_files}) # add_executable(${project_name} ./src/main.cxx $) # target_link_libraries(${project_name} ${global_libraries}) enable_testing() file(GLOB test_files "./tests/*.cpp") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -Wall -fprofile-arcs -ftest-coverage ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -Wall -fprofile-arcs -ftest-coverage ") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage ") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage ") set(test test${project_name}) add_executable(${test} ${test_files} $) target_include_directories(${test} PUBLIC ../lib/Catch) target_link_libraries(${test} ${global_libraries}) add_test(${test} ${test}) find_package(Doxygen) if(DOXYGEN_FOUND) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/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}/../include COMMENT "Generating API documentation with Doxygen to ${CMAKE_CURRENT_BINARY_DIR}" VERBATIM ) endif(DOXYGEN_FOUND)