X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=3096bbd914d57bf1012fa9e68430d59885b4d601;hp=cb351652ea431160563b1c522ab6a66740655668;hb=98fe341385f5b1bc0f652df61a85a0c7e00014d1;hpb=8ee681e8d04043b095ae430fb7581fd6e1f5ea4c diff --git a/CMakeLists.txt b/CMakeLists.txt index cb351652..3096bbd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,7 @@ # -DWITH_PHONON=OFF : Disable Phonon support (audio notifications) # -DWITH_LIBINDICATE=OFF : Disable libindicate support (Ayatana notifications) # -DWITH_KDE=ON : Enable KDE4 support +# -DWITH_CRYPT=OFF : Disable encryption support # -DWITH_OXYGEN=(ON|OFF) : Whether to install Oxygen icons (default: yes, unless KDE > 4.3.0 is present and enabled) # # -DEMBED_DATA=ON : Embed all data files in icons the binary, rather than installing them separately @@ -44,6 +45,7 @@ option(WITH_WEBKIT "Enable WebKit support (for link previews)" ON) option(WITH_PHONON "Enable Phonon support (for audio notifications)" ON) option(WITH_LIBINDICATE "Enable Ayatana notification support" ON) option(WITH_KDE "Enable KDE4 integration" OFF) +option(WITH_CRYPT "Enable encryption support if present on system" ON) # We use icon paths from KDE 4.3.x, which are partially invalid on older and possibly # even on newer KDE versions. Do not disable this unless you are sure that your Quassel will @@ -122,7 +124,7 @@ else(upper_build_type STREQUAL "RELEASE" OR upper_build_type STREQUAL "RELWITHDE endif(upper_build_type STREQUAL "RELEASE" OR upper_build_type STREQUAL "RELWITHDEBUGINFO") if(WANT_MONO OR WANT_QTCLIENT) - set(QT_MIN_VERSION "4.5.0") + set(QT_MIN_VERSION "4.6.0") else(WANT_MONO OR WANT_QTCLIENT) set(QT_MIN_VERSION "4.4.0") endif(WANT_MONO OR WANT_QTCLIENT) @@ -177,7 +179,8 @@ if(WITH_DBUS) if(QT_QTDBUS_FOUND) message(STATUS "Found QtDBus, enabling D-Bus support") add_definitions(-DHAVE_DBUS) - set(LINK_DBUS DBUS) + set(CLIENT_QT4_VARS ${CLIENT_QT4_VARS} DBUS) + set(CLIENT_COMPILE_FLAGS "${CLIENT_COMPILE_FLAGS} -DQT_DBUS_LIB") set(HAVE_DBUS true) else(QT_QTDBUS_FOUND) message(STATUS "QtDBus not found, disabling D-Bus support") @@ -191,7 +194,8 @@ if(WITH_WEBKIT) if(QT_QTWEBKIT_FOUND) message(STATUS "Found QtWebKit, enabling WebKit support") add_definitions(-DHAVE_WEBKIT) - set(LINK_WEBKIT WEBKIT) + set(CLIENT_QT4_VARS ${CLIENT_QT4_VARS} WEBKIT XMLPATTERNS) + set(CLIENT_COMPILE_FLAGS "${CLIENT_COMPILE_FLAGS} -DQT_WEBKIT_LIB -DQT_XMLPATTERNS_LIB") set(HAVE_WEBKIT true) else(QT_QTWEBKIT_FOUND) message(STATUS "QtWebKit not found, disabling WebKit support") @@ -249,6 +253,7 @@ if(WITH_LIBINDICATE) pkg_check_modules(INDICATEQT indicate-qt>=0.2.1) if(INDICATEQT_FOUND) message(STATUS "Enabling Ayatana notification support") + set(HAVE_INDICATEQT true) add_definitions(-DHAVE_INDICATEQT) else(INDICATEQT_FOUND) message(STATUS "Disabling Ayatana notification support") @@ -256,8 +261,26 @@ if(WITH_LIBINDICATE) endif(PKG_CONFIG_FOUND) else(WITH_LIBINDICATE) message(STATUS "Not enabling Ayatana notification support") + # We don't want to link against it even if another package has found it + set(INDICATEQT_LIBRARIES "") endif(WITH_LIBINDICATE) +# Setup encyption support +if(WITH_CRYPT) + find_package(QCA2) + if(QCA2_FOUND) + message(STATUS "Found QCA2, enabling encryption support") + add_definitions(-DHAVE_QCA2) + set(LINK_QCA2 QCA2) + set(HAVE_QCA2 true) + set(MOC_DEFINES ${MOC_DEFINES} -DHAVE_QCA2) + else(QCA2_FOUND) + message(STATUS "QCA2 not found, disabling encryption support") + endif(QCA2_FOUND) +else(WITH_CRYPT) + message(STATUS "Not enabling encryption support") +endif(WITH_CRYPT) + # Now set up install locations; those are set by KDE if integration is enabled if(NOT HAVE_KDE) if(WIN32) @@ -298,17 +321,20 @@ endif(STATIC AND CMAKE_COMPILER_IS_GNUCXX) if(WIN32) link_libraries(imm32 winmm dbghelp Secur32) # missing by default :/ if(MSVC) + set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBUGINFO "/debug /INCREMENTAL:YES /NODEFAULTLIB:libcmt /DEFAULTLIB:msvcrt") + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBUGINFO}") + set(CMAKE_EXE_LINKER_FLAGS_DEBUGFULL "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBUGINFO}") link_libraries(Version dwmapi shlwapi) endif(MSVC) if(HAVE_SSL AND STATIC) find_package(OpenSSL REQUIRED) - link_libraries(${OPENSSL_LIBRARIES}) + link_libraries(${OPENSSL_LIBRARIES} ${OPENSSL_EAY_LIBRARIES}) endif(HAVE_SSL AND STATIC) endif(WIN32) -if(INDICATEQT_FOUND) +if(HAVE_INDICATEQT) add_definitions(-DXDG_APPS_INSTALL_DIR=${XDG_APPS_INSTALL_DIR}) -endif(INDICATEQT_FOUND) +endif(HAVE_INDICATEQT) # We need to create a version.gen # For this, we create our genversion binary and make sure it is run every time.