build: reuse source files with interface library (#22177)

This will minimize duplication by only needing to specify required files for nvim and libnvim once.
This commit is contained in:
dundargoc 2023-02-08 19:31:10 +01:00 committed by GitHub
parent 7404f481ba
commit 5638813066
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -664,9 +664,14 @@ else()
target_compile_definitions(nvim PRIVATE $<$<CONFIG:Debug>:UNIT_TESTING>)
endif()
target_sources(nvim PRIVATE ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS}
${NVIM_GENERATED_SOURCES} ${NVIM_SOURCES} ${NVIM_HEADERS}
${EXTERNAL_SOURCES} ${EXTERNAL_HEADERS})
target_sources(main_lib INTERFACE
${NVIM_GENERATED_FOR_SOURCES}
${NVIM_GENERATED_FOR_HEADERS}
${NVIM_GENERATED_SOURCES}
${NVIM_SOURCES}
${NVIM_HEADERS}
${EXTERNAL_SOURCES}
${EXTERNAL_HEADERS})
set_target_properties(nvim
PROPERTIES
@ -809,14 +814,7 @@ install(DIRECTORY ${BINARY_LIB_DIR}
DESTINATION ${CMAKE_INSTALL_LIBDIR}/nvim/
USE_SOURCE_PERMISSIONS)
add_library(
libnvim
STATIC
EXCLUDE_FROM_ALL
${NVIM_SOURCES} ${NVIM_GENERATED_SOURCES}
${NVIM_HEADERS} ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS}
${EXTERNAL_SOURCES} ${EXTERNAL_HEADERS}
)
add_library(libnvim STATIC EXCLUDE_FROM_ALL)
if(MSVC)
set(LIBNVIM_NAME libnvim)
else()