diff options
| author | 2019-05-09 13:23:49 -0400 | |
|---|---|---|
| committer | 2019-05-09 13:23:49 -0400 | |
| commit | f3317cf2db4c4f2248053e67dbe9ac27c89972d2 (patch) | |
| tree | 5da8bc013ea6739a41568ea8dca09b30f2284f92 /src | |
| parent | Merge pull request #2442 from FernandoS27/astc-fix (diff) | |
| parent | src/CMakeLists: Add /Zc:externConstexpr to the MSVC build flags (diff) | |
| download | yuzu-f3317cf2db4c4f2248053e67dbe9ac27c89972d2.tar.gz yuzu-f3317cf2db4c4f2248053e67dbe9ac27c89972d2.tar.xz yuzu-f3317cf2db4c4f2248053e67dbe9ac27c89972d2.zip | |
Merge pull request #2454 from lioncash/cflag
src/CMakeLists: Add /Zc:externConstexpr to the MSVC build flags
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9aea4af87..a1d87bbbc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt | |||
| @@ -21,15 +21,27 @@ if (MSVC) | |||
| 21 | # Ensure that projects build with Unicode support. | 21 | # Ensure that projects build with Unicode support. |
| 22 | add_definitions(-DUNICODE -D_UNICODE) | 22 | add_definitions(-DUNICODE -D_UNICODE) |
| 23 | 23 | ||
| 24 | # /W3 - Level 3 warnings | 24 | # /W3 - Level 3 warnings |
| 25 | # /MP - Multi-threaded compilation | 25 | # /MP - Multi-threaded compilation |
| 26 | # /Zi - Output debugging information | 26 | # /Zi - Output debugging information |
| 27 | # /Zo - enhanced debug info for optimized builds | 27 | # /Zo - Enhanced debug info for optimized builds |
| 28 | # /permissive- - enables stricter C++ standards conformance checks | 28 | # /permissive- - Enables stricter C++ standards conformance checks |
| 29 | # /EHsc - C++-only exception handling semantics | 29 | # /EHsc - C++-only exception handling semantics |
| 30 | # /Zc:throwingNew - let codegen assume `operator new` will never return null | 30 | # /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates |
| 31 | # /Zc:inline - let codegen omit inline functions in object files | 31 | # /Zc:inline - Let codegen omit inline functions in object files |
| 32 | add_compile_options(/W3 /MP /Zi /Zo /permissive- /EHsc /std:c++latest /Zc:throwingNew,inline) | 32 | # /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null |
| 33 | add_compile_options( | ||
| 34 | /W3 | ||
| 35 | /MP | ||
| 36 | /Zi | ||
| 37 | /Zo | ||
| 38 | /permissive- | ||
| 39 | /EHsc | ||
| 40 | /std:c++latest | ||
| 41 | /Zc:externConstexpr | ||
| 42 | /Zc:inline | ||
| 43 | /Zc:throwingNew | ||
| 44 | ) | ||
| 33 | 45 | ||
| 34 | # /GS- - No stack buffer overflow checks | 46 | # /GS- - No stack buffer overflow checks |
| 35 | add_compile_options("$<$<CONFIG:Release>:/GS->") | 47 | add_compile_options("$<$<CONFIG:Release>:/GS->") |