Skip to content

Commit a01f595

Browse files
Tor Didriksenrafalmol-mysql
authored andcommitted
Bug #32287863 BACKPORT THE PATCH FOR BUG #27874068 ADD SUPPORT FOR -DCMAKE_BUILD_TYPE=RELEASE
Follow-up patch: re-enable -O3 by default for RelWithDebInfo (and Release) builds on Linux. Change-Id: Ica5190aa1d6f6539ad629d93c10e4a0fd0bcdd2d (cherry picked from commit 6cde07847a05e12640806f005d9eb7d120440b89)
1 parent b676eb4 commit a01f595

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

cmake/build_configurations/compiler_options.cmake

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,21 @@ IF(UNIX)
174174
STRING_PREPEND(CMAKE_CXX_FLAGS_RELEASE "${SECTIONS_FLAG} ")
175175
STRING_PREPEND(CMAKE_CXX_FLAGS_MINSIZEREL "${SECTIONS_FLAG} ")
176176

177+
# We need -O3 by default for RelWithDebInfo in order to avoid
178+
# performance regressions from earlier releases.
179+
# To disable this (and everything else in this file),
180+
# do 'cmake -DWITH_DEFAULT_COMPILER_OPTIONS=NO'.
181+
IF(LINUX)
182+
FOREACH(flag
183+
CMAKE_C_FLAGS_RELEASE
184+
CMAKE_C_FLAGS_RELWITHDEBINFO
185+
CMAKE_CXX_FLAGS_RELEASE
186+
CMAKE_CXX_FLAGS_RELWITHDEBINFO
187+
)
188+
STRING(REPLACE "-O2" "-O3" "${flag}" "${${flag}}")
189+
ENDFOREACH()
190+
ENDIF()
191+
177192
ENDIF()
178193

179194
SET(CMAKE_C_FLAGS_DEBUG

0 commit comments

Comments
 (0)