# Enable various flags on gcc
if(CMAKE_COMPILER_IS_GNUCXX)
- include(CheckCXXCompilerFlag)
- check_cxx_compiler_flag(-Wall HAVE_WALL)
- if(HAVE_WALL)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
- endif(HAVE_WALL)
- check_cxx_compiler_flag(-Wextra HAVE_WEXTRA)
- if(HAVE_WEXTRA)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")
- endif(HAVE_WEXTRA)
- check_cxx_compiler_flag(-ansi HAVE_ANSI)
- if(HAVE_ANSI)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi")
- endif(HAVE_ANSI)
+ # Let's just hope that all gccs support these options and skip the tests...
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wall -Wextra -Wnon-virtual-dtor")
endif(CMAKE_COMPILER_IS_GNUCXX)
set(QT_MIN_VERSION "4.4.0")
add_definitions(-DHAVE_EXECINFO)
endif(HAVE_EXECINFO)
-
# 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
include(${QT_USE_FILE})
include_directories(${QT_INCLUDES})
-# Set up OpenSSL
+# Setup OpenSSL
if(WITH_OPENSSL)
find_package(OpenSSL)
+else(WITH_OPENSSL)
+ message(STATUS "Disabling OpenSSL support")
endif(WITH_OPENSSL)
+
if(OPENSSL_FOUND)
if(NOT QT_DEFINITIONS MATCHES "QT_NO_OPENSSL")
+ message(STATUS "Found OpenSSL support in Qt")
add_definitions(-DHAVE_SSL)
set(HAVE_SSL true)
+ set(MOC_DEFINES ${MOC_DEFINES} -DHAVE_SSL)
+ else(NOT QT_DEFINITIONS MATCHES "QT_NO_OPENSSL")
+ message(STATUS "No OpenSSL support found in Qt, disabling")
endif(NOT QT_DEFINITIONS MATCHES "QT_NO_OPENSSL")
else(OPENSSL_FOUND)
add_definitions(-DQT_NO_OPENSSL)
endif(OPENSSL_FOUND)
-if(WITH_DBUS AND QT_QTDBUS_FOUND)
- add_definitions(-DHAVE_DBUS)
- set(LINK_DBUS DBUS)
- set(HAVE_DBUS true)
-endif(WITH_DBUS AND QT_QTDBUS_FOUND)
+# Setup D-Bus support
+if(WITH_DBUS)
+ if(QT_QTDBUS_FOUND)
+ message(STATUS "Found QtDBus, enabling D-Bus support")
+ add_definitions(-DHAVE_DBUS)
+ set(LINK_DBUS DBUS)
+ set(HAVE_DBUS true)
+ set(MOC_DEFINES ${MOC_DEFINES} -DHAVE_DBUS)
+ else(QT_QTDBUS_FOUND)
+ message(STATUS "QtDBus not found, disabling D-Bus support")
+ endif(QT_QTDBUS_FOUND)
+else(WITH_DBUS)
+ message(STATUS "Disabling D-Bus support")
+endif(WITH_DBUS)
# We need to create a version.gen
# For this, we create our genversion binary and make sure it is run every time.
add_executable(genversion ${CMAKE_SOURCE_DIR}/src/common/genversion.cpp)
target_link_libraries(genversion ${QT_LIBRARIES} ${QT_CORE_LIB_DEPENDENCIES})
-add_custom_target(genversion_run ALL ${CMAKE_BINARY_DIR}/genversion
+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)
add_dependencies(genversion_run genversion)
# Now we have everything, so just glue the right pieces together :)
if(WANT_CORE)
setup_qt4_variables(NETWORK SCRIPT SQL)
- add_executable(quasselcore ${CMAKE_SOURCE_DIR}/src/common/main.cpp
+ add_executable(quasselcore src/common/main.cpp
${RC_SQL} ${RC_I18N} ${WIN32_RC})
set_target_properties(quasselcore PROPERTIES
COMPILE_FLAGS "-DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_CORE")
if(WANT_QTCLIENT)
setup_qt4_variables(${LINK_DBUS} GUI NETWORK)
- add_executable(quasselclient WIN32 ${CMAKE_SOURCE_DIR}/src/common/main.cpp
+ add_executable(quasselclient WIN32 src/common/main.cpp
${RC_ICONS} ${RC_QUASSEL_ICONS} ${RC_I18N} ${WIN32_RC})
set_target_properties(quasselclient PROPERTIES
COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DBUILD_QTUI")
if(WANT_MONO)
setup_qt4_variables(${LINK_DBUS} GUI NETWORK SCRIPT SQL)
- add_executable(quassel WIN32 ${CMAKE_SOURCE_DIR}/src/common/main.cpp
+ add_executable(quassel WIN32 src/common/main.cpp src/qtui/monoapplication.cpp
${RC_ICONS} ${RC_QUASSEL_ICONS} ${RC_SQL} ${RC_I18N} ${WIN32_RC})
set_target_properties(quassel PROPERTIES
COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_MONO")