65 lines
1.7 KiB
Meson
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
|