Skip to content

Commit 043bfc6

Browse files
committed
Merge branch 'js/cmake-extra-built-ins-fix'
VSbuild fix. * js/cmake-extra-built-ins-fix: cmake: determine list of extra built-ins dynamically
2 parents ccbde2c + 7fe0727 commit 043bfc6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

contrib/buildsystems/CMakeLists.txt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,16 @@ macro(parse_makefile_for_scripts list_var regex lang)
114114
endif()
115115
endmacro()
116116

117+
macro(parse_makefile_for_executables list_var regex)
118+
file(STRINGS ${CMAKE_SOURCE_DIR}/Makefile ${list_var} REGEX "^${regex} \\+= git-(.*)")
119+
string(REPLACE "${regex} +=" "" ${list_var} ${${list_var}})
120+
string(STRIP ${${list_var}} ${list_var}) #remove trailing/leading whitespaces
121+
string(REPLACE "git-" "" ${list_var} ${${list_var}}) #strip `git-` prefix
122+
string(REPLACE "\$X" ";" ${list_var} ${${list_var}}) #strip $X, ; is for converting the string into a list
123+
list(TRANSFORM ${list_var} STRIP) #remove trailing/leading whitespaces for each element in list
124+
list(REMOVE_ITEM ${list_var} "") #remove empty list elements
125+
endmacro()
126+
117127
include(CheckTypeSize)
118128
include(CheckCSourceRuns)
119129
include(CheckCSourceCompiles)
@@ -673,10 +683,7 @@ if(CURL_FOUND)
673683
endif()
674684
endif()
675685

676-
set(git_builtin_extra
677-
cherry cherry-pick format-patch fsck-objects
678-
init merge-subtree restore show
679-
stage status switch whatchanged)
686+
parse_makefile_for_executables(git_builtin_extra "BUILT_INS")
680687

681688
#Creating hardlinks
682689
foreach(s ${git_SOURCES} ${git_builtin_extra})

0 commit comments

Comments
 (0)