Re: Is a modern build system acceptable for older platforms

From: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Is a modern build system acceptable for older platforms
Date: 2018-04-27 08:45:40
Message-ID: b17e3a86-935d-d0e0-dcb7-2b23d8591564@catalyst.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 27/04/18 19:10, Yuriy Zhuravlev wrote:

>
> 1. You can remove tools/msvc folder because all your build rules will
> be universal. (cmake build now have much fewer lines of code)
> 2. You can forget about terminal in Windows (for windows guys it's
> important)
> 3. You can normally check environment on Windows, right now we have
> hardcoded headers and many options. Configure process will be same on
> all platforms.
> 4. You can generate not only GNU Make or MSVC project, you also can
> make Xcode projects, Ninja or NMake for build under MSVC Make. For
> Windows, you also can easily change MSVC to Clang it's not hardcoded
> at all.
> 5. With CMake you have an easy way to build extra modules (plugins), I
> have already working prototype for windows PGXS.  A plugin should just
> include .cmake file generated with Postgres build.
> Example:
> https://github.com/stalkerg/postgres_cmake/blob/cmake/contrib/adminpack/CMakeLists.txt
> If PGXS is True it's mean we build module outside postgres.
>
> But in my opinion, you should just try CMake to figure out all benefits.
>
>

I note that Mysql (yeah I know, we don't love 'em greatly, but their
product niche is similar to ours) and Ceph (ok it is a distributed
storage system but still a highly popular open src product) have
switched to using cmake (relatively) recently. Both these projects were
using autoconf etc related builds previously and seem to be doing just
fine with cmake.

regards
Mark

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Guilherme Pereira 2018-04-27 09:18:02 Wrong plan with extra parallel workers
Previous Message Yuriy Zhuravlev 2018-04-27 07:10:21 Re: Is a modern build system acceptable for older platforms