Re: Is a modern build system acceptable for older platforms

From: Yuriy Zhuravlev <stalkerg(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Darafei Komяpa Praliaskouski <me(at)komzpa(dot)net>, Catalin Iacob <iacobcatalin(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Is a modern build system acceptable for older platforms
Date: 2018-04-27 07:10:21
Message-ID: CANiD2e-soCTfXxSA_qTsFFw0dNVJM4wBLB=VNQ5xJteKxtn40g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> (2) it might make things easier on Windows,
> which could be a sufficiently good reason but I don't think I've seen
> anyone explain exactly how much easier it will make things and in what
> ways.
>

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.

> we can't judge whether they do without a clear explanation of what the
gains will be

I think it's not that thing what easy to explain. Main benefits not in unix
console area and C language...

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mark Kirkwood 2018-04-27 08:45:40 Re: Is a modern build system acceptable for older platforms
Previous Message Andrew Gierth 2018-04-27 06:44:51 Re: Is there a memory leak in commit 8561e48?