[fdo-internals] FDO RFC 21 - New Linux Buildsystem Cmake Based

Helio Chissini de Castro helio at kde.org
Tue May 20 14:15:45 EDT 2008

Em Tuesday 20 May 2008 14:49:32 Jason Birch escreveu:
> Thanks for taking the time/effort to put together this RFC and doing the
> work to implement this packaging in the past.  Can we assume that you
> are willing to help undertake the reorganisation required to move to the
> use of cmake for FDO's linux and Windows builds?

For start linux, since will not affect windows build. Then after we have the 
stable linux build, we can add windows part.

> For instance, for user-installers of FDO, does this allow for an easier
> build process across multiple Linux distributions, or even automated
> creation of installer packages (apt, yum, whatever)?  For build
> managers, does it allow for the maintenance of Linux, VS2005, and VS2008
> solutions in a central interface?

I already have the package for Mandriva, and yes, would be easy to do 
packages, at least packagers for distros will have easy access to that.
Cmake provides automatic VS 2005 and 2008 project generation from the same 
CMakeFiles and for XCode in mac environments,  which means one file will 
provide same infra for all platforms.

> What would be the effect on individual developers; would they have to
> install additional dependencies (for cmake)?  Is cmake available across
> multiple platforms?
cmake is available in all platforms and usually mostly distros already have 
recent packages for it.
Developers will need install the dependencies that was in the past inside 
ThirdParty dir

> What kind of impact will this have on existing build procedures and
> end-user documentation for building FDO?

Today, what user will need to do is:
cd OpenSource_FDO
mkdir build && pushd build
cmake ..
make install

That's it.I did common cmake tests for every dependency really requires and 
warn developer about  

especial flags can be passed in the cmake stage, like
cmake .. -DDEBUG -DCMAKE_INSTALL_PREFIX=/usr/lib/fdo

> I'm personally interested in cpack... do you have any experience with
> using this to create packages/installers for Linux and Windows?

I barely had time to analyse cpack, as i'm usual to do RPM packages for 
Mandriva. I can take a look on that.

> I am not convinced that going to generic libraries will be possible in
> all cases, especially where libraries have been patched for specific
> functionality or performance that has not been integrated into the
> upstream project.  Does cmake not allow for internal copies of
> libraries, or is this just a general clean-up item? 

For mapguide as an example, we have GD that have special needs, so i decided 
keep the copy inside and build it naming gdmapguide, so basically is just 
another library linked that not conflicts with system one.
Of course if this specific cases appears, there's no way to deal except have 
an internal copy. The only thing i took care is keep everything possible as a 
shared library.


Helio Chissini de Castro
KDE Project
Brasil and South America Primary Contact

More information about the fdo-internals mailing list