From 3a397eefa0d299c74db14c7a5561bd572540905e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=9A=93?= Date: Sat, 12 Jul 2025 21:16:37 -0400 Subject: [PATCH 1/2] Make sure git-hash.h is generated prior to building meson.build was previously written in such a way that Ninja did not actually have to generate git-hash.h before building the source files that needed it, although Ninja often did do it. --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index cb2830ff..dbc5eb4b 100644 --- a/meson.build +++ b/meson.build @@ -8,8 +8,8 @@ endif compilers = {'cpp': meson.get_compiler('cpp')} -global_sources = [vcs_tag(command: ['git', 'rev-parse', '--short=7', 'HEAD'], fallback: 'unknown', input: 'src/git-hash.h.in', output: 'git-hash.h')] -global_dependencies = [] +global_sources = [] +global_dependencies = [declare_dependency(sources: vcs_tag(command: ['git', 'rev-parse', '--short=7', 'HEAD'], fallback: 'unknown', input: 'src/git-hash.h.in', output: 'git-hash.h'))] global_include_dirs = [] global_args = [] global_link_args = [] From eedd7d4481e35b5032a8118025e3d5baaaf8b0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=9A=93?= Date: Sat, 12 Jul 2025 21:28:55 -0400 Subject: [PATCH 2/2] Make sure assets and shaders are embedded prior to building These files were not guaranteed to be available before Ninja builds the mkxp-z source files. --- assets/meson.build | 6 +++++- shader/meson.build | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/assets/meson.build b/assets/meson.build index 6659aa9a..85511264 100644 --- a/assets/meson.build +++ b/assets/meson.build @@ -11,9 +11,11 @@ endif embedded_assets_f = files(embedded_assets) +embedded_assets_sources = [] + count = 0 foreach file : embedded_assets_f - global_sources += custom_target(embedded_assets[count], + embedded_assets_sources += custom_target(embedded_assets[count], input: file, output: '@0@.xxd'.format(embedded_assets[count]), command: [ @@ -25,3 +27,5 @@ foreach file : embedded_assets_f ) count += 1 endforeach + +global_dependencies += declare_dependency(sources: embedded_assets_sources) diff --git a/shader/meson.build b/shader/meson.build index adae8842..d139451c 100644 --- a/shader/meson.build +++ b/shader/meson.build @@ -36,9 +36,11 @@ endif embedded_shaders_f = files(embedded_shaders) +embedded_shaders_dep_sources = [] + count = 0 foreach file : embedded_shaders_f - global_sources += custom_target(embedded_shaders[count], + embedded_shaders_dep_sources += custom_target(embedded_shaders[count], input: file, output: '@0@.xxd'.format(embedded_shaders[count]), command: [ @@ -50,3 +52,5 @@ foreach file : embedded_shaders_f ) count += 1 endforeach + +global_dependencies += declare_dependency(sources: embedded_shaders_dep_sources)