1 # Builds the three main targets
3 add_subdirectory(common)
4 include_directories(BEFORE common)
7 include_directories(BEFORE core)
10 add_subdirectory(client)
11 add_subdirectory(uisupport)
13 add_subdirectory(qmlui)
14 set(CLIENT_LIBS ${CLIENT_LIBS} mod_qmlui)
16 add_subdirectory(qtui)
17 include_directories(BEFORE client)
18 include_directories(BEFORE uisupport)
19 include_directories(BEFORE qtui)
22 link_directories(${QT_PLUGINS_DIR}/imageformats)
23 set(CLIENT_LIBS ${CLIENT_LIBS} qjpeg qgif)
27 include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) # for version.gen
29 # Add resources. Can't be done in other subdirs apparently.
30 # Note that these variables need to contain paths relative to src/ (this dir)
31 qt4_add_resources(CLIENT_DEPS ${CLIENT_RCS})
32 qt4_add_resources(CORE_DEPS ${CORE_RCS})
33 qt4_add_resources(COMMON_DEPS ${COMMON_RCS})
36 setup_qt4_variables(NETWORK SCRIPT SQL)
37 add_executable(quasselcore common/main.cpp ${COMMON_DEPS} ${CORE_DEPS})
38 add_dependencies(quasselcore po genversion_run)
39 set_target_properties(quasselcore PROPERTIES
40 COMPILE_FLAGS "-DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_CORE"
41 OUTPUT_NAME ../quasselcore)
42 target_link_libraries(quasselcore mod_core mod_common
43 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES})
44 install(TARGETS quasselcore RUNTIME DESTINATION ${BIN_INSTALL_DIR})
48 setup_qt4_variables(GUI NETWORK ${CLIENT_QT4_VARS})
49 add_executable(quasselclient WIN32 common/main.cpp ${COMMON_DEPS} ${CLIENT_DEPS})
50 add_dependencies(quasselclient po genversion_run)
51 set_target_properties(quasselclient PROPERTIES
52 COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB ${CLIENT_COMPILE_FLAGS} -DBUILD_QTUI"
53 OUTPUT_NAME ../quasselclient)
54 target_link_libraries(quasselclient ${LINK_KDE} mod_qtui mod_uisupport mod_client mod_common ${CLIENT_LIBS}
55 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${CLIENT_LIBRARIES})
56 install(TARGETS quasselclient RUNTIME DESTINATION ${BIN_INSTALL_DIR})
60 setup_qt4_variables(GUI NETWORK SCRIPT SQL ${CLIENT_QT4_VARS})
61 qt4_wrap_cpp(MOC qtui/monoapplication.h)
62 add_executable(quassel WIN32 common/main.cpp qtui/monoapplication.cpp ${MOC} ${COMMON_DEPS} ${CLIENT_DEPS} ${CORE_DEPS})
63 add_dependencies(quassel po genversion_run)
64 set_target_properties(quassel PROPERTIES
65 COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB ${CLIENT_COMPILE_FLAGS} -DBUILD_MONO"
66 OUTPUT_NAME ../quassel)
67 target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common ${CLIENT_LIBS}
68 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${CLIENT_LIBRARIES})
69 install(TARGETS quassel RUNTIME DESTINATION ${BIN_INSTALL_DIR})
72 # Build bundles for MacOSX
74 add_custom_command(TARGET quasselclient POST_BUILD
75 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py
76 ${CMAKE_SOURCE_DIR} "Quassel Client" ../quasselclient)
77 add_custom_command(TARGET quassel POST_BUILD
78 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py
79 ${CMAKE_SOURCE_DIR} "Quassel" ../quassel)
81 add_custom_command(TARGET quasselclient POST_BUILD
82 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makePackage.sh Client ..)
83 add_custom_command(TARGET quasselcore POST_BUILD
84 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makePackage.sh Core ..)