X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=0b1d3e5c2f0b7d1b550c5029e0e7f8c0c5cdf994;hp=956f647647347bfc34fa4d34651f8027716ad280;hb=72d822f3583f67252fed8544b76f8501cda7531f;hpb=784009b62f2a48b97853e0466a572c13e9aee711 diff --git a/CMakeLists.txt b/CMakeLists.txt index 956f6476..0b1d3e5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,11 @@ project(QuasselIRC) # Versions set(QUASSEL_MAJOR 0) set(QUASSEL_MINOR 12) -set(QUASSEL_PATCH 0) -set(QUASSEL_VERSION_STRING "0.12-pre") +set(QUASSEL_PATCH 2) +set(QUASSEL_VERSION_STRING "0.12.2") + +# We want to know CMake's version for debug reasons +message(STATUS "Using CMake ${CMAKE_VERSION}") # Tell CMake about or own modules set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) @@ -237,7 +240,11 @@ if (USE_QT5) ) endif() endif() - add_feature_info("WITH_WEBKIT, QtWebKit and QtWebKitWidgets modules" Qt5WebKitWidgets_FOUND "Support showing previews for URLs in chat") + + 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") # KDE Frameworks ################ @@ -262,23 +269,17 @@ 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" - DESCRIPTION "framework providing an assortment of widgets for displaying and editing text" - PURPOSE "Allows to use extra features provided by KDE Frameworks in input widgets" + find_package(KF5 COMPONENTS ConfigWidgets CoreAddons Notifications NotifyConfig TextWidgets WidgetsAddons XmlGui QUIET) + set_package_properties(KF5 PROPERTIES TYPE REQUIRED + URL "http://www.kde.org" + DESCRIPTION "KDE Frameworks" + PURPOSE "Required for integration into the Plasma desktop" ) endif() endif(BUILD_GUI) + if (BUILD_CORE) find_package(Qt5Script QUIET) set_package_properties(Qt5Script PROPERTIES TYPE REQUIRED @@ -303,6 +304,7 @@ if (USE_QT5) DESCRIPTION "contains tools for handling translation files" PURPOSE "Required for having translations" ) + # Some Qt5 versions do not define a target for lconvert, so we need to find it ourselves if (Qt5LinguistTools_FOUND) if (NOT TARGET Qt5::lconvert AND TARGET Qt5::lrelease) @@ -418,6 +420,20 @@ 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}") +check_cxx_source_compiles(" + #include \"qglobal.h\" + #if defined QT_NO_OPENSSL || defined QT_NO_SSL + # error \"No SSL support\" + #endif + int main() {}" + HAVE_SSL) +cmake_pop_check_state() # Additional compile settings ##################################################################### @@ -481,20 +497,6 @@ if (NOT ZLIB_FOUND) endif() 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}) -check_cxx_source_compiles(" - #include \"qglobal.h\" - #if defined QT_NO_OPENSSL || 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() @@ -568,6 +570,17 @@ include(GetGitRevisionDescription) get_git_head_revision(GIT_REFSPEC GIT_HEAD) git_describe(GIT_DESCRIBE --long) +# If not in a Git repo try to read GIT_HEAD and GIT_DESCRIBE from +# enviroment +if (NOT GIT_HEAD OR NOT GIT_DESCRIBE) + if (DEFINED ENV{GIT_HEAD}) + set(GIT_HEAD $ENV{GIT_HEAD}) + endif () + if (DEFINED ENV{GIT_DESCRIBE}) + set(GIT_DESCRIBE $ENV{GIT_DESCRIBE}) + endif() +endif() + # Sanitize things if we're not in a Git repo if (NOT GIT_HEAD OR NOT GIT_DESCRIBE) set(GIT_HEAD "")