From: Manuel Nickschas Date: Sun, 15 Mar 2020 17:55:01 +0000 (+0100) Subject: ssl: Require SSL support in Qt X-Git-Tag: test-01~10 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=df38a9238d603ec8d2040619befa50980d994916;ds=sidebyside ssl: Require SSL support in Qt There is no sane reason for not using SSL in the year 2020, plus every distro should be shipping the Qt libraries with SSL support enabled. Thus, make it mandatory for Quassel, too. Going forward, this allows us to remove lots of fallback code paths that make the code much more complex in many places, and that have not been tested (or even been built) in a long time. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index cd9f79d2..61428e2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,6 +179,25 @@ set_package_properties(Qt5 PROPERTIES TYPE REQUIRED ) message(STATUS "Found Qt ${Qt5Core_VERSION}") +# Check for SSL support in Qt +cmake_push_check_state(RESET) +set(CMAKE_REQUIRED_LIBRARIES Qt5::Core) +check_cxx_source_compiles(" + #include \"qglobal.h\" + #if defined QT_NO_SSL + # error \"No SSL support\" + #endif + int main() {}" + HAVE_SSL) +cmake_pop_check_state() + +if (NOT HAVE_SSL) + message(FATAL_ERROR "Quassel requires SSL support, but Qt is built with QT_NO_SSL") +endif() + +# Compat until fallback code paths have been disabled +add_definitions(-DHAVE_SSL) + # Optional Qt components find_package(Qt5LinguistTools QUIET) @@ -399,25 +418,6 @@ if (BUILD_TESTING) process_cmake_cxx_flags() endif() -# Check for SSL support in Qt -##################################################################### - -cmake_push_check_state(RESET) -set(CMAKE_REQUIRED_LIBRARIES Qt5::Core) -check_cxx_source_compiles(" - #include \"qglobal.h\" - #if defined QT_NO_SSL - # error \"No SSL support\" - #endif - int main() {}" - HAVE_SSL) -cmake_pop_check_state() - -if (HAVE_SSL) - add_definitions(-DHAVE_SSL) -endif() -add_feature_info("SSL support in Qt" HAVE_SSL "Use secure network connections") - # Setup support for KDE Frameworks ##################################################################### diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 017bccfb..dd1ddc71 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -39,6 +39,7 @@ target_sources(${TARGET} PRIVATE sessionthread.cpp sqlauthenticator.cpp sqlitestorage.cpp + sslserver.cpp storage.cpp # needed for automoc @@ -57,10 +58,6 @@ if (HAVE_UMASK) set_property(SOURCE oidentdconfiggenerator.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_UMASK) endif() -if (HAVE_SSL) - target_sources(${TARGET} PRIVATE sslserver.cpp) -endif() - if (Ldap_FOUND) target_sources(${TARGET} PRIVATE ldapauthenticator.cpp) target_link_libraries(${TARGET} PRIVATE Ldap::Ldap) diff --git a/src/qtui/CMakeLists.txt b/src/qtui/CMakeLists.txt index 034d6c6e..0d6d2b9b 100644 --- a/src/qtui/CMakeLists.txt +++ b/src/qtui/CMakeLists.txt @@ -45,6 +45,7 @@ target_sources(${TARGET} PRIVATE settingsdlg.cpp settingspagedlg.cpp simplenetworkeditor.cpp + sslinfodlg.cpp systemtray.cpp systrayanimationnotificationbackend.cpp systraynotificationbackend.cpp @@ -80,6 +81,7 @@ target_sources(${TARGET} PRIVATE settingsdlg.ui settingspagedlg.ui simplenetworkeditor.ui + sslinfodlg.ui systrayanimationconfigwidget.ui topicwidget.ui ) @@ -172,13 +174,6 @@ if (HAVE_WEBENGINE) Qt5::WebEngineWidgets) endif() -if (HAVE_SSL) - target_sources(${TARGET} PRIVATE - sslinfodlg.cpp - sslinfodlg.ui - ) -endif() - if (LibsnoreQt5_FOUND) target_compile_definitions(${TARGET} PRIVATE -DHAVE_LIBSNORE) target_sources(${TARGET} PRIVATE