diff --git a/toREST/CMakeLists.txt b/toREST/CMakeLists.txt index 4f74c38..f7068c2 100644 --- a/toREST/CMakeLists.txt +++ b/toREST/CMakeLists.txt @@ -1,33 +1,24 @@ -cmake_minimum_required (VERSION 3.0.2) +cmake_minimum_required (VERSION 3.0.0) 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}) +find_program(CCACHE_FOUND ccache) +if(CCACHE_FOUND) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) + set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) +else() + message(STATUS "ccache was not found.") +endif(CCACHE_FOUND) + +set(CMAKE_CXX_STANDARD 23) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wunused-parameter -O3") +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g") +project(toREST VERSION 0.0.1) 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) - -file(GLOB source_files "./src/*.cpp") - -include_directories( - ${Boost_INCLUDE_DIRS} - ${OPENSSL_INCLUDE_DIR} - ${LIBTORRENT_INCLUDE_DIR} - ${BT_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}) +set(BUILD_TESTING OFF CACHE INTERNAL "") +add_subdirectory("${CMAKE_SOURCE_DIR}/lib/Simple-Web-Server") +add_subdirectory("${CMAKE_SOURCE_DIR}/lib/Simple-WebSocket-Server") +set(JSON_BuildTests OFF CACHE INTERNAL "") +add_subdirectory("${CMAKE_SOURCE_DIR}/lib/json") +add_subdirectory("${CMAKE_SOURCE_DIR}/src") diff --git a/toREST/include/http.hpp b/toREST/include/http.hpp index 21b7681..42c5d78 100644 --- a/toREST/include/http.hpp +++ b/toREST/include/http.hpp @@ -1,7 +1,5 @@ -#ifndef _TR_HTTP_HPP_ -#define _TR_HTTP_HPP_ - -#include +#pragma once +#include #include namespace http { @@ -54,5 +52,3 @@ protected: code status_code; }; }; - -#endif diff --git a/toREST/include/util.hpp b/toREST/include/util.hpp index ceef9f5..cf1ed45 100644 --- a/toREST/include/util.hpp +++ b/toREST/include/util.hpp @@ -1,7 +1,7 @@ #ifndef _TR_UTIL_HPP_ #define _TR_UTIL_HPP_ -#include +#include #include #include diff --git a/toREST/lib/json b/toREST/lib/json index 2cdf375..6aebf09 160000 --- a/toREST/lib/json +++ b/toREST/lib/json @@ -1 +1 @@ -Subproject commit 2cdf3757e097af6728cd4e1ffd8c34d3215d9811 +Subproject commit 6aebf09233951e4ce30a63919186a70b2b195756 diff --git a/toREST/src/CMakeLists.txt b/toREST/src/CMakeLists.txt new file mode 100644 index 0000000..ac3bf11 --- /dev/null +++ b/toREST/src/CMakeLists.txt @@ -0,0 +1,24 @@ +add_executable(toREST + main.cpp + http.cpp +) + +target_link_libraries(toREST + PRIVATE + nlohmann_json::nlohmann_json + PUBLIC + stdc++fs + simple-web-server + simple-websocket-server + ${Boost_LIBRARIES} + ${LIBTORRENT_LIBRARY} + ${OPENSSL_CRYPTO_LIBRARY}) + + +target_include_directories(toREST PRIVATE + ${Boost_INCLUDE_DIRS} + ${OPENSSL_INCLUDE_DIR} + ${LIBTORRENT_INCLUDE_DIR} + "${CMAKE_SOURCE_DIR}/include" +) + diff --git a/toREST/src/main.cxx b/toREST/src/main.cpp similarity index 100% rename from toREST/src/main.cxx rename to toREST/src/main.cpp