X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=a45928a91547eb07fe9f5415265c078a00498dbc;hp=0b2a96cda0673909e44808a9041ec24408c0c3fe;hb=0bc4b2b4a25adea85d5f6c6947cfd31f9098149e;hpb=36b30b6b8775f5322fad3d1ee99545a07baf9e20 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b2a96cd..a45928a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,6 +66,7 @@ set(LINGUAS "" CACHE STRING "Comma-separated list of locales specifying language # Some settings imply others if(STATIC) + add_definitions(-DSTATIC) set(WITH_KDE OFF CACHE BOOL "Static building with KDE is not supported") endif(STATIC) @@ -74,13 +75,45 @@ if(WIN32) set(EMBED_DATA ON) endif(WIN32) +# For static builds, arbitrary extra libs might need to be linked +# Define a comma-separated list here +# e.g. for pgsql, we need -DLINK_EXTRA=pq;crypt +set(LINK_EXTRA "" CACHE STRING "Semicolon-separated list of libraries to be linked") +if(LINK_EXTRA) + string(REPLACE "," ";" LINK_EXTRA ${LINK_EXTRA}) + link_libraries(${LINK_EXTRA}) +endif(LINK_EXTRA) + +# Build Type +# We need to make sure it's not empty +# Supported: Release, RelWithDebugInfo, Debug, Debugfull + +# On WIN32, only Release seems to work correctly (?) +if(WIN32) + set(DEFAULT_BUILD_TYPE "Release") +else(WIN32) + set(DEFAULT_BUILD_TYPE "RelWithDebugInfo") +endif(WIN32) + +set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE} CACHE STRING "CMake Build Type") +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE} CACHE STRING "CMake Build Type" FORCE) +endif(NOT CMAKE_BUILD_TYPE) + # Enable various flags on gcc if(CMAKE_COMPILER_IS_GNUCXX) # Let's just hope that all gccs support these options and skip the tests... set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wall -Wextra -Wnon-virtual-dtor") + 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") endif(CMAKE_COMPILER_IS_GNUCXX) -set(QT_MIN_VERSION "4.4.0") +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) + set(QT_MIN_VERSION "4.4.0") +endif(WANT_MONO OR WANT_QTCLIENT) if(APPLE AND DEPLOY) set(CMAKE_OSX_ARCHITECTURES "i386;ppc") @@ -228,18 +261,13 @@ if(STATIC AND CMAKE_COMPILER_IS_GNUCXX) endif(STATIC AND CMAKE_COMPILER_IS_GNUCXX) if(WIN32) - #if(STATIC) - link_libraries(imm32 winmm dbghelp) # missing by default :/ - #endif(STATIC) + link_libraries(imm32 winmm dbghelp Secur32) # missing by default :/ + if(HAVE_SSL) link_libraries(${OPENSSL_LIBRARIES} libeay32MD) endif(HAVE_SSL) endif(WIN32) -if(WIN32) - set(RC_WIN32 ../pics/win32.rc) # for app icons on windows -endif(WIN32) - # We need to create a version.gen # For this, we create our genversion binary and make sure it is run every time. add_executable(genversion ${CMAKE_SOURCE_DIR}/src/common/genversion.cpp)