The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.9 KiB
114 lines
2.9 KiB
project('install tag', 'c') |
|
|
|
subdir('subdir') |
|
|
|
# Those files should not be tagged |
|
configure_file(input: 'foo.in', output: 'foo-notag.h', |
|
configuration: {'foo': 'bar'}, |
|
install_dir: get_option('datadir'), |
|
install: true, |
|
) |
|
install_data('bar-notag.txt', |
|
install_dir: get_option('datadir') |
|
) |
|
custom_target('ct1', |
|
output: ['out1-notag.txt', 'out2-notag.txt'], |
|
command: ['script.py', '@OUTPUT@'], |
|
install_dir: get_option('datadir'), |
|
install: true, |
|
) |
|
|
|
# Those files should be tagged as devel |
|
install_headers('foo1-devel.h') |
|
install_data('bar-devel.h', |
|
install_dir: get_option('includedir'), |
|
) |
|
configure_file(input: 'foo.in', output: 'foo2-devel.h', |
|
configuration: {'foo': 'bar'}, |
|
install_dir: get_option('includedir'), |
|
install: true, |
|
) |
|
static_library('static', 'lib.c', |
|
install: true, |
|
) |
|
custom_target('ct-header1', |
|
output: ['ct-header1.h'], |
|
command: ['script.py', '@OUTPUT@'], |
|
install_dir: get_option('includedir'), |
|
install: true, |
|
) |
|
custom_target('ct-header2', |
|
output: ['ct-header2.h', 'ct-header3.h'], |
|
command: ['script.py', '@OUTPUT@'], |
|
install_dir: [false, get_option('includedir')], |
|
install: true, |
|
) |
|
install_emptydir(get_option('includedir') / 'subdir-devel') |
|
install_subdir('custom_files', |
|
install_dir: get_option('includedir'), |
|
) |
|
|
|
# Those files should have 'runtime' tag |
|
executable('app', 'main.c', |
|
install: true, |
|
) |
|
executable('app-otherdir', 'main.c', |
|
install: true, |
|
install_dir: 'otherbin', |
|
) |
|
shared_library('shared', 'lib.c', |
|
install: true, |
|
) |
|
both_libraries('both', 'lib.c', |
|
install: true, |
|
) |
|
|
|
# Unversioned .so file should have 'devel' tag, others should have 'runtime' tag |
|
shared_library('versioned_shared', 'lib.c', |
|
install: true, |
|
version: '1.2.3', |
|
) |
|
|
|
# Those files should have custom tag |
|
install_data('bar-custom.txt', |
|
install_dir: get_option('datadir'), |
|
install_tag: 'custom') |
|
configure_file(input: 'foo.in', output: 'foo-custom.h', |
|
configuration: {'foo': 'bar'}, |
|
install_dir: get_option('datadir'), |
|
install_tag: 'custom', |
|
install: true, |
|
) |
|
both_libraries('bothcustom', 'lib.c', |
|
install_tag: 'custom', |
|
install: true, |
|
) |
|
custom_target('ct2', |
|
output: ['out1-custom.txt', 'out2-custom.txt'], |
|
command: ['script.py', '@OUTPUT@'], |
|
install_dir: get_option('datadir'), |
|
install_tag: 'custom', |
|
install: true, |
|
) |
|
install_subdir('custom_files', |
|
install_dir: get_option('datadir'), |
|
install_tag: 'custom', |
|
) |
|
install_subdir('excludes', |
|
install_dir: get_option('datadir'), |
|
install_tag: 'custom', |
|
exclude_directories: 'excluded', |
|
exclude_files: 'excluded.txt', |
|
) |
|
|
|
# First is custom, 2nd is devel, 3rd has no tag |
|
custom_target('ct3', |
|
output: ['out3-custom.txt', 'out-devel.h', 'out3-notag.txt'], |
|
command: ['script.py', '@OUTPUT@'], |
|
install_dir: [get_option('datadir'), get_option('includedir'), get_option('datadir')], |
|
install_tag: ['custom', 'devel', false], |
|
install: true, |
|
) |
|
|
|
meson.add_install_script('script.py', install_tag: 'custom') |
|
meson.add_install_script('script.py')
|
|
|