Re: [Cppcms-users] cppcms build problems
Brought to you by:
artyom-beilis
From: Markus R. <us...@ma...> - 2009-11-10 20:48:35
|
Artyom wrote: > Hello, > >> I see that you use cmake for boost.locale - are you >> planning to use it for >> cppcms too? > > Unfortunatly I think I would have to. There is no other > way to support MSVC, I may want to in future. I don't care about windows, but I still look forward to see cmake :-) >> - separate build directory > > No problems to do this with autotools as well. > > To be honest... For me cmake is far behind autotools. > It misses lots of features: > > - Even simple and frequent things like "AC_SEARCH_LIBS", > AC_TRY_COMPILE become very inconvinient. Searching for libs is very easy - if there is already support for it. It is also often done without pkg-config. Something like find_package(Boost 1.34 REQUIRED COMPONENTS thread date_time program_options regex filesystem) may be enough. For detection of boost (and many graphic libs) you can take a look at the sourcecode of performous.org. I think about 30% of their source code is cmake code - mostly checkers for many libraries. > - Support of static/shared builds, is very unfriendly. I think thats taste - I found libtool unfriendly. > - Switching compilers works very bad Ok, I have no experience on that. > - Documentation total crap, seriously. Documenation could be always improved. > - Shared Objects versioning is quite bad and non standard Isn't that the programmers job? > - Unintall support is none. Mmmh, I would say its better because you can make native packages which uninstall really clean. make uninstall is always a hassle, because it does not work on other versions than the one you used for installation. > CMake may be good for Windows programming but it does not fit > well in Unix world too good -- and this is my primary target > platform. > > In any case I'm still checking if CMake fits my needs at all. > > Bottom line, if you do not care about Windows, autotools > still are best. autotools have a greater beginners barrier. You need to learn a lot about portable shell, m4, Makefile, Makefile.in (and maybe Makefile.am)... For cmake you basically only need to learn the very easy syntax: http://www.cmake.org/cmake/help/syntax.html Btw. have you already read http://www.rrsd.com/software_development/boost/oopsla05.pdf It might help you. Markus -- http://www.markus-raab.org | Wir leben in einem gefährlichen Zeitalter: -o) | Der Mensch beherrscht die Natur, bevor er Kernel 2.6.24-1-a /\ | gelernt hat, sich selbst zu beherrschen. on a x86_64 _\_v | -- Schweitzer, Albert |