From 6fafa297bfe0f82696d898d66e39c50f4f5eef16 Mon Sep 17 00:00:00 2001
From: William Breathitt Gray <vilhelm.gray@gmail.com>
Date: Wed, 15 May 2019 23:58:28 +0900
Subject: [PATCH] Force STATIC for internal GZDoom libraries

This makes sure the internal versions of these libraries bundled with
the GZDoom source code is used. This prevents the system from building
GZDoom for dynamic linking with incompatible external libraries (see
<https://forum.zdoom.org/viewtopic.php?f=2&t=64633>).
---
 asmjit/CMakeLists.txt             | 2 +-
 bzip2/CMakeLists.txt              | 2 +-
 game-music-emu/gme/CMakeLists.txt | 2 +-
 gdtoa/CMakeLists.txt              | 2 +-
 glslang/glslang/CMakeLists.txt    | 2 +-
 glslang/spirv/CMakeLists.txt      | 2 +-
 jpeg/CMakeLists.txt               | 2 +-
 lzma/CMakeLists.txt               | 2 +-
 zlib/CMakeLists.txt               | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/asmjit/CMakeLists.txt b/asmjit/CMakeLists.txt
index ab5c2fb4f..6b7636ebe 100644
--- a/asmjit/CMakeLists.txt
+++ b/asmjit/CMakeLists.txt
@@ -97,7 +97,7 @@ set(ASMJIT_SRCS
     asmjit/x86/x86regalloc.cpp
 )
 
-add_library(${ASMJITNAME} ${ASMJIT_SRCS} ${ASMJIT_PUBLIC_HDRS})
+add_library(${ASMJITNAME} STATIC ${ASMJIT_SRCS} ${ASMJIT_PUBLIC_HDRS})
 
 set_target_properties(${ASMJITNAME} PROPERTIES OUTPUT_NAME asmjit)
 
diff --git a/bzip2/CMakeLists.txt b/bzip2/CMakeLists.txt
index 6ff9a2172..7fefb2bf2 100644
--- a/bzip2/CMakeLists.txt
+++ b/bzip2/CMakeLists.txt
@@ -7,7 +7,7 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE )
 endif()
 
 add_definitions( -DBZ_NO_STDIO )
-add_library( bz2
+add_library( bz2 STATIC
     blocksort.c
     bzlib.c
     compress.c
diff --git a/game-music-emu/gme/CMakeLists.txt b/game-music-emu/gme/CMakeLists.txt
index a5e06bc8a..5c37ebd29 100644
--- a/game-music-emu/gme/CMakeLists.txt
+++ b/game-music-emu/gme/CMakeLists.txt
@@ -163,7 +163,7 @@ set (EXPORTED_HEADERS gme.h)
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 
 # Add library to be compiled.
-add_library(gme ${libgme_SRCS})
+add_library(gme STATIC ${libgme_SRCS})
 
 if(ZLIB_FOUND)
     message(" ** ZLib library located, compressed file formats will be supported")
diff --git a/gdtoa/CMakeLists.txt b/gdtoa/CMakeLists.txt
index a0b76e0c3..485f3778b 100644
--- a/gdtoa/CMakeLists.txt
+++ b/gdtoa/CMakeLists.txt
@@ -35,7 +35,7 @@ if( NOT MSVC AND NOT APPLE )
 	set( GEN_FP_DEPS ${CMAKE_CURRENT_BINARY_DIR}/arith.h ${CMAKE_CURRENT_BINARY_DIR}/gd_qnan.h )
 endif()
 
-add_library( gdtoa
+add_library( gdtoa STATIC
 	${GEN_FP_FILES}
 	dmisc.c
 	dtoa.c
diff --git a/glslang/glslang/CMakeLists.txt b/glslang/glslang/CMakeLists.txt
index c86eccb6e..e376a9178 100644
--- a/glslang/glslang/CMakeLists.txt
+++ b/glslang/glslang/CMakeLists.txt
@@ -120,7 +120,7 @@ endmacro(glslang_pch)
 
 glslang_pch(SOURCES MachineIndependent/pch.cpp)
 
-add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})
+add_library(glslang STATIC ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})
 set_property(TARGET glslang PROPERTY FOLDER glslang)
 set_property(TARGET glslang PROPERTY POSITION_INDEPENDENT_CODE ON)
 target_link_libraries(glslang OGLCompiler OSDependent)
diff --git a/glslang/spirv/CMakeLists.txt b/glslang/spirv/CMakeLists.txt
index 8062f8067..03d34d8f4 100644
--- a/glslang/spirv/CMakeLists.txt
+++ b/glslang/spirv/CMakeLists.txt
@@ -59,7 +59,7 @@ if(ENABLE_NV_EXTENSIONS)
          GLSL.ext.NV.h)
 endif(ENABLE_NV_EXTENSIONS)
 
-add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
+add_library(SPIRV STATIC ${LIB_TYPE} ${SOURCES} ${HEADERS})
 set_property(TARGET SPIRV PROPERTY FOLDER glslang)
 set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
 target_include_directories(SPIRV PUBLIC ..)
diff --git a/jpeg/CMakeLists.txt b/jpeg/CMakeLists.txt
index 81834c742..33a3938cf 100644
--- a/jpeg/CMakeLists.txt
+++ b/jpeg/CMakeLists.txt
@@ -6,7 +6,7 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE )
 	set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" )
 endif()
 
-add_library( jpeg
+add_library( jpeg STATIC
     jaricom.c
     jcomapi.c
     jdapimin.c
diff --git a/lzma/CMakeLists.txt b/lzma/CMakeLists.txt
index 3948ea2ee..4246a34f8 100644
--- a/lzma/CMakeLists.txt
+++ b/lzma/CMakeLists.txt
@@ -34,5 +34,5 @@ else()
 	set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_7ZIP_ST" )
 endif()
 
-add_library( lzma ${LZMA_FILES} )
+add_library( lzma STATIC ${LZMA_FILES} )
 target_link_libraries( lzma )
diff --git a/zlib/CMakeLists.txt b/zlib/CMakeLists.txt
index 52542bbaa..a1d6637a9 100644
--- a/zlib/CMakeLists.txt
+++ b/zlib/CMakeLists.txt
@@ -137,7 +137,7 @@ if(MINGW)
     set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
 endif()
 
-add_library(${ZLIBNAME} ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+add_library(${ZLIBNAME} STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
 set_target_properties(${ZLIBNAME} PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
 
 set_target_properties(${ZLIBNAME} PROPERTIES SOVERSION 1)
-- 
2.21.0

