endif()
# For this, the feature info is added after we know if QtWebkit is installed
-option(WITH_WEBKIT "WebKit support (for link previews)" ON)
+option(WITH_WEBKIT "WebKit support (for link previews) (legacy)" OFF)
+
+# For this, the feature info is added after we know if QtWebEngine is installed
+option(WITH_WEBENGINE "WebEngine support (for link previews)" ON)
if (APPLE)
# Notification Center is only available in > 10.8, which is Darwin v12
- if (CMAKE_SYSTEM_VERSION VERSION_GREATER "11.9.9")
+ if (NOT CMAKE_SYSTEM_VERSION VERSION_LESS 12)
option(WITH_NOTIFICATION_CENTER "OS X Notification Center support" ON)
add_feature_info(WITH_NOTIFICATION_CENTER WITH_NOTIFICATION_CENTER "Use the OS X Notification Center")
endif()
+ find_library(CARBON_LIBRARY Carbon)
+ mark_as_advanced(CARBON_LIBRARY)
+ link_libraries(${CARBON_LIBRARY})
endif()
# Always embed on Windows, OSX or for a static build; never embed when enabling KDE integration
# Setting COMPILE_DEFINITIONS_<CONFIG> 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)
+if (POLICY CMP0043)
cmake_policy(SET CMP0043 OLD)
endif()
# Honor visibility settings for all target types
-if (CMAKE_VERSION VERSION_GREATER 3.3)
+if (POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif()
# Set up Qt
#####################################################################
-if (USE_QT5)
- message(STATUS "Building for Qt5...")
- set(QT_MIN_VERSION "5.2.0")
- add_definitions(-DHAVE_QT5)
-else()
- message(STATUS "Building for Qt4...")
- set(QT_MIN_VERSION "4.8.0")
-
- # Select a Qt installation here, if you don't want to use system Qt
- if(QT_PATH)
- # FindQt4 will look for the qmake binary in $PATH, so we just prepend QT_PATH
- set(ENV{PATH} ${QT_PATH}/bin:$ENV{PATH})
- endif()
-endif()
-
-
# Find package dependencies
#
# Note that you can forcefully disable optional packages
#####################################################################
if (USE_QT5)
+ message(STATUS "Building for Qt5...")
+ set(QT_MIN_VERSION "5.2.0")
+ add_definitions(-DHAVE_QT5)
+
find_package(Qt5Core ${QT_MIN_VERSION} QUIET)
set_package_properties(Qt5Core PROPERTIES TYPE REQUIRED
URL "http://qt.digia.com"
DESCRIPTION "the widgets module for Qt5"
)
- find_package(Qt5DBus QUIET)
- set_package_properties(Qt5DBus PROPERTIES TYPE RECOMMENDED
- URL "http://qt.digia.com"
- DESCRIPTION "D-Bus support for Qt5"
- PURPOSE "Needed for supporting D-Bus-based notifications and tray icon, used by most modern desktop environments"
- )
- if (Qt5DBus_FOUND)
- find_package(dbusmenu-qt5 QUIET CONFIG)
- set_package_properties(dbusmenu-qt5 PROPERTIES TYPE RECOMMENDED
- URL "https://launchpad.net/libdbusmenu-qt"
- DESCRIPTION "a library implementing the DBusMenu specification"
- PURPOSE "Required for having a context menu for the D-Bus-based tray icon"
+ if (NOT WIN32)
+ find_package(Qt5DBus QUIET)
+ set_package_properties(Qt5DBus PROPERTIES TYPE RECOMMENDED
+ URL "http://qt.digia.com"
+ DESCRIPTION "D-Bus support for Qt5"
+ PURPOSE "Needed for supporting D-Bus-based notifications and tray icon, used by most modern desktop environments"
)
+ if (Qt5DBus_FOUND)
+ find_package(dbusmenu-qt5 QUIET CONFIG)
+ set_package_properties(dbusmenu-qt5 PROPERTIES TYPE RECOMMENDED
+ URL "https://launchpad.net/libdbusmenu-qt"
+ DESCRIPTION "a library implementing the DBusMenu specification"
+ PURPOSE "Required for having a context menu for the D-Bus-based tray icon"
+ )
+ endif()
endif()
find_package(Phonon4Qt5 QUIET)
if (WITH_WEBKIT AND Qt5WebKitWidgets_FOUND)
set(HAVE_WEBKIT true)
endif()
- add_feature_info("WITH_WEBKIT, QtWebKit and QtWebKitWidgets modules" HAVE_WEBKIT "Support showing previews for URLs in chat")
+ add_feature_info("WITH_WEBKIT, QtWebKit and QtWebKitWidgets modules" HAVE_WEBKIT "Support showing previews for URLs in chat (legacy)")
+
+ if (WITH_WEBENGINE)
+ find_package(Qt5WebEngine QUIET)
+ set_package_properties(Qt5WebEngine PROPERTIES TYPE RECOMMENDED
+ URL "http://qt.digia.com"
+ DESCRIPTION "a WebEngine implementation for Qt"
+ PURPOSE "Needed for displaying previews for URLs in chat"
+ )
+ if (Qt5WebEngine_FOUND)
+ find_package(Qt5WebEngineWidgets QUIET)
+ set_package_properties(Qt5WebEngineWidgets PROPERTIES TYPE RECOMMENDED
+ URL "http://qt.digia.com"
+ DESCRIPTION "widgets for Qt's WebEngine implementation"
+ PURPOSE "Needed for displaying previews for URLs in chat"
+ )
+ endif()
+ endif()
+
+ if (WITH_WEBENGINE AND Qt5WebEngineWidgets_FOUND)
+ set(HAVE_WEBENGINE true)
+ endif()
+ add_feature_info("WITH_WEBENGINE, QtWebEngine and QtWebEngineWidgets modules" HAVE_WEBENGINE "Support showing previews for URLs in chat")
# KDE Frameworks
################
endif()
else(USE_QT5)
+ message(STATUS "Building for Qt4...")
+ set(QT_MIN_VERSION "4.8.0")
+
+ # Select a Qt installation here, if you don't want to use system Qt
+ if(QT_PATH)
+ # FindQt4 will look for the qmake binary in $PATH, so we just prepend QT_PATH
+ set(ENV{PATH} ${QT_PATH}/bin:$ENV{PATH})
+ endif()
+
find_package(Qt4 ${QT_MIN_VERSION} QUIET REQUIRED)
if (BUILD_GUI)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES} ${Qt5Core_INCLUDE_DIRS})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+if (USE_QT5 AND Qt5_POSITION_INDEPENDENT_CODE)
+ set(CMAKE_REQUIRED_FLAGS "-fPIC -DQT_NO_VERSION_TAGGING")
+endif()
+
check_cxx_source_compiles("
#include \"qglobal.h\"
#if defined QT_NO_SSL