neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 921f8b0df728222e8aa02f2e6324e1b57b440519
parent 1fb0126a086de32daf800b773337bc8fc7996221
Author: bfredl <bjorn.linse@gmail.com>
Date:   Sun,  4 May 2025 09:49:10 +0200

fix(build): use correct cmake expression for $<CONFIG>

${CONFIG} is an empty string even when configuration is known at
configuration time. $<CONFIG> has to be used at "generation time"

Currently zig's reimplementation of cmake config headers does not
support $<CONFIG> so use a branch to pick the one which works.

Diffstat:
Mbuild.zig | 3++-
Mcmake.config/versiondef.h.in | 6+++++-
Dsrc/versiondef.h.in | 16----------------
3 files changed, 7 insertions(+), 18 deletions(-)

diff --git a/build.zig b/build.zig @@ -153,11 +153,12 @@ pub fn build(b: *std.Build) !void { config_str = b.fmt("{s} -Dcross -Dtarget={s} (host: {s})", .{ config_str, try t.linuxTriple(b.allocator), try b.graph.host.result.linuxTriple(b.allocator) }); } - const versiondef_step = b.addConfigHeader(.{ .style = .{ .cmake = b.path("src/versiondef.h.in") } }, .{ + const versiondef_step = b.addConfigHeader(.{ .style = .{ .cmake = b.path("cmake.config/versiondef.h.in") } }, .{ .NVIM_VERSION_MAJOR = version.major, .NVIM_VERSION_MINOR = version.minor, .NVIM_VERSION_PATCH = version.patch, .NVIM_VERSION_PRERELEASE = version.prerelease, + .NVIM_VERSION_MEDIUM = "", .VERSION_STRING = "TODO", // TODO(bfredl): not sure what to put here. summary already in "config_str" .CONFIG = config_str, }); diff --git a/cmake.config/versiondef.h.in b/cmake.config/versiondef.h.in @@ -12,6 +12,10 @@ #endif #define NVIM_VERSION_CFLAGS "${VERSION_STRING}" -#define NVIM_VERSION_BUILD_TYPE "${CONFIG}" +#ifdef ZIG_BUILD +# define NVIM_VERSION_BUILD_TYPE "${CONFIG}" +#else +# define NVIM_VERSION_BUILD_TYPE "$<CONFIG>" +#endif #endif // AUTO_VERSIONDEF_H diff --git a/src/versiondef.h.in b/src/versiondef.h.in @@ -1,16 +0,0 @@ -#ifndef AUTO_VERSIONDEF_H -#define AUTO_VERSIONDEF_H - -#define NVIM_VERSION_MAJOR @NVIM_VERSION_MAJOR@ -#define NVIM_VERSION_MINOR @NVIM_VERSION_MINOR@ -#define NVIM_VERSION_PATCH @NVIM_VERSION_PATCH@ -#define NVIM_VERSION_PRERELEASE "@NVIM_VERSION_PRERELEASE@" - -#ifndef NVIM_VERSION_MEDIUM -# include "auto/versiondef_git.h" -#endif - -#define NVIM_VERSION_CFLAGS "${VERSION_STRING}" -#define NVIM_VERSION_BUILD_TYPE "${CONFIG}" - -#endif // AUTO_VERSIONDEF_H