From 9c4b7ef5947c2bf972fb0c5458b721d6615b5bb1 Mon Sep 17 00:00:00 2001
From: ElXreno <elxreno@gmail.com>
Date: Thu, 2 Jan 2020 12:06:05 +0300
Subject: [PATCH 3/3] Unbundle json-parser
Signed-off-by: ElXreno <elxreno@gmail.com>
---
CMakeLists.txt | 17 ++++++-----------
src/engine/client/http.cpp | 2 +-
src/engine/client/serverbrowser.cpp | 2 +-
src/engine/client/serverbrowser.h | 2 +-
src/engine/client/updater.cpp | 2 +-
src/engine/shared/json.h | 2 +-
6 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f1a042c92..b3e8985ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -375,6 +375,8 @@ else()
set(WEBSOCKETS_INCLUDE_DIRS)
endif()
+pkg_check_modules(JSONPARSER REQUIRED json-parser)
+
if(TARGET_OS AND TARGET_OS STREQUAL "mac")
find_program(CMAKE_OTOOL otool)
@@ -453,6 +455,8 @@ if(WEBSOCKETS)
show_dependency_status("Websockets" WEBSOCKETS)
endif()
+show_dependency_status("json-parser" JSONPARSER)
+
if(CLIENT AND NOT(CURL_FOUND))
message(SEND_ERROR "You must install Curl to compile DDNet")
endif()
@@ -584,16 +588,6 @@ if(NOT(GTEST_FOUND) AND DOWNLOAD_GTEST)
endif()
endif()
-########################################################################
-# DEPENDENCY COMPILATION
-########################################################################
-
-set_src(DEP_JSON_SRC GLOB src/engine/external/json-parser json.c json.h)
-add_library(json EXCLUDE_FROM_ALL OBJECT ${DEP_JSON_SRC})
-
-list(APPEND TARGETS_DEP json)
-set(DEP_JSON $<TARGET_OBJECTS:json>)
-
########################################################################
# DATA
########################################################################
@@ -1583,11 +1577,12 @@ set(GAME_GENERATED_SHARED
src/game/generated/protocolglue.h
)
-set(DEPS ${DEP_JSON} ${ZLIB_DEP})
+set(DEPS ${ZLIB_DEP})
# Libraries
set(LIBS
${CRYPTO_LIBRARIES}
+ ${JSONPARSER_LIBRARIES}
${WEBSOCKETS_LIBRARIES}
${ZLIB_LIBRARIES}
${PLATFORM_LIBS}
diff --git a/src/engine/client/http.cpp b/src/engine/client/http.cpp
index be8cdc5d5..704a0d6c4 100644
--- a/src/engine/client/http.cpp
+++ b/src/engine/client/http.cpp
@@ -2,7 +2,7 @@
#include <base/system.h>
#include <engine/engine.h>
-#include <engine/external/json-parser/json.h>
+#include <json-parser/json.h>
#include <engine/shared/config.h>
#include <engine/storage.h>
#include <game/version.h>
diff --git a/src/engine/client/serverbrowser.cpp b/src/engine/client/serverbrowser.cpp
index 793d5bce7..c1ddb100f 100644
--- a/src/engine/client/serverbrowser.cpp
+++ b/src/engine/client/serverbrowser.cpp
@@ -20,7 +20,7 @@
#include <mastersrv/mastersrv.h>
-#include <engine/external/json-parser/json.h>
+#include <json-parser/json.h>
#include "serverbrowser.h"
class SortWrap
diff --git a/src/engine/client/serverbrowser.h b/src/engine/client/serverbrowser.h
index ec35a6e75..ed59a1dbf 100644
--- a/src/engine/client/serverbrowser.h
+++ b/src/engine/client/serverbrowser.h
@@ -4,11 +4,11 @@
#define ENGINE_CLIENT_SERVERBROWSER_H
#include <engine/config.h>
-#include <engine/external/json-parser/json.h>
#include <engine/masterserver.h>
#include <engine/serverbrowser.h>
#include <engine/shared/config.h>
#include <engine/shared/memheap.h>
+#include <json-parser/json.h>
class CServerBrowser : public IServerBrowser
{
diff --git a/src/engine/client/updater.cpp b/src/engine/client/updater.cpp
index 0004c85bd..56cd89c9f 100644
--- a/src/engine/client/updater.cpp
+++ b/src/engine/client/updater.cpp
@@ -2,7 +2,7 @@
#include <base/system.h>
#include <engine/client.h>
#include <engine/engine.h>
-#include <engine/external/json-parser/json.h>
+#include <json-parser/json.h>
#include <engine/shared/json.h>
#include <engine/storage.h>
#include <game/version.h>
diff --git a/src/engine/shared/json.h b/src/engine/shared/json.h
index 8a09b2c1a..8fd558f62 100644
--- a/src/engine/shared/json.h
+++ b/src/engine/shared/json.h
@@ -1,7 +1,7 @@
#ifndef ENGINE_SHARED_JSON_H
#define ENGINE_SHARED_JSON_H
-#include <engine/external/json-parser/json.h>
+#include <json-parser/json.h>
const struct _json_value *json_object_get(const json_value *object, const char *index);
const struct _json_value *json_array_get(const json_value *array, int index);
--
2.28.0