Skip to contentSkip to conversation

cmake: stop trying to build the reftable and xdiff libraries

PATCH New Johannes Schindelin via GitGitGadget 1 participant 1 message Nov 17, 2025

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cmake: stop trying to build the reftable and xdiff libraries

From: Johannes Schindelin <[email protected]>

In the en/make-libgit-a topic branch, more precisely in the commits f3b4c89d59f1 (make: delete REFTABLE_LIB, add reftable to LIB_OBJS, 2025-10-02) and cf680cdb9543 (make: delete XDIFF_LIB, add xdiff to LIB_OBJS, 2025-10-02), the strategy to build three static libraries was rethought, and instead only one static library is now built.

This is good.

However, the CMake definition was not changed accordingly, and now CMake-based builds fail thusly:

[...]
Generating hook-list.h
CMake Error at CMakeLists.txt:122 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:711 (parse_makefile_for_sources)

CMake Error at CMakeLists.txt:122 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:717 (parse_makefile_for_sources)

-- Configuring incomplete, errors occurred!

Fix that by removing the parts that expect the reftable and xdiff objects to be defined separately in the Makefile, still.

---
cmake: stop trying to build the reftable and xdiff libraries

This was needed to be able to pass the CI builds of Git for Windows v2.52. With all the Windows build problems observed in the win+Meson job in seen lately, it might become unsustainable to also keep taking care of the CMake definition. But then, the same might be said about the Windows part of the Meson build definition.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2006%2Fdscho%2Fadjust-cmake-to-xdiff-and-reftable-merge-into-libgit-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2006/dscho/adjust-cmake-to-xdiff-and-reftable-merge-into-libgit-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2006

 contrib/buildsystems/CMakeLists.txt | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
contrib/buildsystems/CMakeLists.txt +1 -13
index edb0fc04ad..479163ab5c 100644
@@ -679,18 +679,6 @@ list(APPEND libgit_SOURCES "${CMAKE_BINARY_DIR}/version-def.h")
 
 add_library(libgit ${libgit_SOURCES} ${compat_SOURCES})
 
-#libxdiff
-parse_makefile_for_sources(libxdiff_SOURCES ${CMAKE_SOURCE_DIR}/Makefile "XDIFF_OBJS")
-
-list(TRANSFORM libxdiff_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
-add_library(xdiff STATIC ${libxdiff_SOURCES})
-
-#reftable
-parse_makefile_for_sources(reftable_SOURCES ${CMAKE_SOURCE_DIR}/Makefile "REFTABLE_OBJS")
-
-list(TRANSFORM reftable_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
-add_library(reftable STATIC ${reftable_SOURCES})
-
 if(WIN32)
 	add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/git.rc
 			COMMAND "${SH_EXE}" "${CMAKE_SOURCE_DIR}/GIT-VERSION-GEN"
@@ -720,7 +708,7 @@ endif()
 #link all required libraries to common-main
 add_library(common-main OBJECT ${CMAKE_SOURCE_DIR}/common-main.c)
 
-target_link_libraries(common-main libgit xdiff reftable ${ZLIB_LIBRARIES})
+target_link_libraries(common-main libgit ${ZLIB_LIBRARIES})
 if(Intl_FOUND)
 	target_link_libraries(common-main ${Intl_LIBRARIES})
 endif()

base-commit: 9a2fb147f2c61d0cab52c883e7e26f5b7948e3ed

Signature · 1 line
gitgitgadget