project('scuffedcraft', 'c') cc = meson.get_compiler('c') vendor_dir_abs = meson.current_source_dir() + '/vendor/' message(vendor_dir_abs) pltf_src = [] cargs = [ '-std=c99', '-DSHADERS_PATH="../src/shaders/"', '-DDEBUG' ] dependencies = [ ] link_args = [] test_link_args = [ '-static' ] include_dirs = [ 'src/' ] test_include_dirs = [ 'src/', 'vendor/cmocka-2.0.2/' ] if host_machine.system() == 'linux' pltf_src = [ 'src/pltf/glx/gl_funcs.c' ] dependencies += [ dependency('x11'), dependency('glx'), dependency('libglvnd'), dependency('opengl'), ] libcmocka = cc.find_library( 'libcmocka', dirs: [ vendor_dir_abs + 'cmocka-2.0.2/linux/' ] ) elif host_machine.system() == 'windows' pltf_src = [ 'src/pltf/win32/gl_funcs.c', 'src/pltf/win32/internal.c', 'src/pltf/win32/pltf.c', 'src/pltf/win32/win_proc.c', ] libcmocka = cc.find_library( 'libcmocka', dirs: [ vendor_dir_abs + 'cmocka-2.0.2/win/' ] ) 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/DynArray.c', 'src/DynString.c', 'src/log.c', 'src/main.c', 'src/shader.c', pltf_src, 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: [ libcmocka ] )