]> git.ipfire.org Git - thirdparty/git.git/blobdiff - contrib/buildsystems/CMakeLists.txt
Merge branch 'en/merge-ort-perf'
[thirdparty/git.git] / contrib / buildsystems / CMakeLists.txt
index df539a44fa0a1b5c4516d1766dfe24e8ee30204e..ac3dbc079af8319ca6bb2344e874fef4f518b219 100644 (file)
@@ -114,6 +114,16 @@ macro(parse_makefile_for_scripts list_var regex lang)
        endif()
 endmacro()
 
+macro(parse_makefile_for_executables list_var regex)
+       file(STRINGS ${CMAKE_SOURCE_DIR}/Makefile ${list_var} REGEX "^${regex} \\+= git-(.*)")
+       string(REPLACE "${regex} +=" "" ${list_var} ${${list_var}})
+       string(STRIP ${${list_var}} ${list_var}) #remove trailing/leading whitespaces
+       string(REPLACE "git-" "" ${list_var} ${${list_var}}) #strip `git-` prefix
+       string(REPLACE "\$X" ";" ${list_var} ${${list_var}}) #strip $X, ; is for converting the string into a list
+       list(TRANSFORM ${list_var} STRIP) #remove trailing/leading whitespaces for each element in list
+       list(REMOVE_ITEM ${list_var} "") #remove empty list elements
+endmacro()
+
 include(CheckTypeSize)
 include(CheckCSourceRuns)
 include(CheckCSourceCompiles)
@@ -673,10 +683,7 @@ if(CURL_FOUND)
        endif()
 endif()
 
-set(git_builtin_extra
-       cherry cherry-pick format-patch fsck-objects
-       init merge-subtree restore show
-       stage status switch whatchanged)
+parse_makefile_for_executables(git_builtin_extra "BUILT_INS")
 
 #Creating hardlinks
 foreach(s ${git_SOURCES} ${git_builtin_extra})
@@ -903,9 +910,7 @@ set(PYTHON_PATH /usr/bin/python)
 set(TAR tar)
 set(NO_CURL )
 set(NO_EXPAT )
-set(USE_LIBPCRE1 )
 set(USE_LIBPCRE2 )
-set(NO_LIBPCRE1_JIT )
 set(NO_PERL )
 set(NO_PTHREADS )
 set(NO_PYTHON )
@@ -942,8 +947,6 @@ file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "PYTHON_PATH='${PYTHON_PATH}'\
 file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "TAR='${TAR}'\n")
 file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_CURL='${NO_CURL}'\n")
 file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_EXPAT='${NO_EXPAT}'\n")
-file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "USE_LIBPCRE1='${USE_LIBPCRE1}'\n")
-file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_LIBPCRE1_JIT='${NO_LIBPCRE1_JIT}'\n")
 file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_PERL='${NO_PERL}'\n")
 file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_PTHREADS='${NO_PTHREADS}'\n")
 file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_UNIX_SOCKETS='${NO_UNIX_SOCKETS}'\n")