On Sun, 11 Nov 2012 01:22:18 +0800 JonY <[email protected]> wrote:
> On 11/10/2012 23:39, Ozkan Sezer wrote: > > On 11/10/12, Ruben Van Boxem <[email protected]> wrote: > >> 2012/11/10 Ozkan Sezer <[email protected]> > >> > >>> On 11/10/12, Luis Lavena <[email protected]> wrote: > >>>> On Sat, Nov 10, 2012 at 10:54 AM, Ruben Van Boxem > >>>> <[email protected]> wrote: > >>>>> Hi, > >>>>> > >>>>> I have the crazy idea to help with ironCrate. > >>>>> > >>>>> I have written a small CMakeLists.txt file to get automated > >>>>> compilation > >>>>> working (I know you guys favor autotools, I don't). I am running into > >>>>> some > >>>>> issues building the source from the get-go. > >>>>> > >>>> > >>>> I think CMake is already the proposed solution: > >>>> > >>>> > >>> http://sourceforge.net/apps/trac/mingw-w64/wiki/devel%20crt%20licensing,%20Coding-style,%20and%20more > >>>> > >>>> As CMake provides the generation of MinGW/MSYS makefiles and Visual > >>>> Studio project files, which is the goal of ironCrate (be compatible > >>>> with both compilers) > >>>> > >>> > >>> It still amazed why we are not using plain old makefiles. > >>> oh well.. > >>> > >>> > >> Probably because you'd have to write three sets of makefiles: nmake, msys > >> make, and mingw32-make, which really is kinda silly... > > > > I don't think that composing different makefiles for mingw- and msys- > > versions of make would be necessary but yes one would be necessary > > for nmake. Two, or even three different makefiles I consider as fair price > > against dealing with complexities and/or extra dependencies of cmake > > or autotools. > > > > Please, no cmake, even custom makefiles, shell scripts, Python scripts, > Perl scripts, just no cmake. > > cmake is a maintenance nightmare with it's shell-but-not-shell syntax. 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. 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: https://github.com/mruby/mruby/tree/master/cmake Want to cross-compile from your favorite Arch system? https://github.com/mruby/mruby/blob/master/cmake/Toolchain-Arch-mingw32.cmake.sample Or how about Ubuntu? https://github.com/mruby/mruby/blob/master/cmake/Toolchain-Ubuntu-mingw32.cmake.sample Or maybe you fancy OSX? https://github.com/mruby/mruby/blob/master/cmake/Toolchain-OSX-mingw32.cmake.sample Or maybe you really got bored and decided to cross-compile for OpenWRT... https://github.com/mruby/mruby/blob/master/cmake/Toolchain-OpenWRT-ANY.cmake You get the point. And one more thing, cmake generates ninja build files (yes, the ninja single-file-exe runs on Windows and is easily built on Windows using mingw) in addition to the plethora of other build files it supports. I use it to build on Windows, Arch, Ubuntu and my quaint little Snow Leopard VB VM. If you looked at cmake awhile ago and hated it's odd syntax, things have gotten better. You really should look at it again starting with the 2.8 series. Oh look, 2.8.10.1 just came out with binary downloads for your favorite system. Jon ------------------------------------------------------------------------------ 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
