Hi Aaron,

I'd like to expand on what Andy said:

If you want cross-platform development, then cmake is the only way to go. For 
example, if you want to build on Windows, you MUST use cmake. We anticipate, 
over time, that cmake will replace the autotools build (we do not want to 
maintain two build systems). The cmake system is also much more expandable (for 
example, while this hasn't been done on Linux, Windows had dramatic speed 
improvements through the use of precompiled headers - if someone was inclined 
to spend the time on Linux, I imagine similar speed improvements are possible). 
Note, by the way, that ReviewBot runs on Windows; if you break the Windows 
build, you need to fix it prior to committing changes.

I would say: If you don't care about Java or Python bindings, and you're doing 
development (i.e. you don't need an installable package), then cmake is a fine 
way to go. But if you need something that only autotools does today, then you 
don't really have a choice. Regardless, when you commit a change, you need to 
be sure that both build systems work properly.

Note that cmake is compatible with ccache. Also, FWIW, cmake also gives you 
very nice "percentage done" notifications on Linux (i.e. 85% done, or 
whatever), which is super nice to know how far along you are. That's a very 
cool feature that I just love.

I agree that we sorely need a concise list of features that are missing. We 
need to understand what's missing, and judge how often missing features are 
used, in order to "fully bake" the cmake build system in Mesos.

/Jeff

-----Original Message-----
From: Andy Schwartzmeyer [mailto:andsc...@microsoft.com.INVALID] 
Sent: Wednesday, June 21, 2017 4:12 PM
To: dev@mesos.apache.org
Subject: RE: The state of cmake

Hi Aaron,

The biggest difference right now is that the Java and Python bindings are not 
built whatsoever with the CMake build system. We also do not have an install 
target, so the CMake output is kind of stuck in "developer mode" and it won't 
generate an installable package.

I probably would not yet recommend the CMake build system for production use.

As far as what features are missing, I'm not aware of a concise list, but agree 
this is needed. Perhaps Joseph knows of one. If one does not exist at all, 
perhaps it's time we audit the issues and do a comparison of the two build 
systems as they stand now to generate this list.

Cheers,

Andy

From: Wood, Aaron<mailto:aaron.w...@verizon.com>
Sent: Wednesday, June 21, 2017 4:00 PM
To: dev<mailto:dev@mesos.apache.org>
Subject: The state of cmake

Hi all,

I'm curious as to what the current state of came is on Linux. I noticed that 
some features that are present in the autotools build are not yet in cmake. 
Also, the output from a successful cmake build looks a bit different as far as 
the number of libraries that are produced and the number of symlinks created.

While the output of a cmake build does seem to work fine on Linux, is there 
anything to be aware of that would cause issues for a production release? Is 
there a list of features somewhere that are in autotools  but not yet in cmake? 
Does anyone think it is an exceptionally bad idea to use the current cmake 
system to produce binaries for production use?

Thanks!
-Aaron

Reply via email to