Message: previous - next
Month: October 2010

cmake build system - need advices/ideas

From: Serghei Amelian <serghei@...>
Date: Tue, 5 Oct 2010 01:12:48 +0300

CMake support for kdelibs is almost done, but i still need some ideeas:

1) I'm not sure if is good ideea to commit cmake file into svn as is. But 
otherwise we can't test/fix it, I think.

2) I need some advices about which options must be ON/OFF by default. Also, we 
must to define very clear and in consistent way the names of variable which 
enable/disable various options.

3) We need to define in consistent way variable names for standard directories 
(for example now the "bin" directory is defined as "BIN_INSTALL_DIR"; 
but "etc" directory is defined as "SYSCONFDIR" - inconsistent naming, 
inherited from kde4 and autotools).

4) I think we must drop support for some (very) obsolete thing, like libalsa < 
0.9, hspell (now hebrew spelling support is incorporated in aspell too), 
old/unused styles (like riscos). Also, anybody really using "fast malloc" 

5) KDE using plenty compiler flags. We really need to use all of them? Maybe 
is better ideea to pass cflags options to distro packagers and to keep only 
strictly necessary cflags.

6) We need to cleanup a little the code. I found code which are not 
compiled/installed at all (for example: [kate/plugins/autobookmarker], 
[kdeprint/foomatic], [kdeprint/lpd], [khtml/java], etc).

7) I need help for creating an external svn directory like [admin] for common 
cmake macros. As a beginner svn user, I have no ideea how to do it.

8) Must be completed/reviewed tests for cmake configure stage. configure.h is 
very large piece of code and is very dificult to made it by just one person.

9) Some dependencies must be required, not optional. For example, bzip2, jpeg 
and openssl support, which in these days are available by default on most 
current distros.

10) We need to decide how various pieces of trinity will be detect each 
another (for building). I'm for extensive using of pkgconfig mechanism, which 
seems standard for all modern distros. I succesfully used it for tqtinterface 
and arts.

And many more little things... :)

Just for remember, there are my work:

PS Sorry for my english, I will try to explain better if anybody do not 
understand what I want to say :)