|
|
|
project('comparer', 'c')
|
|
|
|
|
|
|
|
# Added manually as a c_arg to test handling of include paths with backslashes
|
|
|
|
# and spaces. This is especially useful on Windows in vcxproj files since it
|
|
|
|
# stores include directories in a separate element that has its own
|
|
|
|
# context-specific escaping/quoting.
|
|
|
|
include_dir = meson.current_source_dir() + '/include'
|
|
|
|
default_c_args = ['-I' + include_dir]
|
|
|
|
|
|
|
|
if meson.get_compiler('c').get_argument_syntax() == 'msvc'
|
|
|
|
default_c_args += ['/Faasm output\\']
|
|
|
|
# Hack to create the 'asm output' directory in the builddir
|
|
|
|
subdir('asm output')
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Path can contain \. Here we're sending `"foo\bar"`.
|
|
|
|
test('backslash quoting',
|
|
|
|
executable('comparer', 'comparer.c',
|
|
|
|
c_args : default_c_args + ['-DDEF_WITH_BACKSLASH="foo\\bar"']))
|
|
|
|
# Path can end in \ without any special quoting. Here we send `"foo\bar\"`.
|
|
|
|
test('backslash end quoting',
|
|
|
|
executable('comparer-end', 'comparer-end.c',
|
|
|
|
c_args : default_c_args + ['-DDEF_WITH_BACKSLASH="foo\\bar\\"']))
|
|
|
|
# Path can (really) end in \ if we're not passing a string literal without any
|
|
|
|
# special quoting. Here we're sending `foo\bar\`.
|
|
|
|
test('backslash end quoting when not a string literal',
|
|
|
|
executable('comparer-end-notstring', 'comparer-end-notstring.c',
|
|
|
|
c_args : default_c_args + ['-DDEF_WITH_BACKSLASH=foo\\bar\\']))
|