mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-09 09:38:19 +00:00
Merge #5954
5954: Use CMake to configure static C stdlib on Windows r=def- a=heinrich5991 Previously warnings were generated because we were passing /MTd-like arguments twice, due to us and CMake 3.15+ adding these arguments: https://cmake.org/cmake/help/v3.25/policy/CMP0091.html. This requires CMake 3.15 on Windows. This fixes #5940. ## Checklist - [x] Tested the change ingame - [ ] Provided screenshots if it is a visual change - [ ] Tested in combination with possibly related configuration options - [ ] Written a unit test (especially base/) or added coverage to integration test - [ ] Considered possible null pointers and out of bounds array indexing - [ ] Changed no physics that affect existing maps - [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional) Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
This commit is contained in:
commit
4050678526
|
@ -800,10 +800,11 @@ if(NOT(GTEST_FOUND) AND DOWNLOAD_GTEST)
|
|||
|
||||
if(MSVC)
|
||||
foreach(target gtest gmock)
|
||||
set_property(TARGET ${target} PROPERTY MSVC_RUNTIME_LIBRARY MultiThreaded$<${DBG}:Debug>)
|
||||
# `/w` disables all warnings. This is needed because `gtest` enables
|
||||
# `/WX` (equivalent of `-Werror`) for some reason, breaking builds
|
||||
# when MSVS adds new warnings.
|
||||
target_compile_options(${target} PRIVATE $<$<NOT:${DBG}>:/MT> $<${DBG}:/MTd> /w)
|
||||
target_compile_options(${target} PRIVATE /w)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
|
@ -2996,7 +2997,7 @@ set(TARGETS ${TARGETS_OWN} ${TARGETS_DEP})
|
|||
|
||||
foreach(target ${TARGETS})
|
||||
if(MSVC)
|
||||
target_compile_options(${target} PRIVATE $<$<NOT:${DBG}>:/MT> $<${DBG}:/MTd>) # Use static CRT
|
||||
set_property(TARGET ${target} PROPERTY MSVC_RUNTIME_LIBRARY MultiThreaded$<${DBG}:Debug>) # Use static CRT
|
||||
target_compile_options(${target} PRIVATE /MP) # Use multiple cores
|
||||
target_compile_options(${target} PRIVATE /EHsc) # Only catch C++ exceptions with catch.
|
||||
target_compile_options(${target} PRIVATE /GS) # Protect the stack pointer.
|
||||
|
|
Loading…
Reference in a new issue