From: Manuel Nickschas Date: Thu, 2 Aug 2018 23:32:35 +0000 (+0200) Subject: cmake: Remove boilerplate from HAVE_SSL check X-Git-Tag: test-travis-01~171 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=d271c469e6d61005e45d22e7766f0bcb431c8327 cmake: Remove boilerplate from HAVE_SSL check Instead of setting flags and includes manually (potentially polluting global variables), just link the test program to Qt5::Core directly and rely on property propagation. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index d9dc2a83..508456e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -352,16 +352,8 @@ if (NOT WIN32) endif() # Check for SSL support in Qt -# As there's no easy way to get Qt's configuration in particular for Qt5, let's just compile -# a small test program checking the defines. This works for both Qt4 and Qt5. 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 (Qt5_POSITION_INDEPENDENT_CODE) - set(CMAKE_REQUIRED_FLAGS "-fPIC -DQT_NO_VERSION_TAGGING") -endif() - +set(CMAKE_REQUIRED_LIBRARIES Qt5::Core) check_cxx_source_compiles(" #include \"qglobal.h\" #if defined QT_NO_SSL @@ -371,6 +363,11 @@ check_cxx_source_compiles(" 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") + # Additional compile settings ##################################################################### @@ -431,11 +428,6 @@ include(QuasselInstallDirs) # Various config-dependent checks and settings ##################################################################### -if (HAVE_SSL) - add_definitions(-DHAVE_SSL) -endif() -add_feature_info("SSL support in Qt" HAVE_SSL "Use secure network connections") - # Check for syslog support if (NOT WIN32) check_include_file_cxx(syslog.h HAVE_SYSLOG)