On 27 April 2018 at 15:10, Yuriy Zhuravlev <stalk...@gmail.com> 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) Which is nice, but not actually a major day to day impact. > 2. You can forget about terminal in Windows (for windows guys it's > important) OK, but it's not really important for the PostgreSQL project, IMO. Also, most people working on PostgreSQL are probably less bothered by the terminal. > 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. Again, nice, but does that solve a real current problem? > 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. Yeah, that's nice, but again, what're the real world benefits? > 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. Yep. FWIW, I already use CMake for some PostgreSQL extensions because of PGXS limitations and Windows support. I won't say I'm a big fan, the documentation is a bit stale and it has some weird quirks and limitations, but compared to autohell it's pure magic. > But in my opinion, you should just try CMake to figure out all benefits. I use it fairly regularly. I'd never use autotools for any project I was starting myself. But that doesn't mean converting the whole postgres project is a good idea. I'd do it, personally. But it's not just up to me. I've yet to hear something that's compelling to a team who still set Perl 5.8.8 as the minimum version and support SunOS. You'll need a compelling argument that it's worth the pain and distruption. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services