All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH] cmake: determine list of extra built-ins dynamically
Date: Fri, 4 Dec 2020 23:41:00 +0100 (CET)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.2012042338580.25979@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <xmqqczzpe3i6.fsf@gitster.c.googlers.com>

Hi Junio,

On Fri, 4 Dec 2020, Junio C Hamano wrote:

> "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
> writes:
>
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > In 0a21d0e08902 (Makefile: mark git-maintenance as a builtin,
> > 2020-12-01), we marked git-maintenance as a builtin in the Makefile, but
> > forgot to do the same in `CMakeLists.txt`.
> >
> > Rather than always play catch-up and adjust `git_builtin_extra`
> > manually, use the `BUILT_INS` definitions in the Makefile as
> > authoritative source and generate `git_builtin_extra` dynamically.
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> >     ci: fix the vs-build job after adding git maintenance
> >
> >     Together with https://github.com/gitgitgadget/git/pull/805, this should
> >     fix the vs-build job in the CI build of seen.
>
> I suspect that the breakage 805 addresses affects even 'master'; is
> the breakage this patch fixes limited to 'seen', or affect everybody?

I haven't checked `master` yet, but `next` definitely was affected. I
_think_ the problem was introduced when Peff's patch added the
`git-maintenance` tool to the `BUILT_INS` list in the `Makefile` (and
hence we try to `tar` it up with all the other build artifacts in the
`vs-build` job) but wasn't added to `CMakeLists.txt` (and therefore
`vs-build` would not generate that hard-link).

Ciao,
Dscho

>
> > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-807%2Fdscho%2Fcmake-and-extra-builtins-v1
> > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-807/dscho/cmake-and-extra-builtins-v1
> > Pull-Request: https://github.com/gitgitgadget/git/pull/807
> >
> >  contrib/buildsystems/CMakeLists.txt | 15 +++++++++++----
> >  1 file changed, 11 insertions(+), 4 deletions(-)
> >
> > diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
> > index df539a44fa..c151dd7257 100644
> > --- a/contrib/buildsystems/CMakeLists.txt
> > +++ b/contrib/buildsystems/CMakeLists.txt
> > @@ -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})
> >
> > base-commit: 898f80736c75878acc02dc55672317fcc0e0a5a6
>

  reply	other threads:[~2020-12-04 22:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04 19:33 [PATCH] cmake: determine list of extra built-ins dynamically Johannes Schindelin via GitGitGadget
2020-12-04 20:10 ` Junio C Hamano
2020-12-04 22:41   ` Johannes Schindelin [this message]
2020-12-04 21:11 ` Jeff King
2020-12-04 22:44   ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=nycvar.QRO.7.76.6.2012042338580.25979@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.