File system-libraries.patch of Package warsow

diff -Nur warsow_21_sdk/source/source/angelwrap/CMakeLists.txt new/source/source/angelwrap/CMakeLists.txt
--- warsow_21_sdk/source/source/angelwrap/CMakeLists.txt	2016-03-26 20:22:10.000000000 +0100
+++ new/source/source/angelwrap/CMakeLists.txt	2016-08-16 21:55:00.247515029 +0200
@@ -26,6 +26,6 @@
 qf_set_output_dir(angelwrap libs)
 
 # TODO: Remove this hack from here
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
+if (NOT SYSTEM_ANGELSCRIPT AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW))
     add_dependencies(angelwrap ${ANGELSCRIPT})
 endif()
diff -Nur warsow_21_sdk/source/source/CMakeLists.txt new/source/source/CMakeLists.txt
--- warsow_21_sdk/source/source/CMakeLists.txt	2016-03-26 20:22:10.000000000 +0100
+++ new/source/source/CMakeLists.txt	2016-08-17 00:30:20.602917045 +0200
@@ -43,6 +43,8 @@
 
 option(USE_SDL2 "Build using SDL2" OFF)
 option(GAME_MODULES_ONLY "Only build game modules" OFF)
+option(SYSTEM_ANGELSCRIPT "Use systems angelscript library" OFF)
+option(SYSTEM_LIBROCKET   "Use systems libRocket" OFF)
 
 # Windows specific settings
 if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
@@ -183,7 +185,7 @@
     endif()
 endif()
 
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
+if ((${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW) AND NOT SYSTEM_ANGELSCRIPT)
     # On Linux we build angelscript from source
     set(ANGELSCRIPT_DIR ${CMAKE_HOME_DIRECTORY}/../libsrcs/angelscript/sdk/angelscript)
     if (MINGW)
@@ -215,10 +217,14 @@
 	add_dependencies(tar_gz ${QFUSION_CLIENT_NAME} game ${QFUSION_SERVER_NAME} ${QFUSION_TVSERVER_NAME})
 endif()
 
-# We build libRocket from source
-set(LIBROCKET_DIR ${CMAKE_HOME_DIRECTORY}/../libsrcs/libRocket/libRocket)
-set(LIBROCKET_INCLUDE_DIR ${LIBROCKET_DIR}/Include)
-set(LIBROCKET_SOURCE_DIR ${LIBROCKET_DIR}/Source)
+if (NOT SYSTEM_LIBROCKET)
+    # We build libRocket from source
+    set(LIBROCKET_DIR ${CMAKE_HOME_DIRECTORY}/../libsrcs/libRocket/libRocket)
+    set(LIBROCKET_INCLUDE_DIR ${LIBROCKET_DIR}/Include)
+    set(LIBROCKET_SOURCE_DIR ${LIBROCKET_DIR}/Source)
+else()
+    find_package(Rocket REQUIRED)
+endif()
 
 if (NOT GAME_MODULES_ONLY)
     if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
diff -Nur warsow_21_sdk/source/source/ui/CMakeLists.txt new/source/source/ui/CMakeLists.txt
--- warsow_21_sdk/source/source/ui/CMakeLists.txt	2016-03-26 20:22:10.000000000 +0100
+++ new/source/source/ui/CMakeLists.txt	2016-08-17 00:30:42.275209019 +0200
@@ -52,9 +52,17 @@
 include_directories(${ANGELSCRIPT_INCLUDE_DIR} ${LIBROCKET_INCLUDE_DIR})
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) # for ui_precompiled.h
 
-add_library(ui SHARED ${ROCKET_ROOT_HEADERS} ${ROCKET_CORE_HEADERS} ${ROCKET_CONTROLS_HEADERS} ${ROCKET_CORE_SOURCES} ${ROCKET_CONTROLS_SOURCES} ${UI_SOURCES} ${UI_HEADERS})
-target_link_libraries(ui PRIVATE)
+if(NOT SYSTEM_LIBROCKET)
+    add_library(rocket OBJECT ${ROCKET_ROOT_HEADERS} ${ROCKET_CORE_HEADERS} ${ROCKET_CONTROLS_HEADERS} ${ROCKET_CORE_SOURCES} ${ROCKET_CONTROLS_SOURCES})
+    set_target_properties(rocket PROPERTIES
+        COMPILE_DEFINITIONS "ROCKET_STATIC_LIB;_SECURE_SCL=0"
+        COMPILE_FLAGS       "-fPIC"
+    )
+    set(LIBROCKET_OBJECTS $<TARGET_OBJECTS:rocket>)
+endif()
+
+add_library(ui SHARED ${LIBROCKET_OBJECTS} ${UI_SOURCES} ${UI_HEADERS})
+target_link_libraries(ui PRIVATE ${LIBROCKET_CORE_LIBRARY} ${LIBROCKET_CONTROLS_LIBRARY})
 add_dependencies(ui angelwrap)
-set_target_properties(ui PROPERTIES COMPILE_DEFINITIONS "ROCKET_STATIC_LIB;_SECURE_SCL=0")
 qf_set_output_dir(ui libs)
 set_property(TARGET ui PROPERTY CXX_STANDARD 11)
openSUSE Build Service is sponsored by