Add a RelWithAsserts build configuration.
On our bots, debug unit tests take around 2.5x as long to complete as release tests on Linux, 3x as long on macOS, and 6x as long on Windows. Our tests are fast, so this does not particularly matter, but SDE inflates a 13 second test run to 8 minutes. On Windows (MSVC), where we don't but would like to test with SDE, the difference between optimized and unoptimized is even larger, and test runs are slower in general. This suggests running SDE tests in release mode. Release mode tests, however, are less effective because they do not include asserts. Thus, add a RelWithAsserts option. (Chromium does something similar. I believe most of the test-running configurations on the critical path run is_debug = false and dcheck_always_on = true.) Change-Id: I273dd86ab8ea039f34eca431483827c87dc5c461 Reviewed-on: https://boringssl-review.googlesource.com/c/34464 Commit-Queue: Adam Langley <agl@google.com> Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
parent
51011b4a26
commit
c47f7936d0
@ -70,6 +70,13 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -DNDEBUG")
|
||||
endif()
|
||||
|
||||
# Add a RelWithAsserts build configuration. It is the same as Release, except it
|
||||
# does not define NDEBUG, so asserts run.
|
||||
foreach(VAR CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_ASM_FLAGS)
|
||||
string(REGEX REPLACE "(^| )[/-]DNDEBUG( |$)" " " "${VAR}_RELWITHASSERTS"
|
||||
"${${VAR}_RELEASE}")
|
||||
endforeach()
|
||||
|
||||
if(BORINGSSL_PREFIX AND BORINGSSL_PREFIX_SYMBOLS)
|
||||
add_definitions(-DBORINGSSL_PREFIX=${BORINGSSL_PREFIX})
|
||||
# CMake automatically connects include_directories to the NASM command-line,
|
||||
|
Loading…
Reference in New Issue
Block a user