aboutsummaryrefslogtreecommitdiff
path: root/libdino/CMakeLists.txt
blob: 6d37ef15716ffc0a6e824fd8796ec85a10267aa2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
find_packages(LIBDINO_PACKAGES REQUIRED
    GDKPixbuf2
    Gee
    GLib
    GModule
    GObject
)

vala_precompile(LIBDINO_VALA_C
SOURCES
    src/application.vala

    src/dbus/login1.vala
    src/dbus/upower.vala

    src/entity/account.vala
    src/entity/conversation.vala
    src/entity/encryption.vala
    src/entity/file_transfer.vala
    src/entity/message.vala
    src/entity/settings.vala

    src/plugin/interfaces.vala
    src/plugin/loader.vala
    src/plugin/registry.vala

    src/service/avatar_manager.vala
    src/service/avatar_storage.vala
    src/service/blocking_manager.vala
    src/service/chat_interaction.vala
    src/service/connection_manager.vala
    src/service/content_item_store.vala
    src/service/conversation_manager.vala
    src/service/counterpart_interaction_manager.vala
    src/service/database.vala
    src/service/entity_capabilities_storage.vala
    src/service/file_manager.vala
    src/service/message_processor.vala
    src/service/message_storage.vala
    src/service/module_manager.vala
    src/service/muc_manager.vala
    src/service/notification_events.vala
    src/service/presence_manager.vala
    src/service/registration.vala
    src/service/roster_manager.vala
    src/service/search_processor.vala
    src/service/stream_interactor.vala
    src/service/util.vala

    src/util.vala
CUSTOM_VAPIS
    "${CMAKE_BINARY_DIR}/exports/xmpp-vala.vapi"
    "${CMAKE_BINARY_DIR}/exports/qlite.vapi"
CUSTOM_DEPS
    xmpp-vala
    qlite
PACKAGES
    ${LIBDINO_PACKAGES}
GENERATE_VAPI
    dino
GENERATE_HEADER
    dino
)

add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/exports/dino_i18n.h"
COMMAND
    cp "${CMAKE_CURRENT_SOURCE_DIR}/src/dino_i18n.h" "${CMAKE_BINARY_DIR}/exports/dino_i18n.h"
DEPENDS
    "${CMAKE_CURRENT_SOURCE_DIR}/src/dino_i18n.h"
COMMENT
    Copy header file dino_i18n.h
)

add_custom_target(dino-vapi
DEPENDS
    ${CMAKE_BINARY_DIR}/exports/dino.vapi
    ${CMAKE_BINARY_DIR}/exports/dino.deps
    ${CMAKE_BINARY_DIR}/exports/dino_i18n.h
)

add_definitions(${VALA_CFLAGS} -DDINO_SYSTEM_PLUGIN_DIR="${PLUGIN_INSTALL_DIR}" -DDINO_SYSTEM_LIBDIR_NAME="${LIBDIR_NAME}" -DG_LOG_DOMAIN="libdino")
add_library(libdino SHARED ${LIBDINO_VALA_C} ${CMAKE_BINARY_DIR}/exports/dino_i18n.h)
add_dependencies(libdino dino-vapi)
target_link_libraries(libdino xmpp-vala qlite ${LIBDINO_PACKAGES} m)
set_target_properties(libdino PROPERTIES PREFIX "" VERSION 0.0 SOVERSION 0)

install(TARGETS libdino ${TARGET_INSTALL})
install(FILES ${CMAKE_BINARY_DIR}/exports/dino.vapi ${CMAKE_BINARY_DIR}/exports/dino.deps DESTINATION ${VAPI_INSTALL_DIR})
install(FILES ${CMAKE_BINARY_DIR}/exports/dino.h ${CMAKE_BINARY_DIR}/exports/dino_i18n.h DESTINATION ${INCLUDE_INSTALL_DIR})