Skip to content

Commit

Permalink
CMake: Hide warnings in Externals also for non-msvc.
Browse files Browse the repository at this point in the history
  • Loading branch information
jordan-woyak committed Mar 19, 2024
1 parent 85dee30 commit 25833cf
Show file tree
Hide file tree
Showing 34 changed files with 55 additions and 53 deletions.
26 changes: 14 additions & 12 deletions CMake/DolphinDisableWarningsMSVC.cmake
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
include(RemoveCompileFlag)

macro(dolphin_disable_warnings_msvc _target)
macro(dolphin_disable_warnings _target)
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()
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")
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
target_compile_options(${_target} PRIVATE "-w")
endif()
endmacro()
2 changes: 1 addition & 1 deletion Externals/Bochs_disasm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ add_library(bdisasm STATIC
resolve.cc
syntax.cc
)
dolphin_disable_warnings_msvc(bdisasm)
dolphin_disable_warnings(bdisasm)

if (WIN32)
target_sources(bdisasm
Expand Down
2 changes: 1 addition & 1 deletion Externals/FreeSurround/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ set(SRCS
)

add_library(FreeSurround STATIC ${SRCS})
dolphin_disable_warnings_msvc(FreeSurround)
dolphin_disable_warnings(FreeSurround)
target_include_directories(FreeSurround PUBLIC include)
target_compile_options(FreeSurround PRIVATE -w)
2 changes: 1 addition & 1 deletion Externals/LZO/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
add_library(lzo2 STATIC
minilzo.c
)
dolphin_disable_warnings_msvc(lzo2)
dolphin_disable_warnings(lzo2)

target_include_directories(lzo2
PUBLIC
Expand Down
4 changes: 2 additions & 2 deletions Externals/SDL/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ set(SDL_TEST_ENABLED_BY_DEFAULT OFF)
set(OPT_DEF_LIBC ON)
add_subdirectory(SDL)
if (TARGET SDL2)
dolphin_disable_warnings_msvc(SDL2)
dolphin_disable_warnings(SDL2)
endif()
if (TARGET SDL2-static)
dolphin_disable_warnings_msvc(SDL2-static)
dolphin_disable_warnings(SDL2-static)
endif()
4 changes: 2 additions & 2 deletions Externals/SFML/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ target_compile_definitions(sfml-system PUBLIC SFML_STATIC)
target_include_directories(sfml-system PUBLIC include PRIVATE src)
target_include_directories(sfml-network PUBLIC include PRIVATE src)
target_link_libraries(sfml-network PUBLIC sfml-system)
dolphin_disable_warnings_msvc(sfml-network)
dolphin_disable_warnings_msvc(sfml-system)
dolphin_disable_warnings(sfml-network)
dolphin_disable_warnings(sfml-system)
2 changes: 1 addition & 1 deletion Externals/bzip2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +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)
dolphin_disable_warnings(bzip2)

target_include_directories(bzip2
PUBLIC
Expand Down
2 changes: 1 addition & 1 deletion Externals/cpp-optparse/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +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)
dolphin_disable_warnings(cpp-optparse)
target_include_directories(cpp-optparse PUBLIC .)
4 changes: 2 additions & 2 deletions Externals/cubeb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ add_library(cubeb
cubeb/src/cubeb_strings.c
cubeb/src/cubeb_utils.cpp
)
dolphin_disable_warnings_msvc(cubeb)
dolphin_disable_warnings(cubeb)
target_include_directories(cubeb
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/cubeb/include> $<INSTALL_INTERFACE:include>
)
Expand Down Expand Up @@ -127,7 +127,7 @@ endif()

if(NOT TARGET speex)
add_library(speex OBJECT cubeb/subprojects/speex/resample.c)
dolphin_disable_warnings_msvc(speex)
dolphin_disable_warnings(speex)
set_target_properties(speex PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
target_include_directories(speex INTERFACE cubeb/subprojects)
target_compile_definitions(speex PUBLIC
Expand Down
2 changes: 1 addition & 1 deletion Externals/curl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ if(NOT CURL_CA_PATH_SET)
endif()
endif()

dolphin_disable_warnings_msvc(curl)
dolphin_disable_warnings(curl)
target_link_libraries(curl ${CURL_LIBS})
target_include_directories(curl PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/curl/include")
target_compile_definitions(curl PRIVATE "BUILDING_LIBCURL=1")
Expand Down
2 changes: 1 addition & 1 deletion Externals/discord-rpc/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +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)
dolphin_disable_warnings(discord-rpc)
if (MSVC)
if(USE_STATIC_CRT)
foreach(CompilerFlag
Expand Down
2 changes: 1 addition & 1 deletion Externals/ed25519/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_library(ed25519
sc.c
sha512.c
verify.c)
dolphin_disable_warnings_msvc(ed25519)
dolphin_disable_warnings(ed25519)
2 changes: 1 addition & 1 deletion Externals/enet/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ add_library(enet STATIC
)
target_include_directories(enet PUBLIC enet/include)

dolphin_disable_warnings_msvc(enet)
dolphin_disable_warnings(enet)
add_library(enet::enet ALIAS enet)

if (MINGW)
Expand Down
2 changes: 1 addition & 1 deletion Externals/fmt/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
add_subdirectory(fmt)
dolphin_disable_warnings_msvc(fmt)
dolphin_disable_warnings(fmt)
2 changes: 1 addition & 1 deletion Externals/glslang/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ endif()
endif()

add_library(glslang STATIC ${SRCS})
dolphin_disable_warnings_msvc(glslang)
dolphin_disable_warnings(glslang)

target_include_directories(glslang
PRIVATE
Expand Down
2 changes: 1 addition & 1 deletion Externals/hidapi/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
project(hidapi)

add_library(hidapi STATIC hidapi-src/hidapi/hidapi.h)
dolphin_disable_warnings_msvc(hidapi)
dolphin_disable_warnings(hidapi)
target_include_directories(hidapi PUBLIC hidapi-src/hidapi)

if(APPLE)
Expand Down
2 changes: 1 addition & 1 deletion Externals/imgui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ set(SRCS
)

add_library(imgui STATIC ${SRCS})
dolphin_disable_warnings_msvc(imgui)
dolphin_disable_warnings(imgui)
target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")

target_link_libraries(imgui
Expand Down
2 changes: 1 addition & 1 deletion Externals/implot/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set(SRCS
)

add_library(implot STATIC ${SRCS})
dolphin_disable_warnings_msvc(implot)
dolphin_disable_warnings(implot)
target_include_directories(implot
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/implot"
PRIVATE imgui
Expand Down
2 changes: 1 addition & 1 deletion Externals/libiconv-1.14/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ target_include_directories(iconv
PRIVATE
libcharset/include
)
dolphin_disable_warnings_msvc(iconv)
dolphin_disable_warnings(iconv)
add_library(Iconv::Iconv ALIAS iconv)
2 changes: 1 addition & 1 deletion Externals/liblzma/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +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)
dolphin_disable_warnings(lzma)

target_compile_definitions(lzma PUBLIC LZMA_API_STATIC)

Expand Down
2 changes: 1 addition & 1 deletion Externals/libspng/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ add_library(spng STATIC libspng/spng/spng.c)
target_compile_definitions(spng PUBLIC SPNG_STATIC)
target_link_libraries(spng PUBLIC ZLIB::ZLIB)
target_include_directories(spng PUBLIC libspng/spng)
dolphin_disable_warnings_msvc(spng)
dolphin_disable_warnings(spng)
add_library(spng::spng ALIAS spng)
2 changes: 1 addition & 1 deletion Externals/libusb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ add_library(usb STATIC EXCLUDE_FROM_ALL
libusb/libusb/strerror.c
libusb/libusb/sync.c
)
dolphin_disable_warnings_msvc(usb)
dolphin_disable_warnings(usb)

set_target_properties(usb PROPERTIES VERSION 1.0.26)
if(WIN32)
Expand Down
2 changes: 1 addition & 1 deletion Externals/lz4/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ set(LZ4_BUNDLED_MODE ON)

add_subdirectory(lz4/build/cmake)

dolphin_disable_warnings_msvc(lz4_static)
dolphin_disable_warnings(lz4_static)
add_library(LZ4::LZ4 ALIAS lz4_static)
target_compile_definitions(lz4_static PRIVATE XXH_NAMESPACE=LZ4_)
2 changes: 1 addition & 1 deletion Externals/mGBA/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
set(LIBMGBA_ONLY ON)
set(USE_LZMA ON)
add_subdirectory(mgba EXCLUDE_FROM_ALL)
dolphin_disable_warnings_msvc(mgba)
dolphin_disable_warnings(mgba)

target_compile_definitions(mgba PUBLIC HAVE_CRC32)
target_link_libraries(mgba ZLIB::ZLIB)
Expand Down
12 changes: 6 additions & 6 deletions Externals/mbedtls/library/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -189,34 +189,34 @@ endif()

if(USE_STATIC_MBEDTLS_LIBRARY)
add_library(${mbedcrypto_static_target} STATIC ${src_crypto})
dolphin_disable_warnings_msvc(${mbedcrypto_static_target})
dolphin_disable_warnings(${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})
dolphin_disable_warnings(${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})
dolphin_disable_warnings(${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})
dolphin_disable_warnings(${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})
dolphin_disable_warnings(${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})
dolphin_disable_warnings(${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)
Expand Down
2 changes: 1 addition & 1 deletion Externals/miniupnpc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ set(SRCS src/igd_desc_parse.c
src/receivedata.c)

add_library(miniupnpc STATIC ${SRCS})
dolphin_disable_warnings_msvc(miniupnpc)
dolphin_disable_warnings(miniupnpc)
target_include_directories(miniupnpc PUBLIC src)

add_library(Miniupnpc::miniupnpc ALIAS miniupnpc)
2 changes: 1 addition & 1 deletion Externals/minizip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ add_library(minizip STATIC
unzip.h
zip.h
)
dolphin_disable_warnings_msvc(minizip)
dolphin_disable_warnings(minizip)

if (UNIX)
target_sources(minizip PRIVATE
Expand Down
2 changes: 1 addition & 1 deletion Externals/pugixml/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ if(BUILD_SHARED_LIBS)
else()
add_library(pugixml STATIC ${SOURCES})
endif()
dolphin_disable_warnings_msvc(pugixml)
dolphin_disable_warnings(pugixml)

set_target_properties(pugixml PROPERTIES VERSION 1.8 SOVERSION 1)
get_target_property(PUGIXML_VERSION_STRING pugixml VERSION)
Expand Down
2 changes: 1 addition & 1 deletion Externals/soundtouch/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ set(SRCS
)

add_library(SoundTouch STATIC ${SRCS})
dolphin_disable_warnings_msvc(SoundTouch)
dolphin_disable_warnings(SoundTouch)
2 changes: 1 addition & 1 deletion Externals/spirv_cross/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ endif()
endif()

add_library(spirv_cross STATIC ${SRCS})
dolphin_disable_warnings_msvc(spirv_cross)
dolphin_disable_warnings(spirv_cross)

target_compile_definitions(spirv_cross PUBLIC SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS)
target_include_directories(spirv_cross PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Cross/include ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Cross)
2 changes: 1 addition & 1 deletion Externals/tinygltf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ endif()
target_sources(tinygltf PRIVATE
tinygltf/tiny_gltf.cc)
target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
dolphin_disable_warnings_msvc(tinygltf)
dolphin_disable_warnings(tinygltf)
2 changes: 1 addition & 1 deletion Externals/xxhash/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
project(xxhash C)

add_library(xxhash STATIC xxHash/xxhash.c)
dolphin_disable_warnings_msvc(xxhash)
dolphin_disable_warnings(xxhash)
target_include_directories(xxhash
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/xxHash
Expand Down
2 changes: 1 addition & 1 deletion Externals/zlib-ng/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ set(ZLIB_LIBRARY ZLIB::ZLIB CACHE STRING "Path to zlib library")

# Setup zlib alias project so FindZLIB doesn't recreate it
add_library(ZLIB::ZLIB ALIAS zlib)
dolphin_disable_warnings_msvc(zlib)
dolphin_disable_warnings(zlib)
2 changes: 1 addition & 1 deletion Externals/zstd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ set(ZSTD_SRCS
)

add_library(zstd STATIC ${ZSTD_SRCS} ${ZSTD_PUBLIC_HDRS} ${ZSTD_PRIVATE_HDRS})
dolphin_disable_warnings_msvc(zstd)
dolphin_disable_warnings(zstd)
add_library(zstd::zstd ALIAS zstd)

target_include_directories(zstd
Expand Down

0 comments on commit 25833cf

Please sign in to comment.