Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
CMake: Fix MSVC flags for Release/RelWithDebInfo
See https://gitlab.kitware.com/cmake/cmake/-/issues/20812 Manually redefine MSVC flags to match Visual Studio defaults and ensure that Release builds generate debug info.
- Loading branch information
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @@ -1,7 +1,11 @@ | ||
| if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") | ||
| # The default MSVC flags for Release and RelWithDebInfo are poorly chosen | ||
| # (see issue https://gitlab.kitware.com/cmake/cmake/-/issues/20812) | ||
| # By default, inlining is disabled for RelWithDebInfo. | ||
| # Manually redefine MSVC flags to match Visual Studio defaults | ||
| # and ensure that Release builds generate debug info. | ||
| foreach(f CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELEASE) | ||
| # optimize, define NDEBUG, generate debug info | ||
| set(${f} "/O2 /DNDEBUG /Z7") | ||
| endforeach() | ||
| endif() |