3
0
Fork 0
forked from suyu/suyu

web_service: Add CMake flag to enable.

This commit is contained in:
bunnei 2017-07-09 17:52:18 -04:00
parent 8af3ebb149
commit 33b012e86b
5 changed files with 32 additions and 14 deletions

View file

@ -11,6 +11,8 @@ option(CITRA_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" OFF)
option(ENABLE_QT "Enable the Qt frontend" ON) option(ENABLE_QT "Enable the Qt frontend" ON)
option(CITRA_USE_BUNDLED_QT "Download bundled Qt binaries" OFF) 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) if(NOT EXISTS ${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit)
message(STATUS "Copying pre-commit hook") message(STATUS "Copying pre-commit hook")
file(COPY hooks/pre-commit file(COPY hooks/pre-commit
@ -223,6 +225,9 @@ if (ENABLE_QT)
find_package(Qt5 REQUIRED COMPONENTS Widgets OpenGL ${QT_PREFIX_HINT}) find_package(Qt5 REQUIRED COMPONENTS Widgets OpenGL ${QT_PREFIX_HINT})
endif() endif()
if (ENABLE_WEB_SERVICE)
add_definitions(-DENABLE_WEB_SERVICE)
endif()
# Platform-specific library requirements # Platform-specific library requirements
# ====================================== # ======================================

View file

@ -4,12 +4,6 @@
add_library(catch-single-include INTERFACE) add_library(catch-single-include INTERFACE)
target_include_directories(catch-single-include INTERFACE catch/single_include) 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++ # Crypto++
add_subdirectory(cryptopp) add_subdirectory(cryptopp)
@ -34,10 +28,6 @@ add_subdirectory(glad)
# inih # inih
add_subdirectory(inih) add_subdirectory(inih)
# JSON
add_library(json-headers INTERFACE)
target_include_directories(json-headers INTERFACE ./json/src)
# MicroProfile # MicroProfile
add_library(microprofile INTERFACE) add_library(microprofile INTERFACE)
target_include_directories(microprofile INTERFACE ./microprofile) target_include_directories(microprofile INTERFACE ./microprofile)
@ -62,3 +52,15 @@ endif()
# ENet # ENet
add_subdirectory(enet) add_subdirectory(enet)
target_include_directories(enet INTERFACE ./enet/include) 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()

View file

@ -14,4 +14,6 @@ endif()
if (ENABLE_QT) if (ENABLE_QT)
add_subdirectory(citra_qt) add_subdirectory(citra_qt)
endif() endif()
if (ENABLE_WEB_SERVICE)
add_subdirectory(web_service) add_subdirectory(web_service)
endif()

View file

@ -386,5 +386,8 @@ set(HEADERS
create_directory_groups(${SRCS} ${HEADERS}) create_directory_groups(${SRCS} ${HEADERS})
add_library(core STATIC ${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) 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()

View file

@ -6,13 +6,19 @@
#include "common/scm_rev.h" #include "common/scm_rev.h"
#include "core/telemetry_session.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 { namespace Core {
TelemetrySession::TelemetrySession() { TelemetrySession::TelemetrySession() {
#ifdef ENABLE_WEB_SERVICE
backend = std::make_unique<WebService::TelemetryJson>(); backend = std::make_unique<WebService::TelemetryJson>();
#else
backend = std::make_unique<Telemetry::NullVisitor>();
#endif
// Log one-time session start information // Log one-time session start information
const auto duration{std::chrono::steady_clock::now().time_since_epoch()}; const auto duration{std::chrono::steady_clock::now().time_since_epoch()};
const auto start_time{std::chrono::duration_cast<std::chrono::microseconds>(duration).count()}; const auto start_time{std::chrono::duration_cast<std::chrono::microseconds>(duration).count()};