View Issue Details

IDProjectCategoryView StatusLast Update
0000283FreeCADBugpublic2011-08-15 14:47
Reporternecoro Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Fixed in Version0.12 
Summary0000283: Fix build-systems
DescriptionI 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.
TagsNo tags attached.
FreeCAD Information

Activities

wmayer

2011-02-24 10:12

administrator   ~0000641

> 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...

Jriegel

2011-03-07 20:46

administrator   ~0000704

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?

wmayer

2011-08-15 14:47

administrator   ~0000978

- 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

Issue History

Date Modified Username Field Change
2011-02-23 23:56 necoro New Issue
2011-02-24 10:12 wmayer Note Added: 0000641
2011-03-07 20:46 Jriegel 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