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

Reply via email to