summaryrefslogtreecommitdiffstats
path: root/src/meson.build
blob: 0c07d6ba91982be28f17b79ba2fcfb4c0edd0e7e (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
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_1_6_0.cpp',
    'djinterop/enginelibrary/schema_1_7_1.cpp',
    'djinterop/enginelibrary/schema.cpp',
    'djinterop/crate.cpp',
    'djinterop/database.cpp',
    'djinterop/enginelibrary.cpp',
    'djinterop/track.cpp',
    'djinterop/transaction_guard.cpp',
    'djinterop/impl/crate_impl.cpp',
    'djinterop/impl/database_impl.cpp',
    'djinterop/impl/track_impl.cpp',
    'djinterop/impl/transaction_guard_impl.cpp',
    'djinterop/impl/util.cpp',
]

# Dependencies required by the main library.
core_deps = [thread_dep, dl_dep, sqlite3_dep, zlib_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)