View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000283||FreeCAD||Bug||public||2011-02-23 23:56||2011-08-15 14:47|
|Target Version||Fixed in Version||0.12|
|Summary||0000283: Fix build-systems|
|Description||I am using Gentoo Linux -- this means, compiling the software is the way to go. Unfortunately, FreeCAD is one of the ugliest packages I know when it comes to building. As it seems, there are two build systems -- both only working in 60% of the cases. So - why do you have two half-functional systems, which is probably a nightmare to support, instead of throwing one over board? As I guess cmake is better for Windows users, it would be the autohell stuff to go.|
The problems I have encountered so far:
- not checking for libs (0.11-svn): libf2c was needed but not enforced by cmake
- inconsistency: cmake wants Eigen, autotools does not (0.11-svn)
- inconsistency: cmake builds pivy, autotools does not (but also does not check for it) (0.10-svn)
- missing include/library pathes (quite often - different versions ... latest issue seen: autotools, 0.9-svn, src/Main/Makefile.am was missing the coin and SoQt-CPPFLAGS)
- cmake does not allow any way to pass the OCC-Pathes (0.11-svn)
- autogen.sh has "#!/bin/sh"-Shebang but actually wants /bin/bash (probably all versions) (my /bin/sh is dash)
If neither CMake nor autotools provide all necessary features, perhaps one should choose a third option (for example SCons), but the current duality is ... ugly.
|Tags||No tags attached.|
> So - why do you have two half-functional systems, which is probably a nightmare to support, instead of throwing one over board?
The preferred build system is cmake. But there are some reasons for me to keep automake alive:
1. It's still the preferred build system for us to make the Debian packages. Maybe cmake will do that too but there are many adjustments needed.
2. The more important point is that "make dist"is able to create proper tarballs. cmake offers the CPack package which is IMO crap because everything that is not explicitly filtered out will go into the source tarball. Until there is nothing better than CPack automake will be supported.
All the issues you mentioned should be fixable...
We mostly check for Ubuntu and Debian.
Since we are not able to check for every of the thousand
distros out there, we are dependent on help.
So if you like to see FreeCAD running on _your_ platform. Send us
patches or maintain a package.
We looked at SCons, but its just a build system. cMake provide
project files for all major build systems. Its so far the best
attempt I saw. Its not perfect, but what is?
- not checking for libs (0.11-svn): libf2c was needed but not enforced by cmake: fixed
- inconsistency: cmake wants Eigen, autotools does not (0.11-svn): fixed
- inconsistency: cmake builds pivy, autotools does not: cmake is the default build system and should thus be used
- cmake does not allow any way to pass the OCC-Pathes (0.11-svn): was always possible by setting -DOCC_INCLUDE_DIR=...
- autogen.sh has "#!/bin/sh": fixed
Done in r4760
|2011-02-23 23:56||necoro||New Issue|
|2011-02-24 10:12||wmayer||Note Added: 0000641|
||Note Added: 0000704|
|2011-08-15 14:47||wmayer||Note Added: 0000978|
|2011-08-15 14:47||wmayer||Status||new => closed|
|2011-08-15 14:47||wmayer||Resolution||open => fixed|
|2011-08-15 14:47||wmayer||Fixed in Version||=> 0.12|