summaryrefslogtreecommitdiff
path: root/py/pykms/meson.build
blob: b29cd9f81881a516fb8d513e50c2d0fc17207f67 (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
py3_dep = dependency('python3', required : get_option('pykms'))

if py3_dep.found() == false
    subdir_done()
endif

if get_option('system-pybind11').enabled()
    pybind11_dep = dependency('pybind11')
elif get_option('system-pybind11').disabled()
    pybind11_proj = subproject('pybind11')
    pybind11_dep = pybind11_proj.get_variable('pybind11_dep')
else
    pybind11_dep = dependency('pybind11', fallback : ['pybind11', 'pybind11_dep'])
endif

pykms_sources = files([
    'pykmsbase.cpp',
    'pykms.cpp',
])

if get_option('utils')
    pykms_sources += files([
        'pykmsutil.cpp',
        'pyvid.cpp',
    ])
endif

if libdrmomap_dep.found()
    pykms_sources += files([
        'pykmsomap.cpp',
    ])
endif

pykms_deps = [
    libkmsxx_dep,
    py3_dep,
    pybind11_dep,
]

if get_option('utils')
    pykms_deps += [ libkmsxxutil_dep ]
endif

pykms_args = [ '-fvisibility=hidden' ]

destdir = get_option('libdir') / 'python' + py3_dep.version() / 'site-packages/pykms'

pykms = shared_module('pykms',
                      pykms_sources,
                      install : true,
                      install_dir : destdir,
                      name_prefix : '',
                      dependencies : pykms_deps,
                      cpp_args : pykms_args)

# Copy __init__.py to build dir so that we can run without installing
configure_file(input: '__init__.py', output: '__init__.py', copy: true,
               install : true, install_dir : destdir)