mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build: unbreak building neovim with multi-config generators (#22104)
file(GENERATE) has surprising behavior as it doesn't allow different file contents for configurations with the same file name. This results in an error when building neovim with a multi-config generator. Use a workaround for now where we set the build type for multi-config generators to "Unknown".
This commit is contained in:
parent
144279ef30
commit
964ae205a5
@ -162,15 +162,15 @@ configure_file (
|
|||||||
"${PROJECT_BINARY_DIR}/cmake.config/auto/config.h"
|
"${PROJECT_BINARY_DIR}/cmake.config/auto/config.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Improved :version output on newer cmake versions
|
# TODO(dundargoc): the following is a hack to work around the behavior of
|
||||||
if(${CMAKE_VERSION} VERSION_LESS 3.14)
|
# file(GENERATE) for multi-config generators, since it doesn't allow different
|
||||||
configure_file(
|
# output with the same filename. This should be fixed to be generator
|
||||||
"${PROJECT_SOURCE_DIR}/cmake.config/versiondef-old.h.in"
|
# independent in the future.
|
||||||
"${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef.h.gen")
|
get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
if(isMultiConfig)
|
||||||
|
configure_file(versiondef-multi.h.in auto/versiondef.h.gen)
|
||||||
else()
|
else()
|
||||||
configure_file(
|
configure_file(versiondef.h.in auto/versiondef.h.gen)
|
||||||
"${PROJECT_SOURCE_DIR}/cmake.config/versiondef.h.in"
|
|
||||||
"${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef.h.gen")
|
|
||||||
endif()
|
endif()
|
||||||
file(GENERATE
|
file(GENERATE
|
||||||
OUTPUT "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef.h"
|
OUTPUT "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef.h"
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#define NVIM_API_LEVEL_COMPAT @NVIM_API_LEVEL_COMPAT@
|
#define NVIM_API_LEVEL_COMPAT @NVIM_API_LEVEL_COMPAT@
|
||||||
#define NVIM_API_PRERELEASE @NVIM_API_PRERELEASE@
|
#define NVIM_API_PRERELEASE @NVIM_API_PRERELEASE@
|
||||||
|
|
||||||
#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER} $<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_OPTIONS>, > -D$<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_DEFINITIONS>, -D> -I$<JOIN:$<TARGET_PROPERTY:nvim,INCLUDE_DIRECTORIES>, -I>"
|
#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER} $<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_OPTIONS>, > -I$<JOIN:$<TARGET_PROPERTY:nvim,INCLUDE_DIRECTORIES>, -I>"
|
||||||
#define NVIM_VERSION_BUILD_TYPE "$<CONFIG>"
|
#define NVIM_VERSION_BUILD_TYPE "Unknown"
|
||||||
|
|
||||||
#endif // AUTO_VERSIONDEF_H
|
#endif // AUTO_VERSIONDEF_H
|
@ -15,7 +15,7 @@
|
|||||||
#define NVIM_API_LEVEL_COMPAT @NVIM_API_LEVEL_COMPAT@
|
#define NVIM_API_LEVEL_COMPAT @NVIM_API_LEVEL_COMPAT@
|
||||||
#define NVIM_API_PRERELEASE @NVIM_API_PRERELEASE@
|
#define NVIM_API_PRERELEASE @NVIM_API_PRERELEASE@
|
||||||
|
|
||||||
#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER} $<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_OPTIONS>, > -D$<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_DEFINITIONS>, -D> -I$<JOIN:$<REMOVE_DUPLICATES:$<TARGET_PROPERTY:nvim,INCLUDE_DIRECTORIES>>, -I>"
|
#define NVIM_VERSION_CFLAGS "${CMAKE_C_COMPILER} $<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_OPTIONS>, > -D$<JOIN:$<TARGET_PROPERTY:nvim,COMPILE_DEFINITIONS>, -D> -I$<JOIN:$<TARGET_PROPERTY:nvim,INCLUDE_DIRECTORIES>, -I>"
|
||||||
#define NVIM_VERSION_BUILD_TYPE "$<CONFIG>"
|
#define NVIM_VERSION_BUILD_TYPE "$<CONFIG>"
|
||||||
|
|
||||||
#endif // AUTO_VERSIONDEF_H
|
#endif // AUTO_VERSIONDEF_H
|
||||||
|
Loading…
Reference in New Issue
Block a user