git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Hostetler <git@jeffhostetler.com>
To: Isaac Hier <isaachier@gmail.com>, gitster@pobox.com
Cc: git@vger.kernel.org
Subject: Re: [RFC PATCH 0/1] Implement CMake build
Date: Wed, 24 Jan 2018 14:36:58 -0500	[thread overview]
Message-ID: <675fa58d-bff3-d7e4-5fac-ecf1401932f4@jeffhostetler.com> (raw)
In-Reply-To: <20180123001648.24260-1-isaachier@gmail.com>



On 1/22/2018 7:16 PM, Isaac Hier wrote:
> This patch adds a mostly complete (aside from building tests, documentation,
> installation, etc.) CMake build to the git project. I am not sure how much
> interest there is in a CMake build, so please send me feedback one way or
> another. Personally, I believe CMake will help with Windows builds and is
> somewhat easier to read than a Makefile. I considered, adding this to the
> contrib directory, but CMakeLists.txt almost always reside in the original
> directories, and I'm not sure how wise it would be to do otherwise. If you are
> interested in a CMake build, I would be more than happy to finish up the work
> here. Decided to wait until I discussed the issue here to finish the final parts
> of the build.

On Windows, we use "bash" and "make" from the Git-for-Windows SDK installation
(which gives us a bash shell and most of the usual Unix command line tools) and
the main "Makefile".  We do need a special section in the "config.mak.uname" file
to set some platform compiler options and etc., but that is small enough.

Johannes and I recently added a few new options to let Windows build Git from
the command line with either GCC or MSVC and to synthesize MSVS solution (.sln)
and project (.vcxproj) files to allow you to work with the full MSVS IDE and
full intellisense.  And if necessary download and build third-party libraries
not normally present on a Windows machine.  Most of this work is Windows specific
and may not yet be upstream.   See GfW [1] and VCPKG [2].

The synthesized solution and project files are automatically generated, so we
do not have to separately track changes in the Makefile to the various file lists.
These should be treated as read-only and re-generated in response to changes in
the Makefile.  Using the solution/project files, we can completely build Git in
the IDE or a command prompt and without the SDK.  This further simplifies things
for Windows developers.

So given that, I don't see a need to replace the main Makefile on Windows.

Sorry,
Jeff

[1] https://github.com/git-for-windows/git
[2] https://github.com/Microsoft/vcpkg

  parent reply	other threads:[~2018-01-24 19:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-23  0:16 [RFC PATCH 0/1] Implement CMake build Isaac Hier
2018-01-23  0:16 ` [RFC PATCH 1/1] " Isaac Hier
2018-01-24 13:45 ` [RFC PATCH 0/1] " Isaac Hier
2018-01-24 18:11   ` Jacob Keller
2018-01-24 18:47   ` Junio C Hamano
2018-01-24 20:53     ` Ævar Arnfjörð Bjarmason
2018-01-24 21:15   ` Stephan Beyer
2018-01-24 21:19     ` Isaac Hier
2018-01-24 22:02       ` Stephan Beyer
2018-01-25  2:16         ` Isaac Hier
2018-01-24 19:36 ` Jeff Hostetler [this message]
2018-01-24 19:59   ` Isaac Hier
2018-01-24 21:00     ` Jeff Hostetler
2018-01-24 21:17       ` Isaac Hier
2018-01-26  0:21       ` Isaac Hier
2018-01-26 17:34         ` Jeff Hostetler
2018-02-20 16:28         ` Robert Dailey
2018-02-23 18:48           ` Isaac Hier

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=675fa58d-bff3-d7e4-5fac-ecf1401932f4@jeffhostetler.com \
    --to=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=isaachier@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).