project('scuffedcraft', 'c') cc = meson.get_compiler('c') vendor_dir_abs = meson.current_source_dir() + '/vendor/' cargs = [ '-std=c99', '-Og', '-g', '-DBOUNDS_CHECK', '-DSHADERS_PATH="../src/shaders/"', ] dependencies = [ ] link_args = [] test_link_args = [ '-static' ] include_dirs = [ 'vendor/', 'src/' ] test_include_dirs = [ 'src/', 'vendor/' ] if host_machine.system() == 'linux' dependencies += [ dependency('libglvnd') ] elif host_machine.system() == 'windows' link_args += [ '-lopengl32' ] test_link_args += [ '-lwinpthread' ] cargs += [ '-DUNICODE', '-D__UNICODE', '-municode' ] if meson.is_cross_build() and build_machine.system() == 'linux' link_args += [ '-Lvendor/wine/', ] endif endif executable( 'scuffedcraft', 'src/pltf/win32/gl_funcs.c', 'src/pltf/win32/internal.c', 'src/pltf/win32/pltf.c', 'src/pltf/win32/win_proc.c', 'src/DynArray.c', 'src/DynString.c', 'src/log.c', 'src/main.c', 'src/shader.c', c_args: cargs, dependencies: dependencies, link_args: link_args, include_directories: include_directories(include_dirs), ) executable( 'tests', 'tests/main.c', 'src/DynString.c', 'src/log.c', c_args: cargs, include_directories: include_directories(test_include_dirs), link_args: test_link_args, dependencies: [ cc.find_library( 'libcmocka', dirs: [ vendor_dir_abs + 'cmocka/' ] ) ] )