diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e1a53da58..3b7cebf694 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ enable_testing() # User options # ######################## -set(BUILD_TYPE_VALUES Debug Release) +set(BUILD_TYPE_VALUES Debug Release RelWithDebInfo) if (CMAKE_CONFIGURATION_TYPES) # multi-config generators like MSVC set(CMAKE_CONFIGURATION_TYPES ${BUILD_TYPE_VALUES} CACHE TYPE INTERNAL FORCE) else() @@ -157,9 +157,11 @@ endif() set(CMAKE_C_FLAGS_DEBUG "${C_debug} ${C_checked}") set(CMAKE_C_FLAGS_RELEASE "${C_optimized}") +set(CMAKE_C_FLAGS_RELWITHDEBINFO "${C_optimized} ${C_debug}") set(CMAKE_C_FLAGS "${C_other}") set(CMAKE_Fortran_FLAGS_DEBUG "${Fortran_debug} ${Fortran_checked}") set(CMAKE_Fortran_FLAGS_RELEASE "${Fortran_optimized}") +set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${Fortran_optimized} ${Fortran_debug}") set(CMAKE_Fortran_FLAGS "${Fortran_preprocess} ${Fortran_io} ${Fortran_other}") if (OPTIMIZE_C) @@ -169,6 +171,8 @@ endif() if (ENABLE_RUNTIME_CHECKS) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${C_checked}") set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} ${Fortran_checked}") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${C_checked}") + set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO} ${Fortran_checked}") endif() if (SAVE_TEMPS) diff --git a/doc/cmake/INSTALL.md b/doc/cmake/INSTALL.md index 14827cbf47..dc0da3cc92 100644 --- a/doc/cmake/INSTALL.md +++ b/doc/cmake/INSTALL.md @@ -76,7 +76,7 @@ By default WRF-CMake will compile in `serial` mode with `basic` nesting option. |----|-------|-------|-----------| |`MODE`|`serial`, `dmpar`, `smpar`, `dm_sm`|`serial`|Serial/parallel modes| |`NESTING`|`none`, `basic`, `vortex`, `following`|`basic`|Domain Options| -|`CMAKE_BUILD_TYPE`|`Release`, `Debug`|`Release`|Whether to optimise/build with debug flags.| +|`CMAKE_BUILD_TYPE`|`Release`, `Debug`, `RelWithDebInfo`|`Release`|Whether to optimise/build with debug flags.| |`ENABLE_RUNTIME_CHECKS`|`ON`, `OFF`|`OFF`|Whether to enable compiler runtime checks in Release mode.| |`ENABLE_GRIB1`|`ON`, `OFF`|`ON`|Enable/Disable GRIB 1 support.| |`ENABLE_GRIB2`|`ON`, `OFF`|`ON`|Enable/Disable GRIB 2 support.| @@ -108,7 +108,7 @@ where `` is the directory where to install WPS and `