dino/main/CMakeLists.txt

171 lines
5.9 KiB
CMake
Raw Normal View History

2017-04-07 09:09:47 +00:00
set(GETTEXT_PACKAGE "dino")
find_package(Gettext)
include(${GETTEXT_USE_FILE})
gettext_compile(${GETTEXT_PACKAGE} SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/po TARGET_NAME ${GETTEXT_PACKAGE}-translations)
find_packages(MAIN_PACKAGES REQUIRED
Gee
GLib>=2.38
GModule
GObject
GTK3>=3.22
2017-03-10 18:34:56 +00:00
)
2017-03-11 22:52:12 +00:00
set(RESOURCE_LIST
icons/dino-changes-prevent-symbolic.svg
icons/dino-double-tick-symbolic.svg
icons/dino-status-away.svg
icons/dino-status-chat.svg
icons/dino-status-dnd.svg
icons/dino-status-online.svg
icons/im.dino.Dino-symbolic.svg
icons/dino-tick-symbolic.svg
2017-03-11 22:52:12 +00:00
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
2017-05-30 20:47:16 +00:00
contact_details_dialog.ui
2017-03-11 22:52:12 +00:00
conversation_list_titlebar.ui
2018-07-09 22:31:39 +00:00
global_search.ui
2017-03-11 22:52:12 +00:00
conversation_selector/view.ui
conversation_selector/chat_row_tooltip.ui
conversation_selector/conversation_row.ui
2017-08-29 22:03:37 +00:00
conversation_summary/image_toolbar.ui
2017-03-11 22:52:12 +00:00
conversation_summary/view.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
search_autocomplete.ui
2017-03-11 22:52:12 +00:00
settings_dialog.ui
2018-07-04 21:38:28 +00:00
unified_main_content.ui
unified_window_placeholder.ui
2017-08-29 19:55:15 +00:00
theme.css
2017-03-11 22:52:12 +00:00
)
compile_gresources(
MAIN_GRESOURCES_TARGET
MAIN_GRESOURCES_XML
TARGET ${CMAKE_CURRENT_BINARY_DIR}/resources/resources.c
TYPE EMBED_C
RESOURCES ${RESOURCE_LIST}
PREFIX /im/dino/Dino
2017-03-11 22:52:12 +00:00
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data
)
2017-04-15 20:02:05 +00:00
unset(MAIN_EXTRA_OPTIONS)
unset(MAIN_EXTRA_PACKAGES)
find_package(GDK3)
if(GDK3_WITH_X11)
set(MAIN_EXTRA_OPTIONS ${MAIN_EXTRA_OPTIONS} -D GDK3_WITH_X11)
set(MAIN_EXTRA_PACKAGES ${MAIN_EXTRA_PACKAGES} gdk-x11-3.0)
endif(GDK3_WITH_X11)
2017-03-10 18:34:56 +00:00
vala_precompile(MAIN_VALA_C
SOURCES
src/main.vala
2017-03-11 22:52:12 +00:00
src/ui/application.vala
src/ui/add_conversation/add_conference_dialog.vala
src/ui/add_conversation/add_contact_dialog.vala
src/ui/add_conversation/add_groupchat_dialog.vala
src/ui/add_conversation/conference_details_fragment.vala
src/ui/add_conversation/conference_list.vala
2017-03-11 22:52:12 +00:00
src/ui/add_conversation/list_row.vala
src/ui/add_conversation/roster_list.vala
src/ui/add_conversation/select_contact_dialog.vala
2017-03-11 22:52:12 +00:00
src/ui/add_conversation/select_jid_fragment.vala
src/ui/avatar_generator.vala
2018-01-16 15:17:42 +00:00
src/ui/avatar_image.vala
2017-08-16 20:44:12 +00:00
src/ui/chat_input/edit_history.vala
src/ui/chat_input/encryption_button.vala
2017-03-23 23:15:00 +00:00
src/ui/chat_input/occupants_tab_completer.vala
src/ui/chat_input/smiley_converter.vala
src/ui/chat_input/view.vala
2017-10-31 14:19:30 +00:00
src/ui/contact_details/blocking_provider.vala
2017-05-30 20:47:16 +00:00
src/ui/contact_details/settings_provider.vala
src/ui/contact_details/dialog.vala
src/ui/contact_details/muc_config_form_provider.vala
2017-03-11 22:52:12 +00:00
src/ui/conversation_list_titlebar.vala
2018-07-09 22:31:39 +00:00
src/ui/global_search.vala
2017-03-11 22:52:12 +00:00
src/ui/conversation_selector/chat_row.vala
src/ui/conversation_selector/conversation_row.vala
2017-03-30 23:17:01 +00:00
src/ui/conversation_selector/groupchat_pm_row.vala
2017-03-11 22:52:12 +00:00
src/ui/conversation_selector/groupchat_row.vala
src/ui/conversation_selector/list.vala
src/ui/conversation_selector/view.vala
src/ui/conversation_summary/chat_state_populator.vala
src/ui/conversation_summary/content_item_widget_factory.vala
src/ui/conversation_summary/content_populator.vala
src/ui/conversation_summary/conversation_item_skeleton.vala
src/ui/conversation_summary/conversation_view.vala
2017-12-01 01:28:51 +00:00
src/ui/conversation_summary/date_separator_populator.vala
src/ui/conversation_summary/subscription_notification.vala
2017-08-02 15:29:55 +00:00
src/ui/conversation_titlebar/menu_entry.vala
src/ui/conversation_titlebar/occupants_entry.vala
2018-07-09 22:31:39 +00:00
src/ui/conversation_titlebar/search_entry.vala
2017-08-02 15:29:55 +00:00
src/ui/conversation_titlebar/view.vala
2017-03-11 22:52:12 +00:00
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_menu/list.vala
src/ui/occupant_menu/list_row.vala
src/ui/occupant_menu/view.vala
2017-03-11 22:52:12 +00:00
src/ui/settings_dialog.vala
src/ui/unified_window.vala
src/ui/util/accounts_combo_box.vala
2018-08-19 22:27:02 +00:00
src/ui/util/data_forms.vala
2017-05-30 20:47:16 +00:00
src/ui/util/helper.vala
src/ui/util/label_hybrid.vala
src/ui/util/preview_file_chooser_native.vala
2017-03-10 18:34:56 +00:00
CUSTOM_VAPIS
${CMAKE_BINARY_DIR}/exports/xmpp-vala.vapi
${CMAKE_BINARY_DIR}/exports/qlite.vapi
${CMAKE_BINARY_DIR}/exports/dino_internal.vapi
2017-03-10 18:34:56 +00:00
PACKAGES
${MAIN_PACKAGES}
2017-04-15 20:02:05 +00:00
${MAIN_EXTRA_PACKAGES}
2017-03-11 22:52:12 +00:00
GRESOURCES
${MAIN_GRESOURCES_XML}
2017-04-15 20:02:05 +00:00
OPTIONS
${MAIN_EXTRA_OPTIONS}
2017-03-10 18:34:56 +00:00
)
2017-04-07 09:09:47 +00:00
add_definitions(${VALA_CFLAGS} -DGETTEXT_PACKAGE=\"${GETTEXT_PACKAGE}\" -DLOCALE_INSTALL_DIR=\"${LOCALE_INSTALL_DIR}\")
2017-03-11 22:52:12 +00:00
add_executable(dino ${MAIN_VALA_C} ${MAIN_GRESOURCES_TARGET})
add_dependencies(dino ${GETTEXT_PACKAGE}-translations)
target_link_libraries(dino libdino ${MAIN_PACKAGES})
if(WIN32)
target_link_libraries(dino -mwindows)
endif(WIN32)
install(TARGETS dino ${TARGET_INSTALL})
install(FILES data/im.dino.Dino.appdata.xml DESTINATION ${APPDATA_FILE_INSTALL_DIR})
install(FILES data/im.dino.Dino.desktop DESTINATION ${DESKTOP_FILE_INSTALL_DIR})
install(FILES data/im.dino.Dino.service DESTINATION ${SERVICE_FILE_INSTALL_DIR})
install(FILES data/icons/im.dino.Dino.svg DESTINATION ${ICON_INSTALL_DIR}/hicolor/scalable/apps)
install(FILES data/icons/im.dino.Dino-symbolic.svg DESTINATION ${ICON_INSTALL_DIR}/hicolor/symbolic/apps)
install(FILES
data/icons/dino-status-away.svg
data/icons/dino-status-chat.svg
data/icons/dino-status-dnd.svg
data/icons/dino-status-online.svg
data/icons/dino-changes-prevent-symbolic.svg
data/icons/dino-double-tick-symbolic.svg
data/icons/dino-tick-symbolic.svg
DESTINATION
${ICON_INSTALL_DIR}/hicolor/scalable/status
)