From 1094d0c0dbd0f37ccc0f1d18c73c6066e5690664 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Mon, 23 Oct 2023 22:32:32 +0200 Subject: [PATCH] build: add CMAKE_C_FLAGS to --version output Closes https://github.com/neovim/neovim/issues/25754. --- cmake.config/CMakeLists.txt | 6 ++++++ cmake.config/versiondef.h.in | 2 +- cmake.config/versiondef_old.h.in | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake.config/CMakeLists.txt b/cmake.config/CMakeLists.txt index 1b175475ee..d831d26312 100644 --- a/cmake.config/CMakeLists.txt +++ b/cmake.config/CMakeLists.txt @@ -161,6 +161,12 @@ configure_file ( "${PROJECT_BINARY_DIR}/cmake.config/auto/config.h" ) +# Prevent double space in --version output if CMAKE_C_FLAGS is empty +set(C_FLAGS_VERSION_OUTPUT ${CMAKE_C_FLAGS}) +if(C_FLAGS_VERSION_OUTPUT) + string(PREPEND C_FLAGS_VERSION_OUTPUT " ") +endif() + if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.15) configure_file(versiondef.h.in auto/versiondef.h.gen) else() diff --git a/cmake.config/versiondef.h.in b/cmake.config/versiondef.h.in index b328c1fa00..bda21b27ec 100644 --- a/cmake.config/versiondef.h.in +++ b/cmake.config/versiondef.h.in @@ -15,7 +15,7 @@ #define NVIM_API_LEVEL_COMPAT @NVIM_API_LEVEL_COMPAT@ #define NVIM_API_PRERELEASE @NVIM_API_PRERELEASE@ -#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER} $<$:${CMAKE_C_FLAGS_DEBUG}>$<$:${CMAKE_C_FLAGS_RELEASE}>$<$:${CMAKE_C_FLAGS_RELWITHDEBINFO}>$<$:${CMAKE_C_FLAGS_MINSIZEREL}> $, > -D$, -D> -I$>, -I>" +#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER}${C_FLAGS_VERSION_OUTPUT} $<$:${CMAKE_C_FLAGS_DEBUG}>$<$:${CMAKE_C_FLAGS_RELEASE}>$<$:${CMAKE_C_FLAGS_RELWITHDEBINFO}>$<$:${CMAKE_C_FLAGS_MINSIZEREL}> $, > -D$, -D> -I$>, -I>" #define NVIM_VERSION_BUILD_TYPE "$" #endif // AUTO_VERSIONDEF_H diff --git a/cmake.config/versiondef_old.h.in b/cmake.config/versiondef_old.h.in index a4c0cfa2d9..4e21e0c7be 100644 --- a/cmake.config/versiondef_old.h.in +++ b/cmake.config/versiondef_old.h.in @@ -15,7 +15,7 @@ #define NVIM_API_LEVEL_COMPAT @NVIM_API_LEVEL_COMPAT@ #define NVIM_API_PRERELEASE @NVIM_API_PRERELEASE@ -#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER} $<$:${CMAKE_C_FLAGS_DEBUG}>$<$:${CMAKE_C_FLAGS_RELEASE}>$<$:${CMAKE_C_FLAGS_RELWITHDEBINFO}>$<$:${CMAKE_C_FLAGS_MINSIZEREL}> $, > -D$, -D> -I$, -I>" +#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER}${C_FLAGS_VERSION_OUTPUT} $<$:${CMAKE_C_FLAGS_DEBUG}>$<$:${CMAKE_C_FLAGS_RELEASE}>$<$:${CMAKE_C_FLAGS_RELWITHDEBINFO}>$<$:${CMAKE_C_FLAGS_MINSIZEREL}> $, > -D$, -D> -I$, -I>" #define NVIM_VERSION_BUILD_TYPE "$" #endif // AUTO_VERSIONDEF_H