libui/examples/meson.build

65 lines
1.7 KiB
Meson

# 24 march 2019
libui_example_sources = []
libui_example_link_args = []
libui_example_cpp_extra_args = []
if libui_OS == 'windows'
libui_example_manifest = 'example.manifest'
if libui_mode == 'static'
libui_example_manifest = 'example.static.manifest'
endif
libui_example_sources += [
windows.compile_resources('resources.rc',
args: libui_manifest_args,
depend_files: [libui_example_manifest]),
]
# because Microsoft's toolchain is dumb
if libui_MSVC
libui_example_link_args += ['/ENTRY:mainCRTStartup']
endif
elif libui_OS == 'darwin'
# since we use a deployment target of 10.8, the non-C++11-compliant libstdc++ is chosen by default; we need C++11
# see issue #302 for more details
libui_example_cpp_extra_args += ['--stdlib=libc++']
endif
libui_examples = {
'controlgallery': {
'sources': ['controlgallery/main.c'],
},
'histogram': {
'sources': ['histogram/main.c'],
},
'cpp-multithread': {
'sources': ['cpp-multithread/main.cpp'],
'deps': [
dependency('threads',
required: true),
],
'cpp_args': libui_example_cpp_extra_args,
'link_args': libui_example_cpp_extra_args,
},
'drawtext': {
'sources': ['drawtext/main.c'],
},
'timer': {
'sources': ['timer/main.c'],
},
'datetime': {
'sources': ['datetime/main.c'],
},
}
foreach name, args : libui_examples
# TODO once we upgrade to 0.49.0, add pie: true
executable(name, args['sources'] + libui_example_sources,
dependencies: args.get('deps', []) + libui_binary_deps,
link_with: libui_libui,
cpp_args: args.get('cpp_args', []),
link_args: args.get('link_args', []) + libui_example_link_args,
build_by_default: false,
gui_app: false,
install: false)
endforeach
# MESONTODO define the top-level examples target here