Skip to content
  • Tor Didriksen's avatar
    a5cfbbbd
    Bug#27874068 ADD SUPPORT FOR -DCMAKE_BUILD_TYPE=RELEASE · a5cfbbbd
    Tor Didriksen authored
    Move all compiler/language features, like -std=c++11 or
    -fsanitize=address for ASAN builds,
    from CMAKE_<LANG>_FLAGS_<CONFIG> to CMAKE_<LANG>_FLAGS
    
    With this patch, CMAKE_<LANG>_FLAGS_DEBUG contains only debug related flags:
    -- CMAKE_CXX_FLAGS_DEBUG: -DSAFE_MUTEX -DENABLED_DEBUG_SYNC -g
    
    The other CMAKE_<LANG>_FLAGS_<CONFIG> flags will switch off debugging,
    and add our default optimization flags:
    -- CMAKE_CXX_FLAGS_MINSIZEREL: -DDBUG_OFF -ffunction-sections -fdata-sections -Os -DNDEBUG
    
    Always PREPEND MySQL default flag values to cmake compiler flags,
    so that they can easily be overriden by command line options.
    This fixes
    Bug#28208842 COMPILER OPTIMIZATION HARDWIRED TO O2
    
    To override MySQL default flag values, for e.g. RELEASE builds, do:
    cmake . -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG -fno-function-sections -fno-data-sections"
    
    Change-Id: Ia7786b017fb719c203f4be0e83cf5f9e18b318dc
    (cherry picked from commit 3a8897a97a29d8b8ed042e24dbe1b1143a226582)
    a5cfbbbd
    Bug#27874068 ADD SUPPORT FOR -DCMAKE_BUILD_TYPE=RELEASE
    Tor Didriksen authored
    Move all compiler/language features, like -std=c++11 or
    -fsanitize=address for ASAN builds,
    from CMAKE_<LANG>_FLAGS_<CONFIG> to CMAKE_<LANG>_FLAGS
    
    With this patch, CMAKE_<LANG>_FLAGS_DEBUG contains only debug related flags:
    -- CMAKE_CXX_FLAGS_DEBUG: -DSAFE_MUTEX -DENABLED_DEBUG_SYNC -g
    
    The other CMAKE_<LANG>_FLAGS_<CONFIG> flags will switch off debugging,
    and add our default optimization flags:
    -- CMAKE_CXX_FLAGS_MINSIZEREL: -DDBUG_OFF -ffunction-sections -fdata-sections -Os -DNDEBUG
    
    Always PREPEND MySQL default flag values to cmake compiler flags,
    so that they can easily be overriden by command line options.
    This fixes
    Bug#28208842 COMPILER OPTIMIZATION HARDWIRED TO O2
    
    To override MySQL default flag values, for e.g. RELEASE builds, do:
    cmake . -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG -fno-function-sections -fno-data-sections"
    
    Change-Id: Ia7786b017fb719c203f4be0e83cf5f9e18b318dc
    (cherry picked from commit 3a8897a97a29d8b8ed042e24dbe1b1143a226582)
Loading