On 11/11/2012 15:59, Pau Garcia i Quiles wrote:
> On Sun, Nov 11, 2012 at 2:39 AM, JonY <[email protected]> wrote:
> 
>>> It's unfortunate you both had bad experiences with cmake. Cmake really is 
>>> quite powerful, and recent syntax mods make it friendlier to use.
>>>
>>> For example, I contributed the following cmake build scripts to the mruby 
>>> project
>>>
>>>   https://github.com/mruby/mruby/blob/master/CMakeLists.txt
>>>   https://github.com/mruby/mruby/blob/master/tools/CMakeLists.txt
>>>   https://github.com/mruby/mruby/blob/master/tools/mruby/CMakeLists.txt
>>>   
>>> https://github.com/mruby/mruby/blob/master/cmake/modules/IntrospectSystem.cmake
>>>
>>> which are fairly modular and maintainable.
>>>
>>
>> They look clean, but mods? cmake has mods? These has to be installed by
>> the end user too?
> 
> I think he means "macro" and "module" files. Usually you distribute
> 

Sounds like they are reinventing autotools.

>>> Another nice thing about cmake is it's concept of "toolchain files" that 
>>> allow you to easily modularize cross-compiling build recipes. For example, 
>>> with the same basic structure as above, one creates toolchain "libraries" 
>>> to support different platforms:
>>>
>>
>> "Toolchain files" for every system and triplet combination that you MAY
>> want to support? This is one of the parts that I do not understand about
>> cmake, why does it have to make cross-compile difficult?
> 
> A "toolchain" file is just a file that says "for platform X the C
> compiler is arm-gcc-4.2, the C++ compiler is arm-g++-4.2, the make
> tool is...", etc. CMake includes support for many platforms (compilers
> and operating systems) out of the box. You only need to create your
> own toolchain file when adding support for a new
> compiler/language/platform. In practice, this usually means you only
> need to create a toolchain file for cross-compiling for embedded
> platforms.
> 

That effectively says to the user "you MUST have the same setup as my
developer machine to compile this". Good lucky sorting out
arm-vendor-abi-gcc vs armv5tel-unkown-abi2-gcc vs dozens of
configurations out there. I'll reconsider my opinion on cross compiler
support once cmake understands build/host/target triplets.

> As an additional bonus, there are the "superbuilds": you can easily
> combine provide a CMake-based meta-build system for CMake and
> non-CMake-based projects. This way, it would be possible to use the
> very same CMake build system to build mingw-w64 on Windows, Linux,
> BSD, etc. Even for cross-compiling. It'd be more or less what I am
> doing in winstng to build Wt:
> 

Sure, a top level cmake is fine, but please don't shoehorn it into any
of part mingw-w64 or it's subprojects, it already has an existing build
system.

The last thing we need is to tell the user "in addition to a shell
interpreter, you need cmake/jam/waf/ant/msbuild too for this subproject".



Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_nov
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to