X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=CMakeLists.txt;h=da59dbdb602892868ce8a5e0bed125310b245fe2;hp=8b7e3dbe17ef459f837edc56555626665c6c8b69;hb=8273224500228157351f21d14f113d9d2904eae8;hpb=392367381225027246e8c765a7c3b7e5bf186ee2 diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b7e3dbe..da59dbdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ # : select binaries to build # -DWITH_OPENSSL=OFF : Disable OpenSSL support # -DWITH_DBUS=OFF : Disable D-Bus support +# -DWITH_WEBKIT=OFF : Disable WebKit support # -DOXYGEN_ICONS=(Builtin|External) : If "Builtin" (the default), compile our Oxygen Icon Theme subset into the binary # : If "External", we assume Oxygen is already installed on the system # -DQUASSEL_ICONS=(Builtin|External) : If "Builtin" (the default), put our own icons into the binary @@ -16,8 +17,7 @@ project(QuasselIRC) -# Target scopes don't work in older versions -cmake_minimum_required(VERSION 2.4.7 FATAL_ERROR) +cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) @@ -34,6 +34,7 @@ option(WANT_MONO "Build the monolithic (all-in-one) binary" OFF) option(WITH_OPENSSL "Enable OpenSSL support if present on the system" ON) option(WITH_DBUS "Enable D-Bus support if present on the system" ON) +option(WITH_WEBKIT "Enable WebKit support if present on the system" ON) option(STATIC "Enable static building (might not be portable)" OFF) option(DEPLOY "Mac OS X only! Adds required libs to bundle resources and create a dmg. Note: requires Qt to be built with 10.4u SDK" OFF) @@ -86,23 +87,6 @@ if(EXECINFO_FOUND) link_libraries(${EXECINFO_LIBRARIES}) endif(EXECINFO_FOUND) -# Decide what to do with icons -if(WANT_QTCLIENT OR WANT_MONO) - if(QUASSEL_ICONS MATCHES "External") - message(STATUS "Install Quassel icons to ${CMAKE_INSTALL_PREFIX}/share/apps/quassel") - else(QUASSEL_ICONS MATCHES "External") - set(QUASSEL_ICONS "Builtin") - message(STATUS "Compile Quassel icons into the binary") - endif(QUASSEL_ICONS MATCHES "External") - - if(OXYGEN_ICONS MATCHES "External") - message(STATUS "Use system-installed Oxygen icon theme") - else(OXYGEN_ICONS MATCHES "External") - set(OXYGEN_ICONS "Builtin") - message(STATUS "Compile Oxygen icon theme subset into the binary") - endif(OXYGEN_ICONS MATCHES "External") -endif(WANT_QTCLIENT OR WANT_MONO) - # Select a Qt installation here, if you don't want to use system Qt if(QT) # FindQt4 will look for the qmake binary in $PATH, so we just prepend the Qt dir @@ -151,6 +135,22 @@ else(WITH_DBUS) message(STATUS "Disabling D-Bus support") endif(WITH_DBUS) +# Setup QtWebKit support +if(WITH_WEBKIT) + if(QT_QTWEBKIT_FOUND) + message(STATUS "Found QtWebKit, enabling WebKit support") + add_definitions(-DHAVE_WEBKIT) + set(LINK_WEBKIT WEBKIT) + set(HAVE_WEBKIT true) + set(MOC_DEFINES ${MOC_DEFINES} -DHAVE_WEBKIT) + else(QT_QTWEBKIT_FOUND) + message(STATUS "QtWebKit not found, disabling D-Bus support") + endif(QT_QTWEBKIT_FOUND) +else(WITH_WEBKIT) + message(STATUS "Disabling WebKit support") +endif(WITH_WEBKIT) + + # Set global buildflags # This is very much non-portable, so don't use -DSTATIC until you know what # you do. @@ -162,15 +162,17 @@ if(STATIC AND CMAKE_COMPILER_IS_GNUCXX) endif(HAVE_SSL) endif(STATIC AND CMAKE_COMPILER_IS_GNUCXX) -if(STATIC AND WIN32) - link_libraries(imm32 winmm) # missing by default :/ - if(HAVE_SSL) +if(WIN32) + #if(STATIC) + link_libraries(imm32 winmm dbghelp) # missing by default :/ + #endif(STATIC) + if(HAVE_SSL) link_libraries(${OPENSSL_LIBRARIES} libeay32MD) - endif(HAVE_SSL) -endif(STATIC AND WIN32) + endif(HAVE_SSL) +endif(WIN32) if(WIN32) - set(RC_WIN32 pics/win32.rc) # for app icons on windows + set(RC_WIN32 ../pics/win32.rc) # for app icons on windows endif(WIN32) # This is dirty, but I haven't found a cleaner way to ensure that the generated .qrc files @@ -185,9 +187,25 @@ target_link_libraries(genversion ${QT_LIBRARIES} ${QT_CORE_LIB_DEPENDENCIES}) get_target_property(GENVERSION_EXECUTABLE genversion LOCATION) add_custom_target(genversion_run ALL ${GENVERSION_EXECUTABLE} - ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/src/common/version.gen) + ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/src/version.gen) add_dependencies(genversion_run genversion) +# Decide what to do with icons +if(WANT_QTCLIENT OR WANT_MONO) + if(QUASSEL_ICONS MATCHES "External") + message(STATUS "Install Quassel icons to ${CMAKE_INSTALL_PREFIX}/share/apps/quassel") + else(QUASSEL_ICONS MATCHES "External") + set(QUASSEL_ICONS "Builtin") + message(STATUS "Compile Quassel icons into the binary") + endif(QUASSEL_ICONS MATCHES "External") + + if(OXYGEN_ICONS MATCHES "External") + message(STATUS "Use system-installed Oxygen icon theme") + else(OXYGEN_ICONS MATCHES "External") + set(OXYGEN_ICONS "Builtin") + message(STATUS "Compile Oxygen icon theme subset into the binary") + endif(OXYGEN_ICONS MATCHES "External") +endif(WANT_QTCLIENT OR WANT_MONO) # These variables will be added to the main targets (CORE, QTCLIENT, MONO) @@ -202,7 +220,3 @@ add_subdirectory(icons) #add_subdirectory(pics) add_subdirectory(i18n) add_subdirectory(src) - -# Make sure version.gen exists before building mod_common -# TODO: make only main.cpp depend on that! Recompiles suck... -add_dependencies(mod_common genversion_run)