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)
28 qt5_add_resources(CLIENT_DEPS ${CLIENT_RCS})
29 qt5_add_resources(CORE_DEPS ${CORE_RCS})
30 qt5_add_resources(COMMON_DEPS ${COMMON_RCS})
32 qt4_add_resources(CLIENT_DEPS ${CLIENT_RCS})
33 qt4_add_resources(CORE_DEPS ${CORE_RCS})
34 qt4_add_resources(COMMON_DEPS ${COMMON_RCS})
38 setup_qt_variables(Network Script Sql ${CORE_QT_MODULES})
39 include_directories(${QUASSEL_QT_INCLUDES})
40 add_executable(quasselcore common/main.cpp ${COMMON_DEPS} ${CORE_DEPS})
41 add_dependencies(quasselcore po genversion_run)
42 set_target_properties(quasselcore PROPERTIES
43 COMPILE_FLAGS "-DBUILD_CORE ${QUASSEL_QT_COMPILEFLAGS}"
44 OUTPUT_NAME ../quasselcore)
45 target_link_libraries(quasselcore mod_core mod_common
46 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES})
47 install(TARGETS quasselcore RUNTIME DESTINATION ${BIN_INSTALL_DIR})
51 setup_qt_variables(Gui Network ${CLIENT_QT_MODULES})
52 include_directories(${QUASSEL_QT_INCLUDES})
53 add_executable(quasselclient WIN32 common/main.cpp ${COMMON_DEPS} ${CLIENT_DEPS})
54 add_dependencies(quasselclient po genversion_run)
55 set_target_properties(quasselclient PROPERTIES
56 COMPILE_FLAGS "-DBUILD_QTUI ${QUASSEL_QT_COMPILEFLAGS} ${CLIENT_COMPILE_FLAGS}"
57 OUTPUT_NAME ../quasselclient)
58 target_link_libraries(quasselclient ${LINK_KDE} mod_qtui mod_uisupport mod_client mod_common ${CLIENT_LIBS}
59 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${CLIENT_LIBRARIES})
60 install(TARGETS quasselclient RUNTIME DESTINATION ${BIN_INSTALL_DIR})
64 setup_qt_variables(Gui Network Script Sql ${CLIENT_QT_MODULES} ${CORE_QT_MODULES})
65 include_directories(${QUASSEL_QT_INCLUDES})
67 qt4_wrap_cpp(MOC qtui/monoapplication.h)
69 add_executable(quassel WIN32 common/main.cpp qtui/monoapplication.cpp ${MOC} ${COMMON_DEPS} ${CLIENT_DEPS} ${CORE_DEPS})
70 add_dependencies(quassel po genversion_run)
71 set_target_properties(quassel PROPERTIES
72 COMPILE_FLAGS "-DBUILD_MONO ${QUASSEL_QT_COMPILEFLAGS} ${CLIENT_COMPILE_FLAGS}"
73 OUTPUT_NAME ../quassel)
74 target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common ${CLIENT_LIBS}
75 ${QUASSEL_QT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${CLIENT_LIBRARIES})
76 install(TARGETS quassel RUNTIME DESTINATION ${BIN_INSTALL_DIR})
79 # Build bundles for MacOSX
81 add_custom_command(TARGET quasselclient POST_BUILD
82 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py
83 ${CMAKE_SOURCE_DIR} "Quassel Client" ../quasselclient)
84 add_custom_command(TARGET quassel POST_BUILD
85 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py
86 ${CMAKE_SOURCE_DIR} "Quassel" ../quassel)
88 add_custom_command(TARGET quasselclient POST_BUILD
89 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makePackage.sh Client ..)
90 add_custom_command(TARGET quasselcore POST_BUILD
91 COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makePackage.sh Core ..)