By default cmake generates cxx_flags with /EHsc parameter. I updated CMAKE_CXX_FLAGS string and removed /EHsc, also I added compile defenitions _HAS_EXCEPTIONS=0, it is mandatory for noexcept build with MSVC STL implementation. Output files became smaller. How to reproduce: Visual Studio 2019 x64 command port mkdir build-msvc2019 cd build-msvc2019 cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR=install .. nmake CXX FLAGS BEFORE: -- CMAKE_C_FLAGS: /DWIN32 /D_WINDOWS /W3 -- CMAKE_CXX_FLAGS: /DWIN32 /D_WINDOWS /W3 /GR- /EHsc -- CMAKE_CXX_FLAGS_DEBUG: /MDd /Zi /Ob0 /Od /RTC1 -- CMAKE_CXX_FLAGS_RELEASE: /MD /O2 /Ob2 /DNDEBUG -- ENABLE_RTTI: OFF -- ENABLE_EXCEPTIONS: OFF OUTPUT SIZE BEFORE: Build folder size: 61,8 MB (64 808 580 bytes) GLSLANG SIZE BEFORE: glslang.lib 22,7 MB (23 887 150 bytes) CXX FLAGS AFTER: -- CMAKE_C_FLAGS: /DWIN32 /D_WINDOWS /W3 -- CMAKE_CXX_FLAGS: /DWIN32 /D_WINDOWS /W3 /GR- -- CMAKE_CXX_FLAGS_DEBUG: /MDd /Zi /Ob0 /Od /RTC1 -- CMAKE_CXX_FLAGS_RELEASE: /MD /O2 /Ob2 /DNDEBUG -- ENABLE_RTTI: OFF -- ENABLE_EXCEPTIONS: OFF OUTPUT SIZE AFTER: Build folder size: 58,4 MB (61 331 179 bytes) GLSLANG SIZE AFTER: glslang.lib 21,6 MB (22 655 252 bytes)
| Name |
Last commit
|
Last update |
|---|---|---|
| External | Loading commit data... | |
| OGLCompilersDLL | Loading commit data... | |
| SPIRV | Loading commit data... | |
| StandAlone | Loading commit data... | |
| Test | Loading commit data... | |
| build_overrides | Loading commit data... | |
| glslang | Loading commit data... | |
| gtests | Loading commit data... | |
| hlsl | Loading commit data... | |
| kokoro | Loading commit data... | |
| ndk_test | Loading commit data... | |
| .appveyor.yml | Loading commit data... | |
| .clang-format | Loading commit data... | |
| .gitattributes | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gn | Loading commit data... | |
| .travis.yml | Loading commit data... | |
| Android.mk | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| CHANGES.md | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CODE_OF_CONDUCT.md | Loading commit data... | |
| ChooseMSVCCRT.cmake | Loading commit data... | |
| DEPS | Loading commit data... | |
| LICENSE.txt | Loading commit data... | |
| README-spirv-remap.txt | Loading commit data... | |
| README.md | Loading commit data... | |
| WORKSPACE | Loading commit data... | |
| _config.yml | Loading commit data... | |
| build_info.h.tmpl | Loading commit data... | |
| build_info.py | Loading commit data... | |
| known_good.json | Loading commit data... | |
| known_good_khr.json | Loading commit data... | |
| license-checker.cfg | Loading commit data... | |
| parse_version.cmake | Loading commit data... | |
| standalone.gclient | Loading commit data... | |
| update_glslang_sources.py | Loading commit data... |