CMake for D2 ready for testers
Gour D.
gour at atmarama.net
Fri Oct 8 15:16:06 PDT 2010
On Fri, 8 Oct 2010 21:41:55 +0200
>>>>>> "Jens" == Jens Mueller <jens.k.mueller at gmx.de> wrote:
Jens> I also think CMake isn't that shiny. But you can get the job done
Jens> once you're familiar with it. And it has been adopted by some big
Jens> projects: Blender 3D, Boost, clang, KDE, LLVM, MiKTeX, MySQL (see
Jens> http://en.wikipedia.org/wiki/Cmake#Applications_using_CMake).
Jens> That should be put into consideration.
Here is the waf list:
http://code.google.com/p/waf/wiki/ProjectsUsingWaf
Jens> I never used this but CMake has generators for Visual Studio and
Jens> through the Makefile Generators you can integrate it in
Jens> CodeBlocks and Eclipse. Don't know how important this is. I live
Jens> happily with the generated Makefiles.
in waf's TODO I found some similar items, although not labelled as
high-priority:
+ IDE file generator (msvc, codeblocks)
+ CMake file interpreter
Jens> Coming back to the original question. I can recommend CMake
Jens> especially if one plans to do C and C++ programming. For D we
Jens> (Steve, Dean and I) are trying to improve the support. Fixing Mac
Jens> OSX is next on my list.
My primary interest is D and developing on Linux, although we want our
app to run on Mac & Windows as well (hopefully using QtD).
Jens> I have to admit I neither know Scons nor Waf. Maybe these are
Jens> superior. They're Python-based, right? I'll guess that makes them
Jens> favorable for Python programmers.
Waf really looks good and, afaics, it's more extensible than Scons.
Here is the table with some comparisons:
http://code.google.com/p/waf/wiki/WafAndOtherBuildSystems
Jens> On top of my head some things I find nice in CMake. Just curious
Jens> whether Scons/Waf have similar features.
I'm not at all familiar with waf, just read a bit about it and here is
the feature list:
http://code.google.com/p/waf/
and here is the 'book':
http://freehackers.org/~tnagy/wafbook160p3/
Jens> * Find Google Test/other libraries (if supported) in one line:
Jens> find_package(GTest REQUIRED)
I see something like:
ctx.find_program('touch', var='TOUCH')
Jens> * Tight integration for testing and packaging (ctest, cpack)
Only dist for tarballs, afaict.
Jens> * Publishing build/test results
No idea.
Jens> * No dependencies besides a C++ compiler for installation.
This is one advantage of waf that it only requires ~80K python script
which is, usually, distributed with the sources.
Jens> * Continuous Integration watching subversion repository
The above page says: "provides automatic rebuilds for continuous
integration"
Jens> * Valgrind/Purify integration
Considering Samba uses Waf, Google returned:
http://wiki.samba.org/index.php/Debugging_individual_tests
Moreover, since the system uses full-featured programming language,
probably there are no restriction what can be done...
In any case, it's interesting and we'll put it on our evaluation-list.
Sincerely,
Gour
--
Gour | Hlapicina, Croatia | GPG key: CDBF17CA
----------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20101009/aa7a7aa7/attachment.pgp>
More information about the Digitalmars-d
mailing list