File: meson.build

package info (click to toggle)
pbbam 2.4.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 14,144 kB
  • sloc: cpp: 60,214; xml: 2,908; ansic: 660; sh: 275; python: 203; makefile: 187
file content (86 lines) | stat: -rw-r--r-- 2,694 bytes parent folder | download | duplicates (2)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
subdir('src')

pbbam_python = import('python').find_installation('python3')
pbbam_cram_script = find_program('cram', required : false)
if not pbbam_cram_script.found()
  warning('Using bundled cram script')
  pbbam_cram_script = find_program('scripts/cram.py')
endif

pbbam_gtest_dep = dependency(
  'gtest',
  main : true,
  fallback : ['gtest', 'gtest_main_dep'])

pbbam_PbbamTestData_h_config = configuration_data()
pbbam_PbbamTestData_h_config.set('PacBioBAM_BinDir', join_paths([meson.current_build_dir(), '../tools']))
pbbam_PbbamTestData_h_config.set('PacBioBAM_TestsDir', meson.current_source_dir())
pbbam_PbbamTestData_h_config.set('CMAKE_CURRENT_BINARY_DIR', meson.current_build_dir())
pbbam_PbbamTestData_h_config.set('GeneratedDir', meson.current_build_dir())
pbbam_PbbamTestData_h_config.set('GeneratedTestDataDir', meson.current_build_dir())

pbbam_group_fofn_in = configure_file(
  input : files('data/group/group.fofn.in'),
  output : 'group.fofn',
  configuration : pbbam_PbbamTestData_h_config)
pbbam_PbbamTestData_h = configure_file(
  input : files('src/PbbamTestData.h.in'),
  output : 'PbbamTestData.h',
  configuration : pbbam_PbbamTestData_h_config)
pbbam_test_cpp_sources += pbbam_PbbamTestData_h

pbbam_test = executable(
  'pbbam_test',
  pbbam_test_cpp_sources,
  dependencies : [pbbam_gtest_dep, pbbam_boost_dep, pbbam_htslib_dep, pbbam_zlib_dep, pbbam_pbcopper_dep],
  include_directories : pbbam_include_directories,
  link_with : pbbam_lib,
  cpp_args : pbbam_warning_flags,
  install : false)

custom_target('pbbam_generate_data',
  output : 'input.fa',
  command : [
    pbbam_python,
    files('scripts/generate_data.py'),
    join_paths([meson.current_source_dir(), 'data']),
    meson.current_build_dir()],
  build_by_default : true,
  install : false)

pbbamify_synthetic_dataset = configure_file(
  input : files('data/pbbamify/synthetic_movie_all.subreadset.xml.in'),
  output : 'synthetic_movie_all.subreadset.xml',
  configuration : pbbam_PbbamTestData_h_config)

subdir('zero_byte_check')

#########
# tests #
#########

test(
  'pbbam formatting check',
  pbbam_clang_formatter,
  args : [
    '--all'],
  workdir : meson.project_source_root())

test(
  'pbbam gtest unittests',
  pbbam_test,
  args : [
    '--gtest_output=xml:' + join_paths(meson.project_build_root(), 'pbbam-gtest-unittests.xml')],
  env : [
    'ARGS=-V',
    'VERBOSE=1'])

test(
  'pbbam zero-byte input check',
  pbbam_cram_script,
  args : [
    '--xunit-file=' + join_paths(meson.project_build_root(), 'pbbam-cram-zero-byte-check.xml'),
    '--verbose'] + files('src/cram/zero_byte_check.t'),
  env : [
    '__ZERO_BYTE_CHECK_EXE=' + pbbam_zero_byte_check.full_path(),
  ])