Op 11 nov. 2012 09:27 schreef "JonY" <[email protected]> het
volgende:
>
> 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.
Lol, no.
>
> >>> 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.
Wrong. Instead of specifying triplets, you point cmake to a compiler:
cmake -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc
And you've got a set of native build files
>
> > 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".
Autotools carry their own dependencies, it just so happens they are
sometimes installed on a linux system. And msbuild idoes not fit in with
your examples: if you have msvc, you have msbuild. Cmake allows the user to
choose his proper build system. Seriously, check out LLVM, they get stuff
like this right. But I'm trying to emancipate the convent here.
Might I add that my original question remains unanswered still?
Ruben
>
>
>
>
>
------------------------------------------------------------------------------
> 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
>
------------------------------------------------------------------------------
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