aboutsummaryrefslogtreecommitdiff
path: root/client/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'client/CMakeLists.txt')
-rw-r--r--client/CMakeLists.txt150
1 files changed, 150 insertions, 0 deletions
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
new file mode 100644
index 00000000..ac42ecff
--- /dev/null
+++ b/client/CMakeLists.txt
@@ -0,0 +1,150 @@
+find_package(Vala REQUIRED)
+find_package(PkgConfig REQUIRED)
+find_package(GPGME REQUIRED)
+find_package(LIBUUID REQUIRED)
+include(${VALA_USE_FILE})
+include(GlibCompileResourcesSupport)
+
+set(CLIENT_PACKAGES
+ gee-0.8
+ gio-2.0
+ glib-2.0
+ gtk+-3.0
+ libnotify
+ sqlite3
+)
+
+pkg_check_modules(CLIENT REQUIRED ${CLIENT_PACKAGES})
+
+set(RESOURCE_LIST
+ img/double_tick.svg
+ img/status_away.svg
+ img/status_chat.svg
+ img/status_dnd.svg
+ img/status_online.svg
+ img/tick.svg
+
+ add_conversation/add_contact_dialog.ui
+ add_conversation/add_groupchat_dialog.ui
+ add_conversation/conference_details_fragment.ui
+ add_conversation/list_row.ui
+ add_conversation/select_jid_fragment.ui
+ chat_input.ui
+ conversation_list_titlebar.ui
+ conversation_selector/view.ui
+ conversation_selector/chat_row_tooltip.ui
+ conversation_selector/conversation_row.ui
+ conversation_summary/message_item.ui
+ conversation_summary/view.ui
+ conversation_titlebar.ui
+ manage_accounts/account_row.ui
+ manage_accounts/add_account_dialog.ui
+ manage_accounts/dialog.ui
+ menu_add.ui
+ menu_app.ui
+ menu_conversation.ui
+ menu_encryption.ui
+ occupant_list.ui
+ occupant_list_item.ui
+ style.css
+ settings_dialog.ui
+ unified_window.ui
+)
+
+compile_gresources(
+ CLIENT_GRESOURCES_TARGET
+ CLIENT_GRESOURCES_XML
+ TARGET ${CMAKE_BINARY_DIR}/resources/resources.c
+ TYPE EMBED_C
+ RESOURCES ${RESOURCE_LIST}
+ PREFIX /org/dino-im
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data
+)
+
+vala_precompile(CLIENT_VALA_C
+SOURCES
+ src/main.vala
+
+ src/dbus/login1.vala
+ src/dbus/networkmanager.vala
+ src/dbus/upower.vala
+
+ src/entity/account.vala
+ src/entity/conversation.vala
+ src/entity/jid.vala
+ src/entity/message.vala
+
+ src/service/avatar_manager.vala
+ src/service/avatar_storage.vala
+ src/service/chat_interaction.vala
+ src/service/connection_manager.vala
+ src/service/conversation_manager.vala
+ src/service/counterpart_interaction_manager.vala
+ src/service/database.vala
+ src/service/entity_capabilities_storage.vala
+ src/service/message_manager.vala
+ src/service/module_manager.vala
+ src/service/muc_manager.vala
+ src/service/pgp_manager.vala
+ src/service/presence_manager.vala
+ src/service/roster_manager.vala
+ src/service/stream_interactor.vala
+
+ src/settings.vala
+
+ src/ui/add_conversation/chat/add_contact_dialog.vala
+ src/ui/add_conversation/chat/roster_list.vala
+ src/ui/add_conversation/chat/dialog.vala
+ src/ui/add_conversation/conference/add_groupchat_dialog.vala
+ src/ui/add_conversation/conference/conference_details_fragment.vala
+ src/ui/add_conversation/conference/conference_list.vala
+ src/ui/add_conversation/conference/dialog.vala
+ src/ui/add_conversation/list_row.vala
+ src/ui/add_conversation/select_jid_fragment.vala
+ src/ui/avatar_generator.vala
+ src/ui/application.vala
+ src/ui/chat_input.vala
+ src/ui/conversation_list_titlebar.vala
+ src/ui/conversation_selector/chat_row.vala
+ src/ui/conversation_selector/conversation_row.vala
+ src/ui/conversation_selector/groupchat_row.vala
+ src/ui/conversation_selector/list.vala
+ src/ui/conversation_selector/view.vala
+ src/ui/conversation_summary/merged_message_item.vala
+ src/ui/conversation_summary/merged_status_item.vala
+ src/ui/conversation_summary/status_item.vala
+ src/ui/conversation_summary/view.vala
+ src/ui/conversation_titlebar.vala
+ src/ui/manage_accounts/account_row.vala
+ src/ui/manage_accounts/add_account_dialog.vala
+ src/ui/manage_accounts/dialog.vala
+ src/ui/notifications.vala
+ src/ui/occupant_list.vala
+ src/ui/occupant_list_row.vala
+ src/ui/settings_dialog.vala
+ src/ui/unified_window.vala
+ src/ui/util.vala
+PACKAGES
+ ${CLIENT_PACKAGES}
+ gpgme
+ uuid
+ vala-xmpp
+ qlite
+GRESOURCES
+ ${CLIENT_GRESOURCES_XML}
+OPTIONS
+ --target-glib=2.38
+ -g
+ --thread
+ --vapidir=${CMAKE_BINARY_DIR}/vala-xmpp
+ --vapidir=${CMAKE_BINARY_DIR}/qlite
+ --vapidir=${CMAKE_SOURCE_DIR}/vapi
+
+)
+
+set(CFLAGS ${CLIENT_CFLAGS} ${GPGME_CFLAGS} ${LIBUUID_CFLAGS} -g -I${CMAKE_BINARY_DIR}/vala-xmpp -I${CMAKE_BINARY_DIR}/qlite ${VALA_CFLAGS})
+add_definitions(${CFLAGS})
+add_executable(dino ${CLIENT_VALA_C} ${CLIENT_GRESOURCES_TARGET})
+add_dependencies(dino vala-xmpp-vapi qlite-vapi)
+target_link_libraries(dino vala-xmpp qlite ${CLIENT_LIBRARIES} ${GPGME_LIBRARIES} ${LIBUUID_LIBRARIES} -lm)
+