summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMake/DolphinDisableWarningsMSVC.cmake18
-rw-r--r--CMakeLists.txt1
-rw-r--r--Externals/Bochs_disasm/CMakeLists.txt1
-rw-r--r--Externals/FreeSurround/CMakeLists.txt1
-rw-r--r--Externals/LZO/CMakeLists.txt1
-rw-r--r--Externals/SFML/CMakeLists.txt2
-rw-r--r--Externals/bzip2/CMakeLists.txt1
-rw-r--r--Externals/cpp-optparse/CMakeLists.txt1
-rw-r--r--Externals/cubeb/CMakeLists.txt2
-rw-r--r--Externals/curl/lib/CMakeLists.txt1
-rw-r--r--Externals/discord-rpc/src/CMakeLists.txt1
-rw-r--r--Externals/ed25519/CMakeLists.txt1
-rw-r--r--Externals/enet/CMakeLists.txt1
-rwxr-xr-xExternals/fmt/CMakeLists.txt1
-rw-r--r--Externals/glslang/CMakeLists.txt1
-rw-r--r--Externals/hidapi/CMakeLists.txt1
-rw-r--r--Externals/imgui/CMakeLists.txt1
-rw-r--r--Externals/libiconv-1.14/CMakeLists.txt1
-rw-r--r--Externals/liblzma/CMakeLists.txt1
-rw-r--r--Externals/libpng/CMakeLists.txt2
-rw-r--r--Externals/libusb/CMakeLists.txt2
-rw-r--r--Externals/mGBA/CMakeLists.txt1
-rw-r--r--Externals/mbedtls/library/CMakeLists.txt6
-rw-r--r--Externals/miniupnpc/CMakeLists.txt1
-rw-r--r--Externals/minizip/CMakeLists.txt1
-rw-r--r--Externals/pugixml/CMakeLists.txt1
-rw-r--r--Externals/soundtouch/CMakeLists.txt1
-rw-r--r--Externals/xxhash/CMakeLists.txt1
-rw-r--r--Externals/zlib/CMakeLists.txt1
-rw-r--r--Externals/zstd/CMakeLists.txt1
30 files changed, 56 insertions, 0 deletions
diff --git a/CMake/DolphinDisableWarningsMSVC.cmake b/CMake/DolphinDisableWarningsMSVC.cmake
new file mode 100644
index 0000000000..43823a0ea4
--- /dev/null
+++ b/CMake/DolphinDisableWarningsMSVC.cmake
@@ -0,0 +1,18 @@
+include(RemoveCompileFlag)
+
+macro(dolphin_disable_warnings_msvc _target)
+ if (MSVC)
+ get_target_property(_target_cxx_flags ${_target} COMPILE_OPTIONS)
+ if (_target_cxx_flags)
+ set(new_flags "")
+ foreach(flag IN LISTS _target_cxx_flags)
+ # all warning flags start with "/W" or "/w" or "-W" or "-w"
+ if (NOT "${flag}" MATCHES "^[-/][Ww]")
+ list(APPEND new_flags "${flag}")
+ endif()
+ endforeach()
+ set_target_properties(${_target} PROPERTIES COMPILE_OPTIONS "${new_flags}")
+ endif()
+ target_compile_options(${_target} PRIVATE "/W0")
+ endif()
+endmacro()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2428a093b1..1085d51c92 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -128,6 +128,7 @@ include(CheckAndAddFlag)
include(CheckCCompilerFlag)
include(CheckVendoringApproved)
include(DolphinCompileDefinitions)
+include(DolphinDisableWarningsMSVC)
include(RemoveCompileFlag)
# Enable folders for IDE
diff --git a/Externals/Bochs_disasm/CMakeLists.txt b/Externals/Bochs_disasm/CMakeLists.txt
index 84326842cb..2a643113e3 100644
--- a/Externals/Bochs_disasm/CMakeLists.txt
+++ b/Externals/Bochs_disasm/CMakeLists.txt
@@ -4,6 +4,7 @@ add_library(bdisasm STATIC
resolve.cc
syntax.cc
)
+dolphin_disable_warnings_msvc(bdisasm)
if (WIN32)
target_sources(bdisasm
diff --git a/Externals/FreeSurround/CMakeLists.txt b/Externals/FreeSurround/CMakeLists.txt
index 9a17fff2fd..d7f8bc3ea2 100644
--- a/Externals/FreeSurround/CMakeLists.txt
+++ b/Externals/FreeSurround/CMakeLists.txt
@@ -12,5 +12,6 @@ set(SRCS
)
add_library(FreeSurround STATIC ${SRCS})
+dolphin_disable_warnings_msvc(FreeSurround)
target_include_directories(FreeSurround PUBLIC include)
target_compile_options(FreeSurround PRIVATE -w)
diff --git a/Externals/LZO/CMakeLists.txt b/Externals/LZO/CMakeLists.txt
index 48d1af1b1e..3bb91ee5c5 100644
--- a/Externals/LZO/CMakeLists.txt
+++ b/Externals/LZO/CMakeLists.txt
@@ -1,6 +1,7 @@
add_library(lzo2 STATIC
minilzo.c
)
+dolphin_disable_warnings_msvc(lzo2)
target_include_directories(lzo2
PUBLIC
diff --git a/Externals/SFML/CMakeLists.txt b/Externals/SFML/CMakeLists.txt
index 0e82eae1ec..aac2192cad 100644
--- a/Externals/SFML/CMakeLists.txt
+++ b/Externals/SFML/CMakeLists.txt
@@ -25,3 +25,5 @@ set(SRC_SYSTEM
add_library(sfml-network ${SRC_NETWORK})
add_library(sfml-system ${SRC_SYSTEM})
+dolphin_disable_warnings_msvc(sfml-network)
+dolphin_disable_warnings_msvc(sfml-system)
diff --git a/Externals/bzip2/CMakeLists.txt b/Externals/bzip2/CMakeLists.txt
index 32ad4882d3..f19d532e1b 100644
--- a/Externals/bzip2/CMakeLists.txt
+++ b/Externals/bzip2/CMakeLists.txt
@@ -70,6 +70,7 @@ set(BZIP2_SRCS
add_library(bzip2 STATIC ${BZIP2_SRCS} ${BZIP2_PUBLIC_HDRS} ${BZIP2_PRIVATE_HDRS})
add_library(BZip2::BZip2 ALIAS bzip2)
+dolphin_disable_warnings_msvc(bzip2)
target_include_directories(bzip2
PUBLIC
diff --git a/Externals/cpp-optparse/CMakeLists.txt b/Externals/cpp-optparse/CMakeLists.txt
index f5d05fa2f3..0f92f22bfd 100644
--- a/Externals/cpp-optparse/CMakeLists.txt
+++ b/Externals/cpp-optparse/CMakeLists.txt
@@ -3,4 +3,5 @@ check_and_add_flag(CXX11 -std=c++11)
set(SRCS OptionParser.cpp OptionParser.h)
add_library(cpp-optparse STATIC ${SRCS})
+dolphin_disable_warnings_msvc(cpp-optparse)
target_include_directories(cpp-optparse PUBLIC .)
diff --git a/Externals/cubeb/CMakeLists.txt b/Externals/cubeb/CMakeLists.txt
index 65fda6c181..7cd84dee8b 100644
--- a/Externals/cubeb/CMakeLists.txt
+++ b/Externals/cubeb/CMakeLists.txt
@@ -48,6 +48,7 @@ add_library(cubeb
src/cubeb_log.cpp
src/cubeb_strings.c
$<TARGET_OBJECTS:speex>)
+dolphin_disable_warnings_msvc(cubeb)
target_include_directories(cubeb
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>
)
@@ -100,6 +101,7 @@ install(
add_library(speex OBJECT
src/speex/resample.c)
+dolphin_disable_warnings_msvc(speex)
set_target_properties(speex PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
target_compile_definitions(speex PRIVATE OUTSIDE_SPEEX)
target_compile_definitions(speex PRIVATE FLOATING_POINT)
diff --git a/Externals/curl/lib/CMakeLists.txt b/Externals/curl/lib/CMakeLists.txt
index a4be4013ef..d2900d22d0 100644
--- a/Externals/curl/lib/CMakeLists.txt
+++ b/Externals/curl/lib/CMakeLists.txt
@@ -12,6 +12,7 @@ add_library(
STATIC
${SRCS}
)
+dolphin_disable_warnings_msvc(curl)
target_link_libraries(curl ${MBEDTLS_LIBRARIES} z)
target_compile_definitions(curl PUBLIC CURL_STATICLIB PRIVATE CURL_DISABLE_LDAP)
diff --git a/Externals/discord-rpc/src/CMakeLists.txt b/Externals/discord-rpc/src/CMakeLists.txt
index c49b26faf6..e3296173e0 100644
--- a/Externals/discord-rpc/src/CMakeLists.txt
+++ b/Externals/discord-rpc/src/CMakeLists.txt
@@ -31,6 +31,7 @@ if(WIN32)
add_definitions(-DDISCORD_WINDOWS)
set(BASE_RPC_SRC ${BASE_RPC_SRC} connection_win.cpp discord_register_win.cpp)
add_library(discord-rpc ${BASE_RPC_SRC})
+ dolphin_disable_warnings_msvc(discord-rpc)
if (MSVC)
if(USE_STATIC_CRT)
foreach(CompilerFlag
diff --git a/Externals/ed25519/CMakeLists.txt b/Externals/ed25519/CMakeLists.txt
index a3a68d536f..1e0080b12b 100644
--- a/Externals/ed25519/CMakeLists.txt
+++ b/Externals/ed25519/CMakeLists.txt
@@ -11,3 +11,4 @@ add_library(ed25519
sc.c
sha512.c
verify.c)
+dolphin_disable_warnings_msvc(ed25519)
diff --git a/Externals/enet/CMakeLists.txt b/Externals/enet/CMakeLists.txt
index f364ff7f5b..7f9a2473df 100644
--- a/Externals/enet/CMakeLists.txt
+++ b/Externals/enet/CMakeLists.txt
@@ -72,6 +72,7 @@ add_library(enet STATIC
unix.c
win32.c
)
+dolphin_disable_warnings_msvc(enet)
if(HAIKU)
target_link_libraries(enet network)
endif(HAIKU)
diff --git a/Externals/fmt/CMakeLists.txt b/Externals/fmt/CMakeLists.txt
index 1d07bb4adf..f6d8bd50db 100755
--- a/Externals/fmt/CMakeLists.txt
+++ b/Externals/fmt/CMakeLists.txt
@@ -229,6 +229,7 @@ else()
endif ()
add_library(fmt ${FMT_SOURCES} ${FMT_HEADERS} README.rst ChangeLog.rst)
+dolphin_disable_warnings_msvc(fmt)
add_library(fmt::fmt ALIAS fmt)
if (FMT_WERROR)
diff --git a/Externals/glslang/CMakeLists.txt b/Externals/glslang/CMakeLists.txt
index e6d171d8d8..df5dfa0408 100644
--- a/Externals/glslang/CMakeLists.txt
+++ b/Externals/glslang/CMakeLists.txt
@@ -73,6 +73,7 @@ endif()
endif()
add_library(glslang STATIC ${SRCS})
+dolphin_disable_warnings_msvc(glslang)
target_include_directories(glslang
PRIVATE
diff --git a/Externals/hidapi/CMakeLists.txt b/Externals/hidapi/CMakeLists.txt
index 42b16d9f01..1cf77404f0 100644
--- a/Externals/hidapi/CMakeLists.txt
+++ b/Externals/hidapi/CMakeLists.txt
@@ -1,6 +1,7 @@
project(hidapi)
add_library(hidapi STATIC hidapi/hidapi.h)
+dolphin_disable_warnings_msvc(hidapi)
target_include_directories(hidapi PUBLIC hidapi)
if(APPLE)
diff --git a/Externals/imgui/CMakeLists.txt b/Externals/imgui/CMakeLists.txt
index 3b6be85f50..16e5ee486f 100644
--- a/Externals/imgui/CMakeLists.txt
+++ b/Externals/imgui/CMakeLists.txt
@@ -12,6 +12,7 @@ set(SRCS
)
add_library(imgui STATIC ${SRCS})
+dolphin_disable_warnings_msvc(imgui)
target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
target_link_libraries(imgui
diff --git a/Externals/libiconv-1.14/CMakeLists.txt b/Externals/libiconv-1.14/CMakeLists.txt
index 9a0660b254..571a6f791c 100644
--- a/Externals/libiconv-1.14/CMakeLists.txt
+++ b/Externals/libiconv-1.14/CMakeLists.txt
@@ -7,3 +7,4 @@ set(SRCS lib/iconv.c
)
add_library(iconv STATIC ${SRCS})
+dolphin_disable_warnings_msvc(iconv)
diff --git a/Externals/liblzma/CMakeLists.txt b/Externals/liblzma/CMakeLists.txt
index 11d6c77035..dd979c5b68 100644
--- a/Externals/liblzma/CMakeLists.txt
+++ b/Externals/liblzma/CMakeLists.txt
@@ -207,6 +207,7 @@ set(LZMA_SRCS
add_library(lzma STATIC ${LZMA_SRCS} ${LZMA_PUBLIC_HDRS})
add_library(LibLZMA::LibLZMA ALIAS lzma)
+dolphin_disable_warnings_msvc(lzma)
target_compile_definitions(lzma PUBLIC LZMA_API_STATIC)
diff --git a/Externals/libpng/CMakeLists.txt b/Externals/libpng/CMakeLists.txt
index d0da8580a6..dabe91af1d 100644
--- a/Externals/libpng/CMakeLists.txt
+++ b/Externals/libpng/CMakeLists.txt
@@ -39,6 +39,8 @@ add_library(png STATIC
pngwutil.c
)
+dolphin_disable_warnings_msvc(png)
+
option(PNG_HARDWARE_OPTIMIZATIONS "Enable hardware optimizations for libpng" OFF)
if(PNG_HARDWARE_OPTIMIZATIONS)
diff --git a/Externals/libusb/CMakeLists.txt b/Externals/libusb/CMakeLists.txt
index cd3e2e943f..f3bed0d1f0 100644
--- a/Externals/libusb/CMakeLists.txt
+++ b/Externals/libusb/CMakeLists.txt
@@ -6,6 +6,8 @@ add_library(usb STATIC EXCLUDE_FROM_ALL
libusb/libusb/strerror.c
libusb/libusb/sync.c
)
+dolphin_disable_warnings_msvc(usb)
+
set_target_properties(usb PROPERTIES VERSION 1.0.26)
if(WIN32)
target_include_directories(usb BEFORE PUBLIC libusb/libusb PRIVATE libusb/msvc)
diff --git a/Externals/mGBA/CMakeLists.txt b/Externals/mGBA/CMakeLists.txt
index 4a87c7b58c..edeea5438a 100644
--- a/Externals/mGBA/CMakeLists.txt
+++ b/Externals/mGBA/CMakeLists.txt
@@ -1,6 +1,7 @@
set(LIBMGBA_ONLY ON)
set(USE_LZMA ON)
add_subdirectory(mgba EXCLUDE_FROM_ALL)
+dolphin_disable_warnings_msvc(mgba)
if(NOT MSVC)
target_compile_options(mgba PRIVATE -Wno-unused-parameter -Wno-unused-result -Wno-unused-variable)
diff --git a/Externals/mbedtls/library/CMakeLists.txt b/Externals/mbedtls/library/CMakeLists.txt
index 0a600674db..ba0b337ea1 100644
--- a/Externals/mbedtls/library/CMakeLists.txt
+++ b/Externals/mbedtls/library/CMakeLists.txt
@@ -189,28 +189,34 @@ endif()
if(USE_STATIC_MBEDTLS_LIBRARY)
add_library(${mbedcrypto_static_target} STATIC ${src_crypto})
+ dolphin_disable_warnings_msvc(${mbedcrypto_static_target})
set_target_properties(${mbedcrypto_static_target} PROPERTIES OUTPUT_NAME mbedcrypto)
target_link_libraries(${mbedcrypto_static_target} PUBLIC ${libs})
add_library(${mbedx509_static_target} STATIC ${src_x509})
+ dolphin_disable_warnings_msvc(${mbedx509_static_target})
set_target_properties(${mbedx509_static_target} PROPERTIES OUTPUT_NAME mbedx509)
target_link_libraries(${mbedx509_static_target} PUBLIC ${libs} ${mbedcrypto_static_target})
add_library(${mbedtls_static_target} STATIC ${src_tls})
+ dolphin_disable_warnings_msvc(${mbedtls_static_target})
set_target_properties(${mbedtls_static_target} PROPERTIES OUTPUT_NAME mbedtls)
target_link_libraries(${mbedtls_static_target} PUBLIC ${libs} ${mbedx509_static_target})
endif(USE_STATIC_MBEDTLS_LIBRARY)
if(USE_SHARED_MBEDTLS_LIBRARY)
add_library(${mbedcrypto_target} SHARED ${src_crypto})
+ dolphin_disable_warnings_msvc(${mbedcrypto_target})
set_target_properties(${mbedcrypto_target} PROPERTIES VERSION 2.28.0 SOVERSION 7)
target_link_libraries(${mbedcrypto_target} PUBLIC ${libs})
add_library(${mbedx509_target} SHARED ${src_x509})
+ dolphin_disable_warnings_msvc(${mbedx509_target})
set_target_properties(${mbedx509_target} PROPERTIES VERSION 2.28.0 SOVERSION 1)
target_link_libraries(${mbedx509_target} PUBLIC ${libs} ${mbedcrypto_target})
add_library(${mbedtls_target} SHARED ${src_tls})
+ dolphin_disable_warnings_msvc(${mbedtls_target})
set_target_properties(${mbedtls_target} PROPERTIES VERSION 2.28.0 SOVERSION 14)
target_link_libraries(${mbedtls_target} PUBLIC ${libs} ${mbedx509_target})
endif(USE_SHARED_MBEDTLS_LIBRARY)
diff --git a/Externals/miniupnpc/CMakeLists.txt b/Externals/miniupnpc/CMakeLists.txt
index f5d3f2e3ad..602de41c55 100644
--- a/Externals/miniupnpc/CMakeLists.txt
+++ b/Externals/miniupnpc/CMakeLists.txt
@@ -33,6 +33,7 @@ set(SRCS src/igd_desc_parse.c
src/receivedata.c)
add_library(miniupnpc STATIC ${SRCS})
+dolphin_disable_warnings_msvc(miniupnpc)
target_include_directories(miniupnpc PUBLIC src)
add_library(Miniupnpc::miniupnpc ALIAS miniupnpc)
diff --git a/Externals/minizip/CMakeLists.txt b/Externals/minizip/CMakeLists.txt
index b28e136681..4068cd85bc 100644
--- a/Externals/minizip/CMakeLists.txt
+++ b/Externals/minizip/CMakeLists.txt
@@ -26,6 +26,7 @@ add_library(minizip STATIC
unzip.h
zip.h
)
+dolphin_disable_warnings_msvc(minizip)
if (UNIX)
target_sources(minizip PRIVATE
diff --git a/Externals/pugixml/CMakeLists.txt b/Externals/pugixml/CMakeLists.txt
index 30f06ae21d..11c0990658 100644
--- a/Externals/pugixml/CMakeLists.txt
+++ b/Externals/pugixml/CMakeLists.txt
@@ -35,6 +35,7 @@ if(BUILD_SHARED_LIBS)
else()
add_library(pugixml STATIC ${SOURCES})
endif()
+dolphin_disable_warnings_msvc(pugixml)
set_target_properties(pugixml PROPERTIES VERSION 1.8 SOVERSION 1)
get_target_property(PUGIXML_VERSION_STRING pugixml VERSION)
diff --git a/Externals/soundtouch/CMakeLists.txt b/Externals/soundtouch/CMakeLists.txt
index 74acedfb4f..eefc3a8bba 100644
--- a/Externals/soundtouch/CMakeLists.txt
+++ b/Externals/soundtouch/CMakeLists.txt
@@ -16,4 +16,5 @@ set(SRCS
)
add_library(SoundTouch STATIC ${SRCS})
+dolphin_disable_warnings_msvc(SoundTouch)
add_definitions(-w)
diff --git a/Externals/xxhash/CMakeLists.txt b/Externals/xxhash/CMakeLists.txt
index 8218f801d8..1a3d637387 100644
--- a/Externals/xxhash/CMakeLists.txt
+++ b/Externals/xxhash/CMakeLists.txt
@@ -1,6 +1,7 @@
project(xxhash C)
add_library(xxhash STATIC xxhash.c)
+dolphin_disable_warnings_msvc(xxhash)
target_include_directories(xxhash
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
diff --git a/Externals/zlib/CMakeLists.txt b/Externals/zlib/CMakeLists.txt
index 6f865141a5..da707ea76d 100644
--- a/Externals/zlib/CMakeLists.txt
+++ b/Externals/zlib/CMakeLists.txt
@@ -86,6 +86,7 @@ set(ZLIB_SRCS
)
add_library(z STATIC ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+dolphin_disable_warnings_msvc(z)
add_library(ZLIB::ZLIB ALIAS z)
target_include_directories(z
diff --git a/Externals/zstd/CMakeLists.txt b/Externals/zstd/CMakeLists.txt
index 7d9cb1baaf..77932c74e7 100644
--- a/Externals/zstd/CMakeLists.txt
+++ b/Externals/zstd/CMakeLists.txt
@@ -115,6 +115,7 @@ set(ZSTD_SRCS
)
add_library(zstd STATIC ${ZSTD_SRCS} ${ZSTD_PUBLIC_HDRS} ${ZSTD_PRIVATE_HDRS})
+dolphin_disable_warnings_msvc(zstd)
add_library(zstd::zstd ALIAS zstd)
target_include_directories(zstd