Improve meson build.

-Add all required packages as wrap dependencies
-Move source lsitnings to separate files
-Proper dependencies declarations
-Set global D compiler arguments
-Add few asserts
-Add test exe
-Other small improvements

Tested with dmd with betterC, demos executable has to be run from 'demos' directory to properly load assets.
This commit is contained in:
mmcomando 2021-02-21 20:44:58 +01:00
parent 00386ed529
commit 66b5807368
16 changed files with 314 additions and 104 deletions

View file

@ -1,31 +1,25 @@
#project('ECSUtils', 'd')
# Files
utils_src = files()
subdir('source/ecs_utils')
utils_src = [
'source/ecs_utils/gfx/mesh.d',
'source/ecs_utils/gfx/sprite.d',
'source/ecs_utils/gfx/mesh_module.d',
'source/ecs_utils/gfx/material.d',
'source/ecs_utils/gfx/shader.d',
'source/ecs_utils/gfx/vertex.d',
'source/ecs_utils/gfx/config.d',
'source/ecs_utils/gfx/buffer.d',
'source/ecs_utils/gfx/render_list.d',
'source/ecs_utils/gfx/renderer.d',
'source/ecs_utils/gfx/texture.d',
'source/ecs_utils/utils.d',
'source/ecs_utils/math/matrix.d',
'source/ecs_utils/math/vector.d',
'source/ecs_utils/imgui_styles.d',
'source/ecs_utils/imgui_bind.d'
]
utils_inc = include_directories('source/')
bc_loader_dep = dependency('bindbc-loader', method: 'dub')
sdl_dep = dependency('bindbc-sdl', method: 'dub')
# Dependencies
ecs_utils_lib = library('ecs_utils', utils_src,
include_directories : [demos_inc, external_inc, utils_inc],
link_args : link_args,
d_module_versions : versions,
dependencies : [
decs_dep,
bindbc_loader_dep,
bindbc_sdl_dep,
]
)
utils_inc = include_directories(['source/','../external/sources/'])
ecs_utils_lib = library('ecs_utils', utils_src, include_directories : [utils_inc, inc], d_args: args, link_args: link_args,
d_module_versions: ['BindSDL_Image','SDL_2010'], link_with: ecs_lib, dependencies: [bc_loader_dep,sdl_dep])
ecs_utils_dep = declare_dependency(
include_directories : utils_inc,
link_with : ecs_utils_lib,
)
#shared_library('ecs_utils', utils_src, include_directories : [utils_inc], d_args: args, link_args: link_args, link_with: ecs_lib)

View file

@ -0,0 +1,18 @@
utils_src += files(
'gfx/mesh.d',
'gfx/sprite.d',
'gfx/mesh_module.d',
'gfx/material.d',
'gfx/shader.d',
'gfx/vertex.d',
'gfx/config.d',
'gfx/buffer.d',
'gfx/render_list.d',
'gfx/renderer.d',
'gfx/texture.d',
'utils.d',
'math/matrix.d',
'math/vector.d',
'imgui_styles.d',
'imgui_bind.d',
)