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)
12 add_subdirectory(qtui)
13 include_directories(BEFORE client)
14 include_directories(BEFORE uisupport)
15 include_directories(BEFORE qtui)
18 link_directories(${QT_PLUGINS_DIR}/imageformats)
19 set(CLIENT_LIBS ${CLIENT_LIBS} qjpeg qgif)
23 include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) # for version.gen
25 # Add resources. Can't be done in other subdirs apparently.
26 # Note that these variables need to contain paths relative to src/ (this dir)
27 qt4_add_resources(CLIENT_DEPS ${CLIENT_RCS})
28 qt4_add_resources(CORE_DEPS ${CORE_RCS})
29 qt4_add_resources(COMMON_DEPS ${COMMON_RCS})
32 setup_qt4_variables(NETWORK SCRIPT SQL)
33 add_executable(quasselcore common/main.cpp ${COMMON_DEPS} ${CORE_DEPS})
34 add_dependencies(quasselcore po genversion_run)
35 set_target_properties(quasselcore PROPERTIES
36 COMPILE_FLAGS "-DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_CORE"
37 OUTPUT_NAME ../quasselcore)
38 target_link_libraries(quasselcore mod_core mod_common
39 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES})
40 install(TARGETS quasselcore RUNTIME DESTINATION ${BIN_INSTALL_DIR})
44 setup_qt4_variables(GUI NETWORK ${CLIENT_QT4_VARS})
45 add_executable(quasselclient WIN32 common/main.cpp ${COMMON_DEPS} ${CLIENT_DEPS})
46 add_dependencies(quasselclient po genversion_run)
47 set_target_properties(quasselclient PROPERTIES
48 COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB ${CLIENT_COMPILE_FLAGS} -DBUILD_QTUI"
49 OUTPUT_NAME ../quasselclient)
50 target_link_libraries(quasselclient ${LINK_KDE} mod_qtui mod_uisupport mod_client mod_common ${CLIENT_LIBS}
51 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${CLIENT_LIBRARIES})
52 install(TARGETS quasselclient RUNTIME DESTINATION ${BIN_INSTALL_DIR})
56 setup_qt4_variables(GUI NETWORK SCRIPT SQL ${CLIENT_QT4_VARS})
57 qt4_wrap_cpp(MOC qtui/monoapplication.h)
58 add_executable(quassel WIN32 common/main.cpp qtui/monoapplication.cpp ${MOC} ${COMMON_DEPS} ${CLIENT_DEPS} ${CORE_DEPS})
59 add_dependencies(quassel po genversion_run)
60 set_target_properties(quassel PROPERTIES
61 COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB ${CLIENT_COMPILE_FLAGS} -DBUILD_MONO"
62 OUTPUT_NAME ../quassel)
63 target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common ${CLIENT_LIBS}
64 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${CLIENT_LIBRARIES})
65 install(TARGETS quassel RUNTIME DESTINATION ${BIN_INSTALL_DIR})
68 # Build bundles for MacOSX
70 add_custom_command(TARGET quasselclient POST_BUILD
71 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py
72 ${CMAKE_SOURCE_DIR} "Quassel Client" ../quasselclient)
73 add_custom_command(TARGET quassel POST_BUILD
74 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py
75 ${CMAKE_SOURCE_DIR} "Quassel" ../quassel)
77 add_custom_command(TARGET quasselclient POST_BUILD
78 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makePackage.sh Client ..)
79 add_custom_command(TARGET quasselcore POST_BUILD
80 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makePackage.sh Core ..)