X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=2c2ff02619ad8262f5ea0d930d21be760c7d472f;hp=e2d5f48be061c957a9603c02b01dc7d937d5c4d0;hb=ec86ead09bc7a03e0f264dfc4e68c385d8bec7e3;hpb=d68e9d67200abc51123b357bcdbbc816d4a70791 diff --git a/CMakeLists.txt b/CMakeLists.txt index e2d5f48b..2c2ff026 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,11 +139,7 @@ if (USE_QT5) add_definitions(-DHAVE_QT5) else() message(STATUS "Building for Qt4...") - if (BUILD_GUI) - set(QT_MIN_VERSION "4.6.0") - else() - set(QT_MIN_VERSION "4.4.0") - endif() + set(QT_MIN_VERSION "4.8.0") # Select a Qt installation here, if you don't want to use system Qt if(QT_PATH) @@ -256,6 +252,19 @@ if (USE_QT5) endif() if (WITH_KDE) + find_package(KF5CoreAddons QUIET) + set_package_properties(KF5CoreAddons PROPERTIES TYPE REQUIRED + URL "http://inqlude.org/libraries/kcoreaddons.html" + DESCRIPTION "framework for solving common problems such as caching, randomization, and more" + PURPOSE "Required for KDE Frameworks integration" + ) + + find_package(KF5TextWidgets QUIET) + set_package_properties(KF5TextWidgets PROPERTIES TYPE REQUIRED + URL "http://inqlude.org/libraries/ktextwidgets.html" + DESCRIPTION "framework providing an assortment of widgets for displaying and editing text" + PURPOSE "Allows to use extra features provided by KDE Frameworks in input widgets" + ) endif() @@ -270,14 +279,12 @@ if (USE_QT5) DESCRIPTION "the database support module for Qt5" ) - # While QCA2 seems to support Qt5, it is not actually co-installable or distinguishable from the Qt4 version... - # In order to avoid linking against the Qt4 version (which is probably the one installed), disable this for now - #find_package(QCA2 QUIET) - #set_package_properties(QCA2 PROPERTIES TYPE RECOMMENDED - # URL "https://projects.kde.org/projects/kdesupport/qca" - # DESCRIPTION "Qt Cryptographic Architecture" - # PURPOSE "Required for encryption support" - #) + find_package(QCA2-QT5) + set_package_properties(QCA2-QT5 PROPERTIES TYPE RECOMMENDED + URL "https://projects.kde.org/projects/kdesupport/qca" + DESCRIPTION "Qt Cryptographic Architecture" + PURPOSE "Required for encryption support" + ) endif(BUILD_CORE) @@ -418,6 +425,11 @@ if (MINGW AND NOT KDE4_FOUND) add_definitions(-U__STRICT_ANSI__) endif() +# Sanitize compiler flags - old versions of KDE set -ansi, which breaks -std=c++11 +if (CMAKE_COMPILER_IS_GNUCXX) + string(REPLACE "-ansi" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +endif() + # Setup KDE / KDE Frameworks ##################################################################### @@ -430,8 +442,8 @@ if (KDE4_FOUND) set(EMBED_DATA OFF) # Better have the compile flags global, even for the core, to avoid problems with linking the mono client - add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) - set(HAVE_KDE4 TRUE) + add_definitions(-DHAVE_KDE -DHAVE_KDE4 ${KDE4_DEFINITIONS}) + set(WITH_KDE4 TRUE) endif() if (USE_QT5 AND WITH_KDE) @@ -442,8 +454,8 @@ if (USE_QT5 AND WITH_KDE) include(KDECompilerSettings) include(KDECMakeSettings) - add_definitions(-DHAVE_KF5) - set(HAVE_KF5 TRUE) + add_definitions(-DHAVE_KDE -DHAVE_KF5) + set(WITH_KF5 TRUE) endif() # This needs to come after setting up KDE integration, so we can use KDE-specific paths