3 # Select if Quassel should be built in client, server or monolithic mode
4 SET(BUILD "mono" CACHE STRING "Defines which Quassel parts are to be built. Can contain 'server', 'client' and/or 'monolithic' (which is the default).")
8 IF(BUILD MATCHES "server")
10 MESSAGE(STATUS "Building Quassel server.")
11 ENDIF(BUILD MATCHES "server")
12 IF(BUILD MATCHES "client")
13 SET(BUILD_CLIENT true)
14 MESSAGE(STATUS "Building Quassel client.")
15 ENDIF(BUILD MATCHES "client")
16 IF(BUILD MATCHES "mono")
18 MESSAGE(STATUS "Building monolithic Quassel.")
19 ENDIF(BUILD MATCHES "mono")
20 IF(NOT BUILD_MONO AND NOT BUILD_SERVER AND NOT BUILD_CLIENT)
21 MESSAGE(FATAL_ERROR "You have not selected which parts of Quassel I should build. Aborting.\nRun 'cmake -DBUILD=<part>', where <part> contains one or more of 'server', 'client' or 'monolithic'.")
22 ENDIF(NOT BUILD_MONO AND NOT BUILD_SERVER AND NOT BUILD_CLIENT)
24 # We need Qt4 support.
25 FIND_PACKAGE(Qt4 REQUIRED)
27 # Set needed libraries
28 SET(QT_USE_QTXML true)
29 IF(NOT BUILD_CLIENT AND NOT BUILD_MONO)
30 SET(QT_DONT_USE_QTGUI true)
31 MESSAGE(STATUS "Disabling GUI support.")
32 ENDIF(NOT BUILD_CLIENT AND NOT BUILD_MONO)
33 INCLUDE(${QT_USE_FILE})
34 ADD_DEFINITIONS(${QT_DEFINITIONS})
37 SET(quassel_SRCS main/main.cpp)
38 SET(quassel_RCCS images/icons.qrc)
39 SET(quassel_DIRS gui main)
41 # Build correct absolute paths for subdirs to include
43 FOREACH(dir ${quassel_DIRS})
44 SET(SDIRS ${SDIRS} "${CMAKE_CURRENT_SOURCE_DIR}/${dir}")
46 INCLUDE_DIRECTORIES(${SDIRS} ${QT_INCLUDES})
49 ADD_SUBDIRECTORY(main)
51 QT4_ADD_RESOURCES(_RCCS ${quassel_RCCS})
53 ADD_EXECUTABLE(quasselbin ${quassel_SRCS} ${_RCCS})
54 TARGET_LINK_LIBRARIES(quasselbin main gui ${QT_LIBRARIES})