[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
> 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:
mkdir build && pushd build
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
Helio Chissini de Castro
Brasil and South America Primary Contact
More information about the fdo-internals