X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=c3acc218881f4ef1721beaf780fdae7956bcf9d5;hp=9037c89b42840c35a93bf25fb87b65979c28c377;hb=a8ab790b2218d6131f12b622b1373ba62958f3ef;hpb=02f740a0fed75951f474fc94c23901505a031c5b diff --git a/CMakeLists.txt b/CMakeLists.txt index 9037c89b..c3acc218 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,6 +108,11 @@ endif() # The following options are not for end-user consumption, so don't list them in the feature summary option(FATAL_WARNINGS "Make compile warnings fatal (most useful for CI builds)" OFF) +option(WARN_QT_DEPRECATION "Warn about deprecated Qt functionality" OFF) +if (WARN_QT_DEPRECATION) + # Enable Qt deprecation warnings for Qt < 5.13 (on by default in newer versions) + add_definitions("-DQT_DEPRECATED_WARNINGS") +endif() cmake_dependent_option(DEPLOY "Add required libs to bundle resources and create a dmg" OFF "APPLE" OFF) # List of authenticators and the cmake flags to build them @@ -207,19 +212,23 @@ if (BUILD_GUI) PURPOSE "Required for audio notifications" ) - find_package(LibsnoreQt5 0.7.0 QUIET) - set_package_properties(LibsnoreQt5 PROPERTIES TYPE OPTIONAL - URL "https://projects.kde.org/projects/playground/libs/snorenotify" - DESCRIPTION "a cross-platform notification framework" - PURPOSE "Enable support for the snorenotify framework" - ) - if (LibsnoreQt5_FOUND) - find_package(LibsnoreSettingsQt5 QUIET) - set_package_properties(LibsnoreSettingsQt5 PROPERTIES TYPE OPTIONAL + # snorenotify segfaults on startup on msys2 + # we don't check for just MSYS to support the Ninja generator + if(NOT (WIN32 AND (NOT $ENV{MSYSTEM} STREQUAL ""))) + find_package(LibsnoreQt5 0.7.0 QUIET) + set_package_properties(LibsnoreQt5 PROPERTIES TYPE OPTIONAL URL "https://projects.kde.org/projects/playground/libs/snorenotify" DESCRIPTION "a cross-platform notification framework" PURPOSE "Enable support for the snorenotify framework" ) + if (LibsnoreQt5_FOUND) + find_package(LibsnoreSettingsQt5 QUIET) + set_package_properties(LibsnoreSettingsQt5 PROPERTIES TYPE OPTIONAL + URL "https://projects.kde.org/projects/playground/libs/snorenotify" + DESCRIPTION "a cross-platform notification framework" + PURPOSE "Enable support for the snorenotify framework" + ) + endif() endif() if (WITH_WEBENGINE) @@ -330,7 +339,7 @@ endif() # Non-Qt-based packages ##################################################################### -find_package(Boost 1.56 REQUIRED) +find_package(Boost 1.54 REQUIRED) set_package_properties(Boost PROPERTIES TYPE REQUIRED URL "https://www.boost.org/" DESCRIPTION "Boost libraries for C++" @@ -360,6 +369,12 @@ if (NOT WIN32) ) endif() +# Shared library support +##################################################################### + +option(ENABLE_SHARED "Build modules as shared libraries" ON) +add_feature_info(ENABLE_SHARED ENABLE_SHARED "Build modules as shared libraries") + # Setup unit testing #####################################################################