From cc7583e03669fcd5d2585c8ab539f7308460ced8 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 27 Jun 2017 22:28:13 -0400 Subject: externals: Add CPR as a submodule. --- externals/CMakeLists.txt | 6 ++++++ externals/cpr | 1 + 2 files changed, 7 insertions(+) create mode 160000 externals/cpr (limited to 'externals') diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index cc47166fc..ce10bda5e 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -4,6 +4,12 @@ add_library(catch-single-include INTERFACE) target_include_directories(catch-single-include INTERFACE catch/single_include) +# CPR +option(BUILD_TESTING OFF) +option(BUILD_CPR_TESTS OFF) +add_subdirectory(cpr) +target_include_directories(cpr INTERFACE ./cpr/include) + # Crypto++ add_subdirectory(cryptopp) diff --git a/externals/cpr b/externals/cpr new file mode 160000 index 000000000..b5758fbc8 --- /dev/null +++ b/externals/cpr @@ -0,0 +1 @@ +Subproject commit b5758fbc88021437f968fe5174f121b8b92f5d5c -- cgit v1.2.3 From 0f1ae781d08bc3edd360598938aac58f7ef1dc1a Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 9 Jul 2017 13:22:24 -0400 Subject: externals: Add JSON as a submodule. --- .gitmodules | 3 +++ externals/CMakeLists.txt | 4 ++++ externals/json | 1 + 3 files changed, 8 insertions(+) create mode 160000 externals/json (limited to 'externals') diff --git a/.gitmodules b/.gitmodules index 493a0ad8f..45ff650ef 100644 --- a/.gitmodules +++ b/.gitmodules @@ -31,3 +31,6 @@ [submodule "cpr"] path = externals/cpr url = https://github.com/whoshuu/cpr.git +[submodule "json"] + path = externals/json + url = https://github.com/nlohmann/json.git diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index ce10bda5e..11c5d8e7d 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -34,6 +34,10 @@ add_subdirectory(glad) # inih add_subdirectory(inih) +# JSON +add_library(json-headers INTERFACE) +target_include_directories(json-headers INTERFACE ./json/src) + # MicroProfile add_library(microprofile INTERFACE) target_include_directories(microprofile INTERFACE ./microprofile) diff --git a/externals/json b/externals/json new file mode 160000 index 000000000..d3496347f --- /dev/null +++ b/externals/json @@ -0,0 +1 @@ +Subproject commit d3496347fcd1382896fca3aaf78a0d803c2f52ec -- cgit v1.2.3 From 33b012e86b846bbba1a42193cbaf34fa16b8fb93 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 9 Jul 2017 17:52:18 -0400 Subject: web_service: Add CMake flag to enable. --- CMakeLists.txt | 5 +++++ externals/CMakeLists.txt | 22 ++++++++++++---------- src/CMakeLists.txt | 4 +++- src/core/CMakeLists.txt | 5 ++++- src/core/telemetry_session.cpp | 10 ++++++++-- 5 files changed, 32 insertions(+), 14 deletions(-) (limited to 'externals') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4668d4bea..ad73cf495 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,8 @@ option(CITRA_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" OFF) option(ENABLE_QT "Enable the Qt frontend" ON) option(CITRA_USE_BUNDLED_QT "Download bundled Qt binaries" OFF) +option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON) + if(NOT EXISTS ${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit) message(STATUS "Copying pre-commit hook") file(COPY hooks/pre-commit @@ -223,6 +225,9 @@ if (ENABLE_QT) find_package(Qt5 REQUIRED COMPONENTS Widgets OpenGL ${QT_PREFIX_HINT}) endif() +if (ENABLE_WEB_SERVICE) + add_definitions(-DENABLE_WEB_SERVICE) +endif() # Platform-specific library requirements # ====================================== diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 11c5d8e7d..ccc7f13b6 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -4,12 +4,6 @@ add_library(catch-single-include INTERFACE) target_include_directories(catch-single-include INTERFACE catch/single_include) -# CPR -option(BUILD_TESTING OFF) -option(BUILD_CPR_TESTS OFF) -add_subdirectory(cpr) -target_include_directories(cpr INTERFACE ./cpr/include) - # Crypto++ add_subdirectory(cryptopp) @@ -34,10 +28,6 @@ add_subdirectory(glad) # inih add_subdirectory(inih) -# JSON -add_library(json-headers INTERFACE) -target_include_directories(json-headers INTERFACE ./json/src) - # MicroProfile add_library(microprofile INTERFACE) target_include_directories(microprofile INTERFACE ./microprofile) @@ -62,3 +52,15 @@ endif() # ENet add_subdirectory(enet) target_include_directories(enet INTERFACE ./enet/include) + +if (ENABLE_WEB_SERVICE) + # CPR + option(BUILD_TESTING OFF) + option(BUILD_CPR_TESTS OFF) + add_subdirectory(cpr) + target_include_directories(cpr INTERFACE ./cpr/include) + + # JSON + add_library(json-headers INTERFACE) + target_include_directories(json-headers INTERFACE ./json/src) +endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f855a5195..e11940f59 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,4 +14,6 @@ endif() if (ENABLE_QT) add_subdirectory(citra_qt) endif() -add_subdirectory(web_service) +if (ENABLE_WEB_SERVICE) + add_subdirectory(web_service) +endif() diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 72233877b..b80efe192 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -386,5 +386,8 @@ set(HEADERS create_directory_groups(${SRCS} ${HEADERS}) add_library(core STATIC ${SRCS} ${HEADERS}) -target_link_libraries(core PUBLIC common PRIVATE audio_core video_core web_service) +target_link_libraries(core PUBLIC common PRIVATE audio_core video_core) target_link_libraries(core PUBLIC Boost::boost PRIVATE cryptopp dynarmic fmt) +if (ENABLE_WEB_SERVICE) + target_link_libraries(core PUBLIC json-headers web_service) +endif() diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index 1ba0a698d..70eff4340 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp @@ -6,13 +6,19 @@ #include "common/scm_rev.h" #include "core/telemetry_session.h" -#include "web_services/telemetry_json.h" + +#ifdef ENABLE_WEB_SERVICE +#include "web_service/telemetry_json.h" +#endif namespace Core { TelemetrySession::TelemetrySession() { +#ifdef ENABLE_WEB_SERVICE backend = std::make_unique(); - +#else + backend = std::make_unique(); +#endif // Log one-time session start information const auto duration{std::chrono::steady_clock::now().time_since_epoch()}; const auto start_time{std::chrono::duration_cast(duration).count()}; -- cgit v1.2.3