aboutsummaryrefslogtreecommitdiff
path: root/vala-xmpp/CMakeLists.txt
blob: 3278d9c2c5f11f56fb69e966c014da1e0515da42 (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
90
91
find_package(Vala REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(GPGME REQUIRED)
find_package(LIBUUID REQUIRED)
include(GlibCompileResourcesSupport)
include(${VALA_USE_FILE})

set(ENGINE_PACKAGES
    gee-0.8
    gio-2.0
    glib-2.0
    gtk+-3.0
)

pkg_check_modules(ENGINE REQUIRED ${ENGINE_PACKAGES})

vala_precompile(ENGINE_VALA_C
SOURCES
    "src/core/namespace_state.vala"
    "src/core/stanza_attribute.vala"
    "src/core/stanza_node.vala"
    "src/core/stanza_reader.vala"
    "src/core/stanza_writer.vala"
    "src/core/xmpp_stream.vala"

    "src/module/bind.vala"
    "src/module/iq/module.vala"
    "src/module/iq/stanza.vala"
    "src/module/message/module.vala"
    "src/module/message/stanza.vala"
    "src/module/presence/flag.vala"
    "src/module/presence/module.vala"
    "src/module/presence/stanza.vala"
    "src/module/roster/flag.vala"
    "src/module/roster/item.vala"
    "src/module/roster/module.vala"
    "src/module/sasl.vala"
    "src/module/stanza.vala"
    "src/module/stanza_error.vala"
    "src/module/stream_error.vala"
    "src/module/tls.vala"
    "src/module/util.vala"

    "src/module/xep/0027_pgp/flag.vala"
    "src/module/xep/0027_pgp/module.vala"
    "src/module/xep/0030_service_discovery/flag.vala"
    "src/module/xep/0030_service_discovery/info_result.vala"
    "src/module/xep/0030_service_discovery/items_result.vala"
    "src/module/xep/0030_service_discovery/module.vala"
    "src/module/xep/0045_muc/flag.vala"
    "src/module/xep/0045_muc/module.vala"
    "src/module/xep/0048_bookmarks/module.vala"
    "src/module/xep/0048_bookmarks/conference.vala"
    "src/module/xep/0049_private_xml_storage.vala"
    "src/module/xep/0054_vcard/module.vala"
    "src/module/xep/0060_pubsub.vala"
    "src/module/xep/0082_date_time_profiles.vala"
    "src/module/xep/0084_user_avatars.vala"
    "src/module/xep/0085_chat_state_notifications.vala"
    "src/module/xep/0115_entitiy_capabilities.vala"
    "src/module/xep/0199_ping.vala"
    "src/module/xep/0184_message_delivery_receipts.vala"
    "src/module/xep/0203_delayed_delivery.vala"
    "src/module/xep/0280_message_carbons.vala"
    "src/module/xep/0333_chat_markers.vala"
    "src/module/xep/pixbuf_storage.vala"
PACKAGES
    ${ENGINE_PACKAGES}
    gpgme
    uuid
GENERATE_VAPI
    vala-xmpp
GENERATE_HEADER
    vala-xmpp
OPTIONS
    --target-glib=2.38
    -g
    --thread
    --vapidir=${CMAKE_SOURCE_DIR}/vapi
)

set(CFLAGS ${ENGINE_CFLAGS} ${GPGME_CFLAGS} ${LIBUUID_CFLAGS} -g ${VALA_CFLAGS})
add_definitions(${CFLAGS})
add_library(vala-xmpp SHARED ${ENGINE_VALA_C})
target_link_libraries(vala-xmpp ${ENGINE_LIBRARIES} ${GPGME_LIBRARIES} ${LIBUUID_LIBRARIES})

add_custom_target(vala-xmpp-vapi
DEPENDS
    ${CMAKE_BINARY_DIR}/vala-xmpp/vala-xmpp.vapi
)