summaryrefslogtreecommitdiffstats
path: root/src/meson.build
blob: 5c21f34e7038363d4cbb28df63535282a35a1ae5 (plain)
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
sources = [
    'djinterop/enginelibrary/el_crate_impl.cpp',
    'djinterop/enginelibrary/el_database_impl.cpp',
    'djinterop/enginelibrary/el_storage.cpp',
    'djinterop/enginelibrary/el_track_impl.cpp',
    'djinterop/enginelibrary/el_transaction_guard_impl.cpp',
    'djinterop/enginelibrary/encode_decode_utils.cpp',
    'djinterop/enginelibrary/performance_data_format.cpp',
    'djinterop/enginelibrary/schema/schema_1_6_0.cpp',
    'djinterop/enginelibrary/schema/schema_1_7_1.cpp',
    'djinterop/enginelibrary/schema/schema_1_9_1.cpp',
    'djinterop/enginelibrary/schema/schema_1_11_1.cpp',
    'djinterop/enginelibrary/schema/schema_1_13_0.cpp',
    'djinterop/enginelibrary/schema/schema_1_13_1.cpp',
    'djinterop/enginelibrary/schema/schema_1_13_2.cpp',
    'djinterop/enginelibrary/schema/schema_1_15_0.cpp',
    'djinterop/enginelibrary/schema/schema_1_17_0.cpp',
    'djinterop/enginelibrary/schema/schema_1_18_0.cpp',
    'djinterop/enginelibrary/schema/schema.cpp',
    'djinterop/crate.cpp',
    'djinterop/database.cpp',
    'djinterop/enginelibrary.cpp',
    'djinterop/track.cpp',
    'djinterop/transaction_guard.cpp',
    'djinterop/util.cpp',
    'djinterop/impl/crate_impl.cpp',
    'djinterop/impl/database_impl.cpp',
    'djinterop/impl/track_impl.cpp',
    'djinterop/impl/transaction_guard_impl.cpp',
]

# Dependencies required by the main library.
core_deps = [thread_dep, dl_dep, sqlite3_dep, zlib_dep, sqlite_modern_cpp_dep]

# Used by unit tests to reference internal classes.
internal_inc = include_directories('.')

# Set a compile-time definition that we are building the libdjinterop source.
# This information is needed in `config.hpp` to determine whether public symbols
# ought to be exported or imported.
building_library_args = ['-DDJINTEROP_SOURCE']

# Set hidden visibility arguments as required.
hidden_visibility_args = []
if get_option('default_library') != 'static'
    if cpp_compiler.has_argument('-fvisibility=hidden')
        hidden_visibility_args = ['-fvisibility=hidden']
    endif
endif

djinterop_lib = library(
    'djinterop',
    sources: sources,
    include_directories: inc,
    dependencies: core_deps,
    install: true,
    cpp_args: building_library_args + hidden_visibility_args)