This is a collection of recipes that make it easier to build FreeCAD and dependencies on OSX.
These steps have been tested on Mavericks 10.9.2 with Xcode 5.1.
- An up-to-date installation of homebrew
- The homebrew/science tap
- The patched python recipe (2.7.6) from this tap
- The patched coin recipe from this tap
It's easy to install the homebrew/science tap
brew tap homebrew/science
Tap this repository (you can safely ignore warnings about coin and python recipe conflicts)
brew tap sanelson/freecad
Next, install the python recipe and dependencies from this tap (two step install avoids installing all python dependencies from source, which can be rather slow)
brew install --only-dependencies sanelson/freecad/python
brew install --build-from-source sanelson/freecad/python
Install the modified coin/soqt recipe from this tap
brew install --without-framework sanelson/freecad/coin
Once the prerequisites are in place you can build FreeCAD. Only the 'HEAD' revision is currently built. When a 0.14 version tarball is released it will be added as the default build version.
For now, build the latest code in the FreeCAD repo with the following command
brew install --HEAD sanelson/freecad/freecad
- I have only tested this recipe with the HEAD revision. Version 0.13 is untested and not supported in this recipe.
- The "Robot" Mod is currently disabled since it seems to have some build issues with Clang and Libc++
Here are a few features that I would like to add to the recipe. I'm open to other suggestions, please let me know.
- DONE
Make X11 support optional - Add support for spnav
- Add custom branching build support, for example the FreeCAD Assembly branch
- Remove requirement for custom python build
- Patch orocos library so the "Robot" module will build cleanly on OSX.
- Finish setting up OCE / OpenCascade build options and test.
- Fix Fortran build issues (may require upstream patching of FreeCAD CMakeLists)
- Sanitize FreeCAD homebrew formula and documentation to follow homebrew standards
- DONE
Add '--with-debug' option to recipe (disables 'strip' in make and sets CMAKE_BUILD_TYPE=Debug)