summarylogtreecommitdiffstats
path: root/50-system-rapidjson.patch
diff options
context:
space:
mode:
Diffstat (limited to '50-system-rapidjson.patch')
-rw-r--r--50-system-rapidjson.patch152
1 files changed, 152 insertions, 0 deletions
diff --git a/50-system-rapidjson.patch b/50-system-rapidjson.patch
new file mode 100644
index 000000000000..8706236bba5b
--- /dev/null
+++ b/50-system-rapidjson.patch
@@ -0,0 +1,152 @@
+Description: Patch to be able to use Debian's rapidjson
+ This patch adds the CMake-snippet and the necessary changes to be able to
+ compile with the pacakged rapidjson.
+Author: Tobias Frost <tobi@debian.org>
+Forwarded: https://github.com/RobertBeckebans/RBDOOM-3-BFG/pull/351
+Last-Update: 2016-10-11
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/neo/CMakeLists.txt
++++ b/neo/CMakeLists.txt
+@@ -41,6 +41,9 @@
+
+ option(USE_SYSTEM_LIBGLEW
+ "Use the system libglew instead of the bundled one" OFF)
++
++option(USE_SYSTEM_RAPIDJSON
++ "Use the system rapidjson instead of the bundled one" OFF)
+
+ set(CPU_TYPE "" CACHE STRING "When set, passes this string as CPU-ID which will be embedded into the binary.")
+
+@@ -273,6 +276,17 @@
+ add_definitions(-DGLEW_STATIC)
+ endif (GLEW_FOUND)
+
++if(USE_SYSTEM_RAPIDJSON)
++find_package(rapidjson REQUIRED)
++endif(USE_SYSTEM_RAPIDJSON)
++
++if (RAPIDJSON_FOUND)
++ include_directories("${RAPIDJSON_INCLUDE_DIRS}")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RAPIDJSON_CXX_FLAGS}")
++else (RAPIDJSON_FOUND)
++ include_directories("libs/rapidjson/include")
++endif (RAPIDJSON_FOUND)
++
+ add_subdirectory(idlib)
+
+ file(GLOB AAS_INCLUDES aas/*.h)
+--- /dev/null
++++ b/neo/cmake/Findrapidjson.cmake
+@@ -0,0 +1,97 @@
++# Copyright (c) 2011 Milo Yip (miloyip@gmail.com)
++# Copyright (c) 2013 Rafal Jeczalik (rjeczalik@gmail.com)
++# Distributed under the MIT License (see license.txt file)
++
++# -----------------------------------------------------------------------------------
++#
++# Finds the rapidjson library
++#
++# -----------------------------------------------------------------------------------
++#
++# Variables used by this module, they can change the default behaviour.
++# Those variables need to be either set before calling find_package
++# or exported as environment variables before running CMake:
++#
++# RAPIDJSON_INCLUDEDIR - Set custom include path, useful when rapidjson headers are
++# outside system paths
++# RAPIDJSON_USE_SSE2 - Configure rapidjson to take advantage of SSE2 capabilities
++# RAPIDJSON_USE_SSE42 - Configure rapidjson to take advantage of SSE4.2 capabilities
++#
++# -----------------------------------------------------------------------------------
++#
++# Variables defined by this module:
++#
++# RAPIDJSON_FOUND - True if rapidjson was found
++# RAPIDJSON_INCLUDE_DIRS - Path to rapidjson include directory
++# RAPIDJSON_CXX_FLAGS - Extra C++ flags required for compilation with rapidjson
++#
++# -----------------------------------------------------------------------------------
++#
++# Example usage:
++#
++# set(RAPIDJSON_USE_SSE2 ON)
++# set(RAPIDJSON_INCLUDEDIR "/opt/github.com/rjeczalik/rapidjson/include")
++#
++# find_package(rapidjson REQUIRED)
++#
++# include_directories("${RAPIDJSON_INCLUDE_DIRS}")
++# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RAPIDJSON_CXX_FLAGS}")
++# add_executable(foo foo.cc)
++#
++# -----------------------------------------------------------------------------------
++
++foreach(opt RAPIDJSON_INCLUDEDIR RAPIDJSON_USE_SSE2 RAPIDJSON_USE_SSE42)
++ if(${opt} AND DEFINED ENV{${opt}} AND NOT ${opt} STREQUAL "$ENV{${opt}}")
++ message(WARNING "Conflicting ${opt} values: ignoring environment variable and using CMake cache entry.")
++ elseif(DEFINED ENV{${opt}} AND NOT ${opt})
++ set(${opt} "$ENV{${opt}}")
++ endif()
++endforeach()
++
++find_path(
++ RAPIDJSON_INCLUDE_DIRS
++ NAMES rapidjson/rapidjson.h
++ PATHS ${RAPIDJSON_INCLUDEDIR}
++ DOC "Include directory for the rapidjson library."
++)
++
++mark_as_advanced(RAPIDJSON_INCLUDE_DIRS)
++
++if(RAPIDJSON_INCLUDE_DIRS)
++ set(RAPIDJSON_FOUND TRUE)
++endif()
++
++mark_as_advanced(RAPIDJSON_FOUND)
++
++if(RAPIDJSON_USE_SSE42)
++ set(RAPIDJSON_CXX_FLAGS "-DRAPIDJSON_SSE42")
++ if(MSVC)
++ set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} /arch:SSE4.2")
++ else()
++ set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} -msse4.2")
++ endif()
++else()
++ if(RAPIDJSON_USE_SSE2)
++ set(RAPIDJSON_CXX_FLAGS "-DRAPIDJSON_SSE2")
++ if(MSVC)
++ set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} /arch:SSE2")
++ else()
++ set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} -msse2")
++ endif()
++ endif()
++endif()
++
++mark_as_advanced(RAPIDJSON_CXX_FLAGS)
++
++if(RAPIDJSON_FOUND)
++ if(NOT rapidjson_FIND_QUIETLY)
++ message(STATUS "Found rapidjson header files in ${RAPIDJSON_INCLUDE_DIRS}")
++ if(DEFINED RAPIDJSON_CXX_FLAGS)
++ message(STATUS "Found rapidjson C++ extra compilation flags: ${RAPIDJSON_CXX_FLAGS}")
++ endif()
++ endif()
++elseif(rapidjson_FIND_REQUIRED)
++ message(FATAL_ERROR "Could not find rapidjson")
++else()
++ message(STATUS "Optional package rapidjson was not found")
++endif()
+--- a/neo/idlib/precompiled.h
++++ b/neo/idlib/precompiled.h
+@@ -105,7 +105,10 @@
+ #include "../ui/UserInterface.h"
+
+ // RB: required for SWF extensions
+-#include "../libs/rapidjson/include/rapidjson/document.h"
++//#include "../libs/rapidjson/include/rapidjson/document.h"
++#include "rapidjson/document.h"
++
++
+
+ #include "../swf/SWF.h"
+