# 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, gui_app: false, install: false) endforeach