X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=de7f3e455a08b8ea1c9f433588406d5ba40a4fc0;hp=a983dc42e046d115db46c6934972a8045889ac7f;hb=5d2b5335c7e74077d445f5b462e3f4633c5e4efe;hpb=b4d0d2611edc140686b34d8331821c4e1da1a62f diff --git a/CMakeLists.txt b/CMakeLists.txt index a983dc42..de7f3e45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,12 +107,20 @@ endif(NOT CMAKE_BUILD_TYPE) if(CMAKE_COMPILER_IS_GNUCXX) # Let's just hope that all gccs support these options and skip the tests... # -fno-strict-aliasing is needed apparently for Qt < 4.6 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wall -Wextra -Wnon-virtual-dtor -fno-strict-aliasing") - set(CMAKE_CXX_FLAGS_RELWITHDEBUGINFO "-O2") - set(CMAKE_CXX_FLAGS_DEBUG "-g -fno-reorder-blocks -fno-schedule-insns -fno-inline") - set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wall -Wextra -Wnon-virtual-dtor -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS_RELWITHDEBUGINFO "-g -O2 ${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS_DEBUG "-g -ggdb -fno-reorder-blocks -fno-schedule-insns -fno-inline ${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 ${CMAKE_CXX_FLAGS_DEBUG}") endif(CMAKE_COMPILER_IS_GNUCXX) +string(TOUPPER ${CMAKE_BUILD_TYPE} upper_build_type) +if(upper_build_type STREQUAL "RELEASE" OR upper_build_type STREQUAL "RELWITHDEBUGINFO") + add_definitions(-DNDEBUG -DQT_NO_DEBUG) +else(upper_build_type STREQUAL "RELEASE" OR upper_build_type STREQUAL "RELWITHDEBUGINFO") + set(DEBUG 1) +endif(upper_build_type STREQUAL "RELEASE" OR upper_build_type STREQUAL "RELWITHDEBUGINFO") + if(WANT_MONO OR WANT_QTCLIENT) set(QT_MIN_VERSION "4.4.1") # Client crashes often with 4.4.0 else(WANT_MONO OR WANT_QTCLIENT)