Compile on MacOS/fr

Présentation
Cette page décrit comment compiler le code source FreeCAD sur MacOS X. Pour les autres plates-formes, voir Compiler.

Ces instructions ont été testées sur macOS Catalina avec le XCode 11.6 standard. Il est connu pour fonctionner sur macOS BigSur Beta avec XCode 12.0 beta. Si vous prévoyez d'utiliser XCode Beta, assurez-vous de télécharger le module complémentaire Outils de ligne de commande via un package dmg pour contourner certains problèmes de dépendance libz.

Cette page sert de point de départ et n’a pas vocation à être exhaustive en ce qui concerne la description de toutes les options disponibles de build.

Si vous souhaitez simplement évaluer la dernière version de FreeCAD en version préliminaire, vous pouvez télécharger les fichiers binaires pré-construits ici.

Conditions préalables à l'installation
Les logiciels suivants doivent être installés pour prendre en charge le processus de build.

The following software must be installed to support the build process.

Gestionnaire de paquets Homebrew
Homebrew est un gestionnaire de paquets basé sur la ligne de commande pour macOS. La page d'accueil de Homebrew fournit une ligne de commande d'installation que vous collez simplement dans une fenêtre de terminal.

Homebrew is a command line based package manager for macOS. The Homebrew main page provides an installation command line that you simply paste into a terminal window.

CMake
CMake est un outil de build qui génère une configuration de build basée sur les variables que vous spécifiez. Vous lancez ensuite la commande 'make' pour construire cette configuration. La version en ligne de commande de CMake est automatiquement installée dans le cadre de l'installation de Homebrew, ci-dessus. Si vous préférez utiliser une version graphique de CMake, vous pouvez la télécharger à partir de ici.

CMake is a build tool that generates a build configuration based on variables you specify. You then issue the 'make' command to actually build that configuration. The command-line version of CMake is automatically installed as part of the Homebrew installation, above. If you prefer to use a GUI version of CMake, you can download it from here.

Installation des dépendances
FreeCAD maintient un 'tap' Homebrew qui installe les formules et dépendances requises. Exécutez les commandes de préparation suivantes dans votre terminal.

FreeCAD maintains a Homebrew 'tap' which installs the required formulas and dependencies. Issue the following brew commands in your terminal.

Remarques:
 * 1) 'brew install' peut prendre un certain temps, l'occasion de prendre un verre.
 * 2) Homebrew est actuellement livré avec Boost 1.73 qui contient un bogue pour compiler FreeCAD. Veuillez éditer le fichier /usr/local/opt/boost/include/boost/geometry/index/detail/rtree/visitors/insert.hpp et en ligne 265 déclarer MembersHolder::visitor comme étant une valeur publique en remplaçant: MembersHolder::visitor with : public MembersHolder::visitor

Obtenir les sources
Dans les instructions suivantes, les dossiers source et de build sont créés côte à côte sous

In the following instructions, the source and build folders are created side-by-side under

mais vous pouvez utiliser les dossiers de votre choix.

La commande suivante clone le référentiel FreeCAD git dans un répertoire appelé FreeCAD-git.

Créez le dossier build.

Lancer CMake
Ensuite, nous allons lancer CMake pour générer la configuration de construction. Plusieurs options doivent être transmises à CMake. Le tableau suivant décrit les options et donne un aperçu.

Les options de CMake
Remarque: ligne de commande pour générer CMAKE_PREFIX_PATH:

ls -d $(brew list -1 | grep qt | tail -1 | xargs brew --cellar)/*/lib/cmake

Interface graphique CMake
Ouvrez l'application CMake et remplissez les champs source et dossier. Dans cet exemple, il s'agirait de /Users/username/FreeCAD/FreeCAD-git pour les sources et /Users/username/FreeCAD/build' pour le dossier de build.

Open the CMake app, and fill in the source and build folder fields. In this example, it would be /Users/username/FreeCAD/FreeCAD-git for the source, and /Users/username/FreeCAD/build for the build folder.

Ensuite, cliquez sur le bouton Configure pour remplir la liste des options de configuration. Cela affichera une boîte de dialogue vous demandant de spécifier quel générateur utiliser. Laissez la valeur par défaut Unix Makefiles. La configuration échouera pour la première fois car certaines options doivent être changées. Remarque: vous devrez cocher la case à cocher Advanced pour obtenir toutes les options.

Définissez les options du tableau ci-dessus, puis cliquez à nouveau sur Configure puis sur Generate.

CMake en lignes de commande
Entrez ce qui suit dans le terminal.

Enter the following in the terminal.

Exécuter make
Enfin, à partir d’un terminal, exécutez make pour compiler et lier FreeCAD et générer le paquet applicatif.

Finally, from a terminal run make to compile and link FreeCAD, and generate the app bundle.

L'option -j spécifie le nombre de processus de création à exécuter simultanément. Prendre le nombre de cœurs de processeur et ajouter un est généralement le bon nombre à utiliser. Cependant, si la compilation échoue pour une raison quelconque, il est utile de réexécuter make sans l'option -j afin de pouvoir voir exactement où l'erreur s'est produite.

Voir aussi Compilation (accélération).

Si make se termine sans erreur, vous pouvez maintenant lancer FreeCAD en double-cliquant sur l'exécutable dans le Finder.

Mise à jour depuis Github
Le développement de FreeCAD est rapide; chaque jour ou presque, il y a des corrections de bugs ou de nouvelles fonctionnalités. Pour obtenir les dernières modifications, utilisez git pour mettre à jour le répertoire source (voir Gestion du code source), puis réexécutez CMake et suivez les étapes ci-dessus. Dans ce cas, il n’est généralement pas nécessaire de commencer par un répertoire de build vierge et les compilations suivantes iront généralement beaucoup plus vite que la première.

FreeCAD development happens fast; every day or so there are bug fixes or new features. To get the latest changes, use git to update the source directory (see Source code management), then re-run the CMake and make steps above. It is not usually necessary to start with a clean build directory in this case, and subsequent compiles will generally go much faster than the first one.

Faire un build avec Qt4 et Python 2.7
FreeCAD est passé de Qt 4 à Qt 5 ainsi que des homebrews. Qt 4 n'est plus disponible en option pour une nouvelle version sur macOS après la transition Qt 5. Python 2.7 est obsolète dans homebrew et macOS à venir et nous ne le supportons plus non plus pour la version macOS.

FreeCAD has transitioned from Qt 4 to Qt 5 as well as homebrew. Qt 4 is no longer available as an option for new build on macOS following Qt 5 transition. Python 2.7 has been deprecated within homebrew and upcoming macOS and we do not support it anymore for macOS build either.

Un segfault sur le lancement de Qt5
Si Qt4 a été précédemment installé via Homebrew et que vous faites un build ensuite avec Qt5, vous pouvez obtenir une exception EXC_BAD_ACCESS (SEGSEGV) lors du lancement de la nouvelle version de Qt5. Le correctif consiste à désinstaller manuellement Qt4.

If Qt4 was previously installed via brew, and you then build with Qt5, you may get a EXC_BAD_ACCESS (SEGSEGV) exception when launching the new Qt5 build. The fix for this is to manually uninstall Qt4.

Fortran
"No CMAKE_Fortran_COMPILER could be found." (Aucun CMAKE_Fortran_COMPILER n'a pu être trouvé) lors de la configuration - Les anciennes versions de FreeCAD nécessiteront l'installation d'un compilateur Fortran. Avec Homebrew, faites "brew install gcc" et essayez à nouveau de configurer cmake en donnant le chemin à Fortran, c'est-à-dire -DCMAKE_Fortran_COMPILER=/opt/local/bin/gfortran-mp-4.9, ou utilisez de préférence une version plus récente de la source FreeCAD!

"No CMAKE_Fortran_COMPILER could be found." during configuration - Older versions of FreeCAD will need a fortran compiler installed. With Homebrew, do "brew install gcc" and try configuring again, giving cmake the path to Fortran ie -DCMAKE_Fortran_COMPILER=/opt/local/bin/gfortran-mp-4.9. Or, preferably use a more current version of FreeCAD source!

OpenGL
Voir OpenGL sur MacOS pour les problèmes OpenGL lorsque Qt 4.8 et versions antérieures sont utilisées sous MacOS.

See OpenGL on MacOS for OpenGL issues when Qt 4.8 and earlier are used on MacOS.

FreeType
Si vous utilisez des versions de CMake antérieures à la version 3.1.0, il est nécessaire de définir la variable CMake FREETYPE_INCLUDE_DIR_freetype2 manuellement, par exemple /usr/local/include/freetype2.

When using CMake versions older than 3.1.0, it's necessary to set CMake variable FREETYPE_INCLUDE_DIR_freetype2 manually, eg /usr/local/include/freetype2