|
|
|
|
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_OBJECTS:project_shared>)
|
|
|
|
|
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_OBJECTS:project_shared>)
|
|
|
|
|
#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)
|
|
|
|
|
|
|
|
|
|
|