From a0d6ec07c91801859aa1c92f65ee6a924a306e0a Mon Sep 17 00:00:00 2001 From: Florian Fischer <florian.fl.fischer@fau.de> Date: Thu, 18 Feb 2021 12:14:18 +0100 Subject: [PATCH] [meson] fix version header custom target for meson >= 0.57 Apparently custom_target no longer supports the @CURRENT_SOURCE_DIR@ and @SOURCE_DIR@ substitutions. We now locate the script using find_program(). Since meson.project_source_dir() is not available in older meson version there is a version check. --- emper/include/meson.build | 41 ++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/emper/include/meson.build b/emper/include/meson.build index 286ccd77..b86f7920 100644 --- a/emper/include/meson.build +++ b/emper/include/meson.build @@ -1,14 +1,33 @@ emper_include = include_directories('.') -emper_version_h = custom_target( - 'emper-version.h', - output: 'emper-version.h', - command: [ - '@CURRENT_SOURCE_DIR@/generateVersionHeader.sh', - 'generate', - meson.project_version(), - '@OUTPUT@', - '@SOURCE_DIR@', - ] -) +versionHeaderScript = find_program('generateVersionHeader.sh') + +meson_version = meson.version().split('.') +major = meson_version[0].to_int() +minor = meson_version[1].to_int() +if major > 0 or minor > 56 + emper_version_h = custom_target( + 'emper-version.h', + output: 'emper-version.h', + command: [ + versionHeaderScript, + 'generate', + meson.project_version(), + '@OUTPUT@', + meson.project_source_root(), + ] + ) +else + emper_version_h = custom_target( + 'emper-version.h', + output: 'emper-version.h', + command: [ + versionHeaderScript, + 'generate', + meson.project_version(), + '@OUTPUT@', + '@SOURCE_DIR@', + ] + ) +endif emper_generated_files += emper_version_h -- GitLab