]> begriffs open source - libderp/blob - src/meson.build
WIP: begriffs style .so installation
[libderp] / src / meson.build
1 project_version = meson.project_version()
2 versioned_root = get_option('prefix') / 'libderp-dev.' + project_version
3
4 install_mode = get_option('install_mode')
5
6 version_split = project_version.split('.')
7 major = version_split[0]
8 minor = version_split[1]
9
10 libderp_sources = files(
11   'common.c',
12   'vector.c',
13   'list.c',
14   'hashmap.c',
15   'treemap.c',
16 )
17 inc_dirs = include_directories('..' / 'include')
18
19 if install_mode == 'dev'
20   libderp = library('derp',
21     libderp_sources,
22     include_directories : inc_dirs,
23     version : project_version,
24     soversion : '@0@.@1@'.format(major, minor),
25     install : true,
26     install_dir : versioned_root / 'lib',
27   )
28
29   libderp_static = static_library('derp',
30     libderp_sources,
31     include_directories : inc_dirs,
32     install : true,
33     install_dir : versioned_root / 'lib' / 'static',
34   )
35
36   libderp_dep = declare_dependency(
37     link_with : libderp,
38     include_directories : inc_dirs,
39   )
40
41   # Shared library pkg-config file
42   libderp_pc = configure_file(
43     input: 'libderp.pc.in',
44     output: 'libderp.pc',
45     configuration: {
46       'prefix': get_option('prefix'),
47       'includedir': versioned_root / 'include',
48       'libdir': versioned_root / 'lib',
49       'version': project_version,
50       'extra_libs': '',
51     },
52     install: true,
53     install_dir: versioned_root,
54   )
55
56   # Static library pkg-config file
57   libderp_static_pc = configure_file(
58     input: 'libderp.pc.in',
59     output: 'libderp-static.pc',
60     configuration: {
61       'prefix': get_option('prefix'),
62       'includedir': versioned_root / 'include',
63       'libdir': versioned_root / 'lib/static',
64       'version': project_version,
65       'extra_libs': '-static',
66     },
67     install: true,
68     install_dir: versioned_root,
69   )
70 else
71   # System install: only install shared library to system libdir, no headers or pkg-config
72   system_libdir = get_option('libdir')
73   libderp = library('derp',
74     libderp_sources,
75     include_directories : inc_dirs,
76     version : project_version,
77     soversion : '@0@.@1@'.format(major, minor),
78     install : true,
79     install_dir : system_libdir,
80   )
81 endif