project( 'pgpl', 'c', 'cpp', version: '0.1', default_options: ['warning_level=3', 'c_std=c99', 'cpp_std=c++11'], ) include = include_directories('include') cc = meson.get_compiler('c') link_args = [] if target_machine.system() == 'windows' or target_machine.system() == 'cygwin' link_args = ['-static'] endif lib = both_libraries( 'pgpl', 'src/pgpl.c', 'src/thread.c', 'src/timer.c', 'src/vector.c', 'src/string.c', 'src/log.c', 'src/window/window.c', 'src/window/window-x11.c', 'src/window/window-win32.c', 'src/window/thread.c', 'src/render/shapes.c', 'src/render/texture.c', 'src/render/font.c', 'src/gui/gui.c', 'src/gui/helpers.c', 'src/gui/widgets/text.c', 'src/gui/widgets/button.c', 'src/gui/widgets/container.c', include_directories: include, dependencies: [ dependency('gl'), dependency('threads'), dependency('x11', required: false), cc.find_library('m', required: false), ], install: true, link_args: link_args, ) test = executable( 'pgpl_test', 'tests/program.c', include_directories: include, link_with: lib.get_static_lib(), link_args: link_args, ) shared_library( 'pgpl_plugin_test', 'tests/plugin.cpp', include_directories: include, link_with: lib.get_static_lib(), link_args: link_args, ) test('pgpl_test', test)