X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=956f647647347bfc34fa4d34651f8027716ad280;hp=69424f633d504544ab73cfa728cbdceecab6f8d3;hb=6538dce32fd66ee5274197f16bc9b75f09ef4aae;hpb=08a36367b1f541736cede098e26eefca838b526a diff --git a/CMakeLists.txt b/CMakeLists.txt index 69424f63..956f6476 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,6 @@ # General setup ##################################################################### -cmake_minimum_required(VERSION 2.8.9) # You'll need at least 2.8.12 for KDE Frameworks integration project(QuasselIRC) # Versions @@ -34,11 +33,6 @@ include(FeatureSummary) include(QuasselCompileSettings) include(QuasselMacros) -# Setting COMPILE_DEFINITIONS_ is deprecated since CMake 3.0 in favor of generator expressions. -# These have existed since CMake 2.8.10; until we depend on that, we have to explicitly enable the old policy. -if (CMAKE_MAJOR_VERSION GREATER 2) - cmake_policy(SET CMP0043 OLD) -endif() # Options and variables that can be set on the command line ##################################################################### @@ -119,6 +113,22 @@ if (LINK_EXTRA) endif() +# Setup CMake +##################################################################### + +if (USE_QT5 AND WITH_KDE) + cmake_minimum_required(VERSION 2.8.12) +else() + cmake_minimum_required(VERSION 2.8.9) +endif() + +# Setting COMPILE_DEFINITIONS_ is deprecated since CMake 3.0 in favor of generator expressions. +# These have existed since CMake 2.8.10; until we depend on that, we have to explicitly enable the old policy. +if (CMAKE_MAJOR_VERSION GREATER 2) + cmake_policy(SET CMP0043 OLD) +endif() + + # Simplify later checks ##################################################################### @@ -252,6 +262,13 @@ 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" @@ -272,14 +289,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) @@ -420,6 +435,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 #####################################################################