<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 12, 2013 at 6:22 AM, Derek Buitenhuis <span dir="ltr"><<a href="mailto:derek.buitenhuis@gmail.com" target="_blank">derek.buitenhuis@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On 9/12/2013 12:03 PM, Derek Buitenhuis wrote:<br>

> I am sure I am missing some things, so any community members should add any I forgot.<br>
<br>
</div>Indeed I forgot one.<br>
<br>
<br>
Build System<br>
------------<br>
<br>
People hate cmake. A lot. This is pretty much the biggest complaint I hear<br>
from people who poke x265. Cross compiling is a crapshoot. To get even<br>
base features like 'make install' or 'make uninstall' or proper library<br>
handling, you need to write mountains of custom stuff.<br>
<br>
I understand the main point is for MSVC support, so my proposal is to do<br>
what LLVM does and have both an autotools system, and a cmake system.<br>
For all the perceived hate autotools gets, autoconf, automake, and libtool<br>
are by far the Least Bad build system in terms of handling everything<br>
properly (library generation, versioning, cross-comiling, etc.). If I<br>
or some other developer were to write this (it wont be a lot of code),<br>
could I count on it actually being updated at the same time as the cmake<br>
system?<br></blockquote><div><br></div><div>I hadn't heard that much discontent about cmake, so this is good feedback.</div><div><br></div><div>cmake does have support for install rules, I just haven't made any yet (we didn't have a real deployable static library until yesterday).</div>
<div><br></div><div><a href="http://www.cmake.org/Wiki/CMake_FAQ#Installation_questions">http://www.cmake.org/Wiki/CMake_FAQ#Installation_questions</a><br></div><div><br></div><div>I'll summarize my long term thoughts:</div>
<div><br></div><div>Today our CMake scripts support cc+make, 3 msvc releases, msys, icl+nmake, and Xcode.</div><div>autoconf is essentially cc+make</div><div><br></div><div>Clearly cmake has more breadth and there is overlap between the two, but I also understand that the vast bulk of open source is autoconf based and so if adding autoconf is a precondition for integration into other transcode tools then I'll definitely take a patch which introduces autoconf support and maintain it to the best of my abilities.</div>
<div><br></div><div>It will be a constant source of friction, having two build systems, but other projects manage to deal with it.</div><div><br></div><div>--</div><div>Steve</div><div><br></div></div>-- <br>Steve Borho
</div></div>