Compile on Windows/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(102 intermediate revisions by 3 users not shown)
Line 2: Line 2:


{{Docnav/fr
{{Docnav/fr
|[[Licence/fr|Licence]]
|[[License/fr|Licence]]
|[[Compile_on_Linux/fr|Compiler sous Linux]]
|[[Compile_on_Linux/fr|Compiler sous Linux]]
}}
}}
Line 8: Line 8:
{{TOCright}}
{{TOCright}}


Cette page explique étape par étape '''comment compiler FreeCAD 0.19 ou plus récent sous Windows'''. Pour les autres plates-formes, voir [[Compiling/fr|Compiler]].
Cette page explique étape par étape '''comment compiler FreeCAD 0.19 ou plus récent sous Windows''' en utilisant le compilateur MSVC de Microsoft. Pour des informations sur l'utilisation de MSYS2/MinGW voir [[Compile_on_MinGW/fr|Compiler sous MinGW]]. Pour les autres plateformes, voir [[Compiling/fr|Compiler]].


<span id="Prerequisites"></span>
== Prérequis ==
== Prérequis ==


La compilation de FreeCAD sous Windows nécessite plusieurs outils et bibliothèques.
La compilation de FreeCAD sous Windows nécessite plusieurs outils et bibliothèques.


<span id="Required"></span>
===Requis===
===Requis===


* Un compilateur. FreeCAD est testé avec Visual Studio (MSVC). D'autres compilateurs peuvent fonctionner, mais les instructions d'utilisation ne sont pas incluses ici. Plus de détails dans [[#Compiler]], ci-dessous.
* Un compilateur. FreeCAD est testé avec Visual Studio (MSVC)-d'autres compilateurs peuvent fonctionner, mais les instructions d'utilisation ne sont pas incluses ici. Pour plus de détails, voir la section [[#Compilateur|Compilateur]] ci-dessous.


* [http://git-scm.com/ Git] (Il existe également des interfaces GUI disponibles pour Git, voir la section suivante.)
* [http://git-scm.com/ Git] (Il existe également des interfaces GUI disponibles pour Git, voir la section suivante.)
Line 22: Line 24:
* [https://cmake.org/download/ CMake] version 3.11.x ou plus récente. </br> ''Astuce :'' Choisir l'option ''Ajouter CMake au chemin du système pour tous les utilisateurs'' lors de l'installation de CMake rendra CMake accessible depuis l'invite de commande Windows, ce qui peut être utile.
* [https://cmake.org/download/ CMake] version 3.11.x ou plus récente. </br> ''Astuce :'' Choisir l'option ''Ajouter CMake au chemin du système pour tous les utilisateurs'' lors de l'installation de CMake rendra CMake accessible depuis l'invite de commande Windows, ce qui peut être utile.


* LibPack (également appelé FreeCADLibs). Il s'agit d'un package unique contenant toutes les bibliothèques nécessaires à la compilation de FreeCAD sous Windows. Téléchargez la version du LibPack qui correspond à la version de FreeCAD que vous voulez compiler. Pour compiler FreeCAD 0.19 ou la dernière version en développement 0.20, téléchargez [https://github.com/apeltauer/FreeCAD/releases/tag/LibPack_12.5.4 LibPack for 0.19/0.20] (64-bit seulement). Extrayez le LibPack à un endroit approprié. (Si votre ordinateur ne reconnaît pas l'extension .7z, vous devez installer le programme [https://www.7-zip.org 7-zip]). </br> '''Remarque''' : Il est fortement recommandé de compiler FreeCAD avec la version du compilateur pour laquelle le LibPack est conçu. Par exemple, vous pourriez rencontrer des problèmes pour compiler FreeCAD 0.19 avec MSVC&nbsp;15 parce que le LibPack pour 0.19 est conçu pour être construit avec MSVC&nbsp;17.
* [https://github.com/FreeCAD/FreeCAD-LibPack LibPack]. Il s'agit d'un paquetage unique contenant toutes les bibliothèques nécessaires à la compilation de FreeCAD sous Windows. Téléchargez la version du LibPack qui correspond à la version de FreeCAD que vous voulez compiler. Pour compiler FreeCAD 0.20 téléchargez [https://github.com/FreeCAD/FreeCAD-LibPack/releases/tag/2.6 LibPack version 2.6], pour FreeCAD 0.19 téléchargez [https://github.com/FreeCAD/FreeCAD-LibPack/releases/tag/1.0 LibPack version 1.0]. Extrayez LibPack à un endroit approprié. (Si votre ordinateur ne reconnaît pas l'extension .7z, vous devez installer le programme [https://www.7-zip.org 7-zip]).</br> '''Remarque''' : il est fortement recommandé de compiler FreeCAD avec la version du compilateur pour laquelle le LibPack est conçu. Par exemple, vous pourriez rencontrer des problèmes en compilant FreeCAD 0.20 avec MSVC&nbsp;2017 parce que le LibPack est conçu pour être construit avec MSVC&nbsp;2019 ou plus récent.</br>Pour mettre à jour votre LibPack ultérieurement, consultez la section [[#Mise_.C3.A0_jour_de_LibPack|Mise à jour de LibPack]].


<span id="Optional_programs"></span>
=== Programmes optionnels ===
=== Programmes optionnels ===


* Une interface graphique pour Git. Plusieurs interfaces sont disponibles, voir [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs cette liste]. L'avantage principal d'une interface est qu'il n'est pas nécessaire d'apprendre les commandes Git pour obtenir le code source de FreeCAD ou pour envoyer des correctifs au référentiel GitHub de FreeCAD.
* Une interface graphique pour Git. Plusieurs interfaces sont disponibles, voir [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs cette liste]. L'avantage principal d'une interface est qu'il n'est pas nécessaire d'apprendre les commandes Git pour obtenir le code source de FreeCAD ou pour envoyer des correctifs au référentiel GitHub de FreeCAD.


Nous décrivons ci-après la gestion du code source à l'aide de l'interface [https://tortoisegit.org/ TortoiseGit]. Cette interface s'intègre directement dans l'explorateur de fichiers Windows et dispose d'une large communauté d'utilisateurs pour obtenir de l'aide en cas de problème.
Nous décrivons ci-après la gestion du code source à l'aide de l'interface [https://tortoisegit.org/ TortoiseGit]. Cette interface s'intègre directement dans l'explorateur de fichiers Windows et dispose d'une large communauté d'utilisateurs pour obtenir de l'aide en cas de problème.


* [http://sourceforge.net/projects/nsis/ NSIS] est utilisé pour générer le programme d'installation de FreeCAD Windows.
* [http://sourceforge.net/projects/nsis/ NSIS] est utilisé pour générer le programme d'installation de FreeCAD Windows.


<span id="Source_code"></span>
===Code source===
===Code source===


Vous pouvez maintenant obtenir le code source de FreeCAD :
Vous pouvez maintenant obtenir le code source de FreeCAD :


<span id="Using_a_frontend"></span>
====Utiliser une interface====
====Utiliser une interface====


Line 49: Line 54:
Le dernier code source sera téléchargé à partir du dépôt FreeCAD Git et le dossier sera suivi par Git.
Le dernier code source sera téléchargé à partir du dépôt FreeCAD Git et le dossier sera suivi par Git.


<span id="Using_the_command_line"></span>
====Utiliser la ligne de commande====
====Utiliser la ligne de commande====


Line 57: Line 63:
}}
}}


===Compiler===
<span id="Compiler"></span>
===Compilateur===


Le compilateur par défaut (recommandé) est MS Visual Studio (MSVC). Bien qu'il soit possible d'utiliser d'autres compilateurs, par exemple gcc via Cygwin ou MinGW, cela n'est pas testé ni couvert ici.
Le compilateur par défaut (recommandé) est MS Visual Studio (MSVC). Bien qu'il soit possible d'utiliser d'autres compilateurs, par exemple gcc via Cygwin ou MinGW, cela n'est pas testé ni couvert ici.
Line 69: Line 76:
Comme alternative gratuite et OpenSource IDE, vous pouvez utiliser [https://www.kdevelop.org/download KDevelop]. Vous pouvez utiliser KDevelop pour modifier et écrire du code C ++, mais vous devez utiliser la ligne de commande pour compiler.
Comme alternative gratuite et OpenSource IDE, vous pouvez utiliser [https://www.kdevelop.org/download KDevelop]. Vous pouvez utiliser KDevelop pour modifier et écrire du code C ++, mais vous devez utiliser la ligne de commande pour compiler.


<span id="Optional_system_path_configuration"></span>
===Chemin de Configuration Système optionnel===
===Configuration optionnelle du chemin d'accès au système===


Vous pouvez éventuellement inclure les chemins d'accès à certains dossiers de la variable système PATH. Ceci est utile si vous souhaitez accéder aux programmes de ces dossiers à partir de la ligne de commande/powershell ou si vous souhaitez que des programmes spéciaux soient trouvés par le compilateur ou CMake. En outre, l’ajout de dossiers à PATH peut s’avérer nécessaire si vous n’utilisez pas les options correspondantes lors de l’installation du programme.
Vous pouvez éventuellement inclure les chemins d'accès à certains dossiers de la variable système PATH. Ceci est utile si vous souhaitez accéder aux programmes de ces dossiers à partir de la ligne de commande/powershell ou si vous souhaitez que des programmes spéciaux soient trouvés par le compilateur ou CMake. En outre, l’ajout de dossiers à PATH peut s’avérer nécessaire si vous n’utilisez pas les options correspondantes lors de l’installation du programme.
Line 100: Line 108:
===CMake===
===CMake===


Tout d'abord, configurez l'environnement de construction à l'aide de CMake :
Tout d'abord, configurez l'environnement de compilation en utilisant CMake :
# Ouvrez l'interface graphique de CMake
# Ouvrez l'interface graphique de CMake
# Spécifiez le dossier source de FreeCAD.
# Spécifiez le dossier source de FreeCAD.
# Spécifiez un dossier de compilation (n'utilisez pas le dossier source - CMake créera ce dossier s'il n'existe pas).
# Spécifiez un dossier de compilation. Cela peut être '''compilé''' dans le dossier où vous avez cloné le repo car ce chemin est ignoré par git. N'utilisez pas le dossier source. CMake va créer ce dossier s'il n'existe pas.
# Cliquez sur '''Configure'''.
# Cliquez sur '''Configure'''.
# Dans la boîte de dialogue qui apparaît, spécifiez le générateur que vous souhaitez utiliser: dans la plupart des cas, vous utiliserez les valeurs par défaut de cette boîte de dialogue. Pour le MS Visual Studio standard, utilisez ''Visual Studio xx 2yyy'' où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut ''Use default native compilers''.
# Dans la boîte de dialogue qui apparaît, spécifiez le générateur que vous voulez utiliser : dans la plupart des cas, vous utiliserez les valeurs par défaut de cette boîte de dialogue. Pour le MS Visual Studio standard, utilisez ''Visual Studio xx 2yyy'' où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut ''Use default native compilers''.


'''Remarque:''' Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.
'''Remarque:''' Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.
Line 111: Line 119:
Cela commencera la configuration et ''échouera'' à cause de paramètres manquants. C'est normal, vous n'avez pas encore spécifié l'emplacement du LibPack. Cependant, d'autres problèmes peuvent survenir et nécessiter une action supplémentaire de votre part.
Cela commencera la configuration et ''échouera'' à cause de paramètres manquants. C'est normal, vous n'avez pas encore spécifié l'emplacement du LibPack. Cependant, d'autres problèmes peuvent survenir et nécessiter une action supplémentaire de votre part.


S'il échoue avec le message "Visual Studio est introuvable", la prise en charge de CMake dans MSVC n'est pas encore installée. Pour l'installer :
S'il échoue avec le message Visual Studio est introuvable, la prise en charge de CMake dans MSVC n'est pas encore installée. Pour l'installer :
# Ouvrez l'EDI MSVC
# Ouvrez l'EDI MSVC
# Utilisez le menu OutilsObtenir les outils et fonctionnalités
# Utilisez le menu ToolsGet Tools and Features
# Dans l'onglet ''Workloads'', activez ''Développement de bureau avec C++''
# Dans l'onglet ''Workloads'', activez ''Desktop development with C++''
# Sur le côté droit, vous devriez maintenant voir que le composant ''Outils Visual C++ pour CMake'' sera installé.
# Sur le côté droit, vous devriez maintenant voir que le composant ''Visual C++ tools for CMake'' sera installé.
# Installez-le.
# Installez-le.


Si cela échoue avec un message sur la mauvaise version de Python ou Python manquant, alors :
Si cela échoue avec un message sur la mauvaise version de Python ou Python manquant, alors :
# Utilisez la case "Search:" dans CMake pour rechercher la chaîne "Python"
# Utilisez la case "Search:" dans CMake pour rechercher la chaîne "Python"
# Si vous y voyez un chemin comme ''C:/Program Files/Python38/python.exe'', CMake a reconnu le Python qui est déjà installé sur votre PC, mais cette version n'est pas compatible avec le LibPack. Étant donné que le LibPack inclut une version compatible de Python, modifiez les paramètres Python suivants dans CMake sur ses chemins (en supposant que le LibPack se trouve dans le dossier ''D:\FreeCAD-build\FreeCADLibs_12.5.2_x64_VC17'') :
# Si vous y voyez un chemin comme ''C:/Program Files/Python38/python.exe'', CMake a reconnu le Python qui est déjà installé sur votre PC, mais cette version n'est pas compatible avec le LibPack. Étant donné que le LibPack inclut une version compatible de Python, modifiez les paramètres Python suivants dans CMake sur ses chemins (en supposant que le LibPack se trouve dans le dossier ''D:/FreeCAD-build/FreeCADLibs_2_8_x64_VC2019'') :
[[File:CMake_Python_settings.png]]
[[File:CMake_Python_settings.png]]


S'il n'y a pas d'erreur à propos de Visual Studio ou Python, tout va bien, mais CMake ne connaît pas encore tous les paramètres nécessaires. Donc maintenant :
S'il n'y a pas d'erreur concernant Visual Studio ou Python, tout va bien, mais CMake ne connaît pas encore tous les paramètres nécessaires. Donc maintenant :
# Recherchez dans CMake la variable '''FREECAD_LIBPACK_DIR''' et spécifiez l'emplacement du dossier LibPack que vous avez téléchargé précédemment.
# Cherchez dans CMake la variable '''FREECAD_LIBPACK_DIR''' et spécifiez l'emplacement du dossier LibPack que vous avez téléchargé plus tôt.
# Seulement si vous compilez FreeCAD 0.19, cherchez la variable '''BUILD_QT5''' et activez cette option.
# (''Si vous compilez FreeCAD 0.19'') cherchez la variable '''BUILD_QT5''' et activez cette option.
# (''Si vous prévoyez d'exécuter directement à partir du dossier de compilation comme pour le débogage'') recherchez et activez les options suivantes :
#* '''FREECAD_COPY_DEPEND_DIRS_TO_BUILD'''
#* '''FREECAD_COPY_LIBPACK_BIN_TO_BUILD'''
#* '''FREECAD_COPY_PLUGINS_BIN_TO_BUILD'''
# Cliquez à nouveau sur '''Configure'''.
# Cliquez à nouveau sur '''Configure'''.


Il ne devrait plus y avoir d’erreurs. Si vous continuez à rencontrer des erreurs que vous ne pouvez pas diagnostiquer, allez sur le [https://forum.freecadweb.org/viewforum.php?f=4 Forum Install/Compile] de FreeCAD. Si CMake a procédé correctement, cliquez sur '''Generate'''. Une fois cela fait, vous pouvez fermer CMake et démarrer la compilation de FreeCAD à l'aide de Visual Studio. Cependant, pour la première compilation, gardez-le ouvert au cas où vous voudriez ou auriez besoin de changer certaines options pour le processus de construction.
Il ne devrait plus y avoir d’erreurs. Si vous continuez à rencontrer des erreurs que vous ne pouvez pas diagnostiquer, allez sur le [https://forum.freecadweb.org/viewforum.php?f=4 Forum Install/Compile] de FreeCAD. Si CMake a procédé correctement, cliquez sur '''Generate'''. Une fois cela fait, vous pouvez fermer CMake et démarrer la compilation de FreeCAD à l'aide de Visual Studio. Cependant, pour la première compilation, gardez-le ouvert au cas où vous voudriez ou auriez besoin de changer certaines options pour le processus de construction.


<span id="Options_for_the_build_process"></span>
'''Remarque :''' Lors de la compilation de FreeCAD 0.19, la variable CMake '''BUILD_ENABLE_CXX_STD''' sera fixée à '''C++14''' alors que pour FreeCAD 0.20 elle sera fixée à '''C++17'''. Ceci est dû au fait que FreeCAD 0.20 requiert au moins la version 17 du standard du langage C++. Donc quand vous avez compilé la dernière fois FreeCAD 0.19, il est nécessaire de relancer CMake pour FreeCAD 0.20 pour changer le standard du langage C++.

===Options pour le procédé de compilation===
===Options pour le procédé de compilation===


Line 146: Line 157:
|| ca dépend
|| ca dépend
|-
|-
| BUILD_ENABLE_CXX_STD || La version du standard du langage C++. '''C++14''' est la plus élevée possible pour FreeCAD 0.19 alors qu'au moins '''C++17''' est nécessaire pour FreeCAC 0.20. Voir aussi la note dans la section [[#Version_de_Build|Construire avec Visual Studio 15 (2017) et 16 (2019)]]
| BUILD_ENABLE_CXX_STD || La version du standard du langage C++. '''C++14''' est la plus élevée possible pour FreeCAD 0.19 alors qu'au moins '''C++17''' est nécessaire pour FreeCAD 0.20. Voir aussi la note dans la section [[#Version_de_Build|Construire avec Visual Studio 15 (2017) et 16 (2019)]]
|| ca dépend
|| ca dépend
|-
| BUILD_DESIGNER_PLUGIN|| Pour construire le plugin Qt Designer, voir [[Compile_on_Windows/fr#Le_plugin_Qt_Designer|cette section ci-dessous]] || OFF
|-
| BUILD_FLAT_MESH|| Nécessaire pour avoir une version qui inclut la fonction [[MeshPart_CreateFlatMesh/fr|Développer un objet maillé]]. || OFF
|-
|-
| CMAKE_INSTALL_PREFIX || Le dossier de sortie lors de la construction de la cible ''INSTALL'', voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]] || Le dossier d'installation par défaut du programme de Windows
| CMAKE_INSTALL_PREFIX || Le dossier de sortie lors de la construction de la cible ''INSTALL'', voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]] || Le dossier d'installation par défaut de Windows
|-
|-
| FREECAD_COPY_DEPEND_DIRS_TO_BUILD || Copie les bibliothèques dépendantes nécessaires à l'exécution de FreeCAD.exe dans le dossier de construction. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]].</br> '''Remarque:''' les options FREECAD_COPY_XXX n'apparaissent que si les bibliothèques n'ont pas déjà été copiées. Donc lorsque vous passez à une autre version de LibPack, il est important de supprimer tous les dossiers de votre dossier de construction, à l'exception du dossier LibPack. Dans CMake, supprimez le cache et démarrez comme si vous compiliez pour la première fois et vous obtiendrez les options FREECAD_COPY_XXX. || OFF
| FREECAD_COPY_DEPEND_DIRS_TO_BUILD || Copie les bibliothèques dépendantes nécessaires à l'exécution de FreeCAD.exe dans le dossier de build. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]].</br> '''Remarque :''' les options FREECAD_COPY_XXX n'apparaissent que si les bibliothèques n'ont pas déjà été copiées. Si vous avez seulement besoin de mettre à jour/changer pour une autre version du LibPack, voir la section [[#Mise_.C3.A0_jour_de_LibPack|Mise à jour de LibPack]]. Si vous voulez ramener les options pour une raison quelconque, vous devez supprimer tous les dossiers de votre dossier de construction, à l'exception du dossier LibPack. Dans CMake, supprimez le cache et démarrez comme si vous compiliez pour la première fois. || OFF
|-
|-
| FREECAD_COPY_LIBPACK_BIN_TO_BUILD || Copie les binaires LibPack nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]]. || OFF
| FREECAD_COPY_LIBPACK_BIN_TO_BUILD || Copie les binaires LibPack nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]]. || OFF
Line 161: Line 176:
| FREECAD_LIBPACK_DIR || Répertoire où se trouve le LibPack || Dossier du code source de FreeCAD
| FREECAD_LIBPACK_DIR || Répertoire où se trouve le LibPack || Dossier du code source de FreeCAD
|-
|-
| FREECAD_RELEASE_PDB || Créer des bibliothèques de débogage (*.pdb) également pour les compilations de version. Cela n'affecte pas la vitesse (comme le ferait une vraie compilation de débogage) et peut être très utile pour localiser les crashs dans le code de FreeCAD. En cas de crash de FreeCAD, un fichier ''crash.dmp'' sera créé et pourra être chargé avec MSVC et si vous avez les fichiers PDB correspondants ainsi que le code source de cette version, vous pourrez déboguer le code. Sans les fichiers PDB, il n'est pas possible de déboguer le code et tout ce que le débogueur montre est le nom de la DLL où le crash s'est produit. || ON
| FREECAD_RELEASE_PDB || Créer des bibliothèques de débogage également pour les builds de version || ON
|-
|-
| FREECAD_USE_MP_COMPILE_FLAG || Ajoute l'option /MP (multiprocesseur) aux projets Visual Studio, permettant des accélérations sur les CPU multi-cœurs. Cela peut accélérer considérablement les builds sur les processeurs modernes. || OFF
| FREECAD_USE_MP_COMPILE_FLAG || Ajoute l'option /MP (multiprocesseur) aux projets Visual Studio, permettant des accélérations sur les CPU multi-cœurs. Cela peut accélérer considérablement les builds sur les processeurs modernes. </br>'''Remarque :''' Si vous désactivez '''FREECAD_USE_PCH''', la compilation peut rapidement surcharger votre espace de tas, même si vous avez 16 Go de RAM. || ON
|-
| FREECAD_USE_PCH || [https://en.wikipedia.org/wiki/Precompiled_header Précompilation des en-têtes] afin de gagner du temps de compilation. || ON
|-
| FREECAD_USE_PYBIND11|| Inclut la bibliothèque [https://github.com/pybind/pybind11 PyBind11]. Nécessaire pour avoir un build qui inclut la fonction [[MeshPart_CreateFlatMesh/fr|Développer un objet maillé]].</br>'''Remarque :''' après l'avoir allumé, vous pourriez obtenir une erreur de configuration. Il suffit de configurer à nouveau et le problème devrait disparaître. || OFF
|}
|}


<span id="Building_FreeCAD"></span>
== Compilation de FreeCAD ==
== Compilation de FreeCAD ==


En fonction de votre compilateur, le processus de construction de FreeCAD sera légèrement différent. Dans les sections suivantes, vous décrivez les flux de travail connus.
En fonction de votre compilateur, le processus de compilation de FreeCAD sera légèrement différent. Dans les sections suivantes, les processus connus sont décrits. Si vous compilez avec Qt Creator, passez à [[#Compilation_avec_Qt_Creator_.28obsol.C3.A8te.29|Compilation avec Qt Creator (obsolète)]], sinon procédez directement :
Si vous construisez avec Qt Creator, passez à [[#Compiler avec Qt Creator|Compiler avec Qt Creator]], sinon, procédez directement :


<div class="mw-collapsible mw-collapsed toccolours">
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Building_with_Visual_Studio_15_(2017)_or_newer"></span>
<div class="mw-translate-fuzzy">
=== Construire avec Visual Studio 15 (2017) et 16 (2019) ===
=== Compilation avec Visual Studio 15 (2017) ou plus récent ===
</div>


<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


<span id="Release_Build"></span>
==== Version de Build ====
==== Version de compilation ====


# Démarrez l'IDE Visual Studio. Cela peut être effectué en appuyant sur le bouton ''Ouvrir un projet'' dans l'interface graphique de CMake ou en double-cliquant sur le fichier ''FreeCAD.sln'' que vous trouvez dans votre dossier de construction.
# Démarrez l'IDE Visual Studio. Cela peut être effectué en appuyant sur le bouton ''Ouvrir un projet'' dans l'interface graphique de CMake ou en double-cliquant sur le fichier ''FreeCAD.sln'' que vous trouvez dans votre dossier de construction.
Line 186: Line 205:
Cela va prendre pas mal de temps.
Cela va prendre pas mal de temps.


Pour compiler un FreeCAD prêt à l’emploi, compilez la cible ''INSTALL'', voir la section [[#Exécution et installation de FreeCAD|Exécution et installation de FreeCAD]].
Pour compiler un FreeCAD prêt à l’emploi, compilez la cible ''INSTALL'', voir la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]].


Si vous n'obtenez aucune erreur, vous avez terminé. '''Félicitations !''' Vous pouvez quitter MSVC ou le garder ouvert.
Si vous n'obtenez aucune erreur, vous avez terminé. '''Félicitations !''' Vous pouvez quitter MSVC ou le garder ouvert.


Remarque : FreeCAD 0.20 nécessite au moins la version 17 du langage standard C++ mais le composant tiers ''flann'' du LibPack n'est pas encore prêt pour cela. Par conséquent, vous aurez des erreurs de compilation pour la cible ''ReverseEngineering''. Pour résoudre ce problème, faites un clic droit sur cette cible dans l'explorateur de solutions MSVC et sélectionnez dans le menu contextuel la dernière entrée ''Properties''. Dans la boîte de dialogue qui apparaît, changez le ''C++ Language Standard'' en ''ISO C++14''. Enfin, recompilez la cible '''ALL_BUILD'''.
'''Important :''' à partir de Visual Studio 17.4, vous ne pouvez pas utiliser l'optimisation de code activée par défaut pour la cible '''SketcherGui'''. Si vous le faites, les contraintes d'angle seront mal placées dans les esquisses. Pour résoudre ce problème, cliquez avec le bouton droit de la souris sur cette cible dans l'explorateur de solutions MSVC et sélectionnez la dernière entrée '''Properties''' dans le menu contextuel. Dans la boîte de dialogue qui apparaît, allez dans C/C++ Optimisation et désactivez le paramètre '''Optimization'''. Enfin, recompilez la cible '''ALL_BUILD'''.


<span id="Debug_Build"></span>
==== Build de débogage ====
==== Compilation de débogage ====


Pour une version de débogage, il est nécessaire d'utiliser le Python inclus dans le LibPack. Pour assurer cela :
Pour une version de débogage, il est nécessaire d'utiliser le Python inclus dans le LibPack. Pour assurer cela :
Line 199: Line 219:
[[File:CMake_Python_settings.png]]
[[File:CMake_Python_settings.png]]


Comme pré-requis pour la compilation debug, vous devez faire ceci :
Maintenant
# Copier le contenu du dossier LibPack ''bind'' dans le dossier ''bin'' du dossier de la compilation de FreeCAD (écraser les fichiers existants).
# Démarrez l'IDE de Visual Studio. Cela peut être fait en appuyant sur le bouton ''Open Project'' dans l'interface graphique de CMake ou en double-cliquant sur le fichier «FreeCAD.sln» que vous trouvez dans votre dossier de construction.
# Dans la barre d'outils de MSVC IDE, assurez-vous que vous utilisez pour la première compilation ''Debug''.
# Copier le contenu du dossier LibPack ''libd'' dans le dossier ''lib'' du dossier de la compilation de FreeCAD.

# Il existe une fenêtre appelée ''Solution Explorer''. Il répertorie toutes les cibles de compilation possibles. Pour démarrer une compilation complète, faites un clic droit sur la cible '''ALL_BUILD''' puis choisissez '''Build''' dans le menu contextuel.
Maintenant vous pouvez compiler :
Cela prendra maintenant beaucoup de temps.
# Démarrez l'IDE de Visual Studio. Cela peut être fait soit en appuyant sur le bouton ''Open Project'' dans la GUI de CMake ou en double-cliquant sur le fichier ''FreeCAD.sln'' que vous trouvez dans votre dossier de compilation.
S'il n'y a pas eu d'erreurs de compilation, vous pouvez démarrer la compilation de débogage :
# Dans la barre d'outils de l'IDE de MSVC, assurez-vous que vous utilisez pour la première compilation ''Debug''.
# Faites un clic droit sur la cible '''FreeCADMain''' puis choisissez '''Set as Startup Project''' dans le menu contextuel.
# Il y a une fenêtre appelée ''Solution Explorer''. Elle liste toutes les cibles de compilation possibles. Pour lancer une compilation complète, cliquez avec le bouton droit de la souris sur la cible '''ALL_BUILD''' et choisissez ensuite '''Build''' dans le menu contextuel.
# Cliquez enfin dans la barre d'outils sur le bouton avec le triangle vert nommé '''Local Windows Debugger'''.
Cette opération va maintenant prendre beaucoup de temps.

S'il n'y a pas eu d'erreurs de compilation, et si les options '''FREECAD_COPY_*''' mentionnées dans l'[[#CMake|étape configuration avec CMake]] ci-dessus ont été activées, vous pouvez commencer la compilation de débogage :
# Faites un clic droit sur la cible '''FreeCADMain''' et choisissez ensuite '''Set as Startup Project''' dans le menu contextuel.
# Enfin, cliquez dans la barre d'outils sur le bouton avec le triangle vert nommé '''Local Windows Debugger'''.


Cela lancera la version de débogage de FreeCAD et vous pourrez utiliser MSVC IDE pour le déboguer.
Cela lancera la version de débogage de FreeCAD et vous pourrez utiliser MSVC IDE pour le déboguer.
Line 216: Line 241:
<div class="mw-collapsible mw-collapsed toccolours">
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Building_with_Qt_Creator_(outdated)"></span>
=== Construire avec Qt Creator (obsolète) ===
=== Compilation avec Qt Creator (obsolète) ===


<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


<span id="Installation_and_configuration_of_Qt_Creator"></span>
==== Installation et configuration de Qt Creator ====
==== Installation et configuration de Qt Creator ====


Line 238: Line 265:
*** Uncheck: Toujours déployer le projet avant de l'exécuter
*** Uncheck: Toujours déployer le projet avant de l'exécuter


<span id="Import_project_and_building"></span>
==== Importer un projet et compiler ====
==== Importer un projet et compiler ====


Line 258: Line 286:
<div class="mw-collapsible mw-collapsed toccolours">
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Command_line_build"></span>
=== Compilation en ligne de commande ===
=== Compilation en ligne de commande ===


Line 276: Line 305:
# Téléchargez le script [https://forum.freecadweb.org/download/file.php?id=92135 compile-FC.txt].
# Téléchargez le script [https://forum.freecadweb.org/download/file.php?id=92135 compile-FC.txt].
# Le renommer en ''compile-FC.bat''
# Le renommer en ''compile-FC.bat''
# Dans l'explorateur de fichiers de Winddows Shift+Cliquez-droit sur votre dossier de construction et utilisez-le dans le menu contextuel ''Invite de commandes ici '.
# Dans l'explorateur de fichiers de Windows, faites Shift+Cliquez-droit sur votre dossier de construction et utilisez-le dans le menu contextuel ''Invite de commandes ici''.
# Exécute la commande
# Exécute la commande


Line 292: Line 321:
</div>
</div>


<span id="Running_and_installing_FreeCAD"></span>
== Exécution et installation de FreeCAD ==
== Exécution et installation de FreeCAD ==


Line 302: Line 332:
La méthode 2 est la plus simple, car elle assure automatiquement que toutes les bibliothèques requises pour exécuter FreeCAD.exe se trouvent dans le bon dossier. FreeCAD.exe et les bibliothèques seront sortis dans le dossier que vous avez spécifié dans la variable CMake ''CMAKE_INSTALL_PREFIX''.
La méthode 2 est la plus simple, car elle assure automatiquement que toutes les bibliothèques requises pour exécuter FreeCAD.exe se trouvent dans le bon dossier. FreeCAD.exe et les bibliothèques seront sortis dans le dossier que vous avez spécifié dans la variable CMake ''CMAKE_INSTALL_PREFIX''.


Pour la méthode 1, vous devez activer les options '''FREECAD_COPY_*''' mentionnées dans l'[[#CMake|étape configuration avec CMake]] ci-dessus.
Pour la méthode 1, vous devez placer les bibliothèques dans le dossier ''bin'' de votre dossier de construction (où se trouve FreeCAD.exe). Cela peut être facilement fait en utilisant les variables CMake en option :
# Ouvrez l'interface graphique de CMake.
# Recherchez et cochez la variable ''FREECAD_COPY_DEPEND_DIRS_TO_BUILD''. S'il n'y a pas une telle option, les bibliothèques ont déjà été copiées, voir la [[#Options_pour_le_procédé_de compilation|description des options]].
# Recherchez et cochez la variable ''FREECAD_COPY_LIBPACK_BIN_TO_BUILD''.
# Recherchez et cochez la variable ''FREECAD_COPY_PLUGINS_BIN_TO_BUILD''.
# Cliquez sur '''Configurer'''. A la fin de la configuration, CMake copiera automatiquement les bibliothèques nécessaires du dossier LibPack.


<span id="Troubleshooting"></span>
=== Dépannage ===

Lors de l'exécution de FreeCAD, vous pouvez rencontrer des DLLs manquantes lors de l'utilisation de certains ateliers ou fonctionnalités d'ateliers. Le message d'erreur dans la console de FreeCAD ne vous dira pas quelle DLL est manquante. Pour le savoir, vous devez utiliser un outil externe :

* Téléchargez la dernière version du programme '''Dependencies''' : [https://github.com/lucasg/Dependencies/releases (choisissez le fichier ''Dependencies_x64_Release.zip'')]
* Dans la [[Python_console/fr|Console Python]] de FreeCAD, exécutez ces commandes :
<nowiki>import os
os.system(r"~DependenciesGui.exe")</nowiki>
'''Note''' : Au lieu du ~, vous devez spécifier le chemin complet du ''DependenciesGui.exe'' sur votre système.
* Faites maintenant glisser le fichier *.pyd de l'atelier avec lequel vous obtenez des DLLs manquantes signalées.

<span id="Updating_the_build"></span>
==Mise à jour de la compilation==
==Mise à jour de la compilation==


Line 315: Line 353:
# Recompilation
# Recompilation


<span id="Updating_the_source_code"></span>
===Mise à jour du code source===
===Mise à jour du code source===


<span id="Using_a_frontend"></span>
====Utiliser une interface====
====Utiliser une interface====


Line 325: Line 365:
Cliquez enfin sur '''OK'''.
Cliquez enfin sur '''OK'''.


<span id="Using_the_command_line"></span>
====Utiliser la ligne de commande====
====Utiliser la ligne de commande====


Line 337: Line 378:
===Recompilation===
===Recompilation===


# Ouvrez l'EDI MSVC en double-cliquant sur le fichier ''FreeCAD.sln'' ou sur le fichier ''ALL_BUILD.vcxproj'' dans votre dossier de construction.
# Ouvrez l'EDI MSVC en double-cliquant sur le fichier ''FreeCAD.sln'' ou sur le fichier ''ALL_BUILD.vcxproj'' dans votre dossier de compilation.
# Continuer à l'étape 2 de la section [[#Construire avec Visual Studio 15 2017|Construire avec Visual Studio 15 2017]].
# Continuer à l'étape 2 de la section [[#Compilation_avec_Visual_Studio_15_.282017.29_ou_plus_r.C3.A9cent|Compilation avec Visual Studio 15 (2017) ou plus récent]].


<span id="Updating_the_LibPack"></span>
==Mise à jour de LibPack==

Si une nouvelle version majeure d'une dépendance tierce comme Open Cascade est publiée, ou si une dépendance tierce a des corrections de bogues importantes, un nouveau LibPack est publié. Vous pouvez trouver la dernière version [https://github.com/FreeCAD/FreeCAD-LibPack/releases/ ici].

Pour mettre à jour votre LibPack, la recette suivante est la meilleure pratique :
# Supprimez le dossier ''bin'' de votre dossier de compilation.
# Passez à votre dossier LibPack local et supprimez tout ce qui s'y trouve.
# Extrayez le contenu du nouveau fichier ZIP LibPack dans le dossier LibPack local existant, mais maintenant vide.
# Ouvrez CMake et appuyez sur le bouton '''Configure''' et ensuite sur le bouton '''Generate'''. Cela recrée le dossier ''bin'' que vous venez de supprimer et y copie également les nouveaux fichiers LibPack.
# Dans CMake, cliquez sur le bouton '''Open Project''' et l'IDE MSVC s'ouvrira.
# Dans l'IDE MSVC, construisez la cible ''INSTALL''.

<span id="Tools"></span>
== Outils ==
== Outils ==


Pour rejoindre le développement FreeCAD, vous devez compiler et installer les outils suivants :
Pour rejoindre le développement FreeCAD, vous devez compiler et installer les outils suivants :


<span id="Qt_Designer_plugin"></span>
===Le plugin Qt Designer===
===Le plugin Qt Designer===


FreeCAD utilise [https://fr.wikipedia.org/wiki/Qt Qt] comme boîte à outils pour son interface utilisateur. Toutes les boîtes de dialogue sont configurées dans des fichiers UI qui peuvent être modifiés à l'aide du programme [https://doc.qt.io/qt-5/qtdesigner-manual.html Qt Designer]. Il fait partie de toute installation Qt et également inclus dans le LibPack. FreeCAD a son propre ensemble de widgets Qt pour fournir des fonctionnalités spéciales comme l'ajout d'une unité aux champs de saisie et pour définir les propriétés des préférences.
FreeCAD utilise [https://fr.wikipedia.org/wiki/Qt Qt] comme boîte à outils pour son interface utilisateur. Toutes les boîtes de dialogue sont configurées dans des fichiers UI qui peuvent être modifiés à l'aide du programme [https://doc.qt.io/qt-5/qtdesigner-manual.html Qt Designer]. Il fait partie de toute installation Qt et également inclus dans le LibPack. FreeCAD a son propre ensemble de widgets Qt pour fournir des fonctionnalités spéciales comme l'ajout d'une unité aux champs de saisie et pour définir les propriétés des préférences.


==== Installation ====
====Compilation====


Le plugin ne peut pas être chargé par le Qt Designer s'il a été compilé en utilisant une autre version de Qt que celle sur laquelle votre Qt Designer/Qt Creator est basé. Par conséquent, le plugin doit être compilé en même temps que FreeCAD :
Pour que Qt Designer connaisse les widgets FreeCAD, vous devez


* Dans les options CMake (voir [[Compile_on_Windows/fr#Options_pour_le_proc.C3.A9d.C3.A9_de_compilation|cette section ci-dessus]]) activez l'option BUILD_DESIGNER_PLUGIN et reconfigurez.
# Téléchargez le fichier [https://forum.freecadweb.org/download/file.php?id=124239 ce ZIP]. (Compilé à l'aide de Qt 5.12, voir [[#Compilation|ci-dessous]].)
* Ouvrez MSVC et construisez la cible '''FreeCAD_widgets'''.
# Extraire le fichier DLL dans le ZIP et le copier
* Si vous utilisez le LibPack: dans le dossier </br>''~\FreeCADLibs_12.5.2_x64_VC17\bin\designer''</br> Puisqu'il n'y aura qu'un dossier ''bin'' et vous devez d'abord créer le dossier sous-dossier ''designer''.
* Si vous avez une installation Qt complète: vous pouvez choisir entre le dossier </br>''C:\Qt\5.15.2\msvc2019_64\plugins\designer''</br>ou</br>''C:\Qt\5.15.2\msvc2019_64\bin\designer'' (vous devez d'abord créer le sous-dossier ''designer'').</br> (adaptez les chemins à votre installation!).


Le résultat est le fichier du plugin '''FreeCAD_widgets.dll''' dans le dossier</br>''~src\Tools\plugins\widget\Release''
(Re)démarrez Qt Designer et vérifiez son menu {{MenuCommand|Help → Plugins}}. Si le plugin '''FreeCAD_widgets.dll''' est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD, sinon vous devez [[#Compilation|compiler]] vous-même la DLL.


<span id="Installation"></span>
==== Installation ====


Pour installer le plugin, copiez la DLL soit vers :
Si vous préférez utiliser [https://en.wikipedia.org/wiki/Qt_Creator Qt Creator] au lieu de Qt Designer, la DLL doit être placée dans ce dossier : </br>''C:\Qt\Qt5.15.2\Tools\QtCreator\bin\plugins\designer''</br> (Re)démarrez Qt Creator, passez en mode '''Design''' puis vérifiez le menu {{MenuCommand|Tools → Form Editor → About Qt Designer Plugins}}. Si le plugin '''FreeCAD_widgets.dll''' est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD. Sinon, vous devez [[#Compilation|compiler]] vous-même la DLL.
* Si vous utilisez le LibPack : dans le dossier</br>''~\FreeCADLibs_2_8_x64_VC2019\plugins\designer''
* Si vous avez une installation complète de Qt : vous pouvez choisir entre le dossier</br>''C:\Qt\5.15.2\msvc2019_64\plugins\designer''</br>ou</br>''C:\Qt\5.15.2\msvc2019_64\bin\designer'' (vous devez d'abord créer le sous-dossier ''designer''.)</br>(adaptez les chemins à votre installation !).


Enfin, (re)lancez Qt Designer et vérifiez son menu {{MenuCommand|Help → Plugins}}. Si le plugin '''FreeCAD_widgets.dll''' est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD, sinon vous devez [[#Compilation|compiler]] vous-même la DLL.
====Compilation====


Si vous préférez utiliser [https://fr.wikipedia.org/wiki/Qt_Creator Qt Creator] au lieu de Qt Designer, le fichier du plugin doit être placé dans ce dossier : </br>''C:\Qt\Qt5.15.2\Tools\QtCreator\bin\plugins\designer''</br> Puis (re)lancez Qt Creator Qt Creator, passez en mode '''Design''' puis vérifiez le menu {{MenuCommand|Tools → Form Editor → About Qt Designer Plugins}}. Si le plugin '''FreeCAD_widgets.dll''' est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD. Sinon, vous devez [[#Compilation|compiler]] vous-même la DLL.
La DLL ne peut pas être chargée en tant que plug-in si elle a été compilée en utilisant une autre version de Qt que celle sur laquelle est basé Qt Designer/Qt Creator. Dans ce cas, vous devez compiler vous-même la DLL. Cela se fait de la manière suivante :

# Accédez au dossier source FreeCAD </br>''~\src\Tools\plugins\widget''
# Ouvrez une invite de commande MSVC x64 à l'aide du menu Démarrer de Windows et modifiez-la dans le dossier ci-dessus. Il est important que ce soit la version x64 de l'invite de commande MSVC !
# Exécutez cette commande {{Code|code=qmake -t vclib plugin.pro}}. Si qmake est introuvable, utilisez le chemin d'accès complet, par ex. pour le LibPack il doit être celui-ci (l'adapter à votre installation): </br>''D:\FreeCAD-build\FreeCADLibs_12.5.2_x64_VC17\bin\qmake -t vclib plugin.pro''</br> pour une installation complète de Qt c'est </br>''C:\Qt\5.15.2\msvc2019_64\bin\qmake -t vclib plugin.pro''</br> (adaptez les chemins à votre installation! )
# L'appel de ''qmake'' a créé le fichier '''FreeCAD_widgets.vcxproj''' dans le dossier ''~\src\Tools\plugins\widget''. Double-cliquez dessus et l'IDE MSVC s'ouvrira.
# Dans la barre d'outils de l'EDI MSVC, assurez-vous que vous utilisez la cible de compilation ''Release''.
# Il y a une fenêtre appelée ''Solution Explorer''. Faites un clic droit là-bas sur '''FreeCAD_widgets''' puis choisissez '''Build'''.
# En conséquence, vous devriez maintenant avoir un '''FreeCAD_widgets.dll''' dans le dossier ''~\src\Tools\plugins\widget\release'' que vous pouvez installer comme plugin comme décrit ci-dessus.


<span id="Thumbnail_Provider"></span>
=== Fournisseur de vignettes (Thumbnail) ===
=== Fournisseur de vignettes ===


FreeCAD a la fonctionnalité de fournir des vignettes d'aperçu pour les fichiers *.FCStd. Cela signifie que dans l'explorateur de fichiers Windows, les fichiers *.FCStd sont affichés avec une capture d'écran du modèle qu'il contient. Pour fournir cette fonctionnalité, FreeCAD doit avoir le fichier '''FCStdThumbnail.dll''' installé sur Windows.
FreeCAD a la fonctionnalité de fournir des vignettes d'aperçu pour les fichiers *.FCStd. Cela signifie que dans l'explorateur de fichiers Windows, les fichiers *.FCStd sont affichés avec une capture d'écran du modèle qu'il contient. Pour fournir cette fonctionnalité, FreeCAD doit avoir le fichier '''FCStdThumbnail.dll''' installé sur Windows.


<span id="Installation"></span>
==== Installation ====
==== Installation ====


Line 403: Line 455:
# En conséquence, vous devriez maintenant avoir un '''FCStdThumbnail.dll''' dans le dossier ''~\src\Tools\thumbs\ThumbnailProvider\release'' que vous pouvez installer comme décrit ci-dessus.
# En conséquence, vous devriez maintenant avoir un '''FCStdThumbnail.dll''' dans le dossier ''~\src\Tools\thumbs\ThumbnailProvider\release'' que vous pouvez installer comme décrit ci-dessus.


<span id="Compiling_Open_Cascade"></span>
== Compilation d'Open Cascade ==


LibPack est livré avec une version d'[https://en.wikipedia.org/wiki/Open_Cascade Open Cascade] qui convient à une utilisation générale. Cependant, dans certaines circonstances, vous pouvez souhaiter compiler avec une autre version d'Open Cascade, comme l'une de leurs versions officielles, ou un fork patché.
== Compiler OpenCASCADE ==


Libpack standard est livré avec une version d'OpenCASCADE qui convient à un usage général. Cependant, dans certaines circonstances, vous pouvez souhaiter compiler avec une version alternative d'OpenCASCADE, comme une de leurs versions officielles, ou un fork patché. Notez qu'il n'y a aucune garantie que FreeCAD fonctionnera avec toutes les versions d'OpenCASCADE, et l'utilisation d'une version autre que celle de Libpack est réservée aux utilisateurs avancés. Notez également que si vous utilisez la bibliothèque Netgen, elle utilise OpenCASCADE pour certaines de ses fonctionnalités et doit être compilée avec la même version d'OpenCASCADE que celle que vous utilisez lors de la compilation de FreeCAD.
Lorsque vous compilez Open Cascade pour FreeCAD, notez qu'il n'y a aucune garantie que FreeCAD fonctionnera avec toutes les versions d'Open Cascade. Notez également que lorsque vous utilisez la bibliothèque Netgen, vous devez utiliser la version NetGen approuvée pour la compilation avec la version d'Open Cascade que vous souhaitez compiler.


Pour compiler :
Le processus de compilation d'une version personnalisée d'OpenCASCADE est similaire à celui de FreeCAD, et peut utiliser le Libpack FreeCAD que vous avez déjà téléchargé pour fournir les dépendances tierces dont il a besoin (Freetype et Tcl/Tk).
* Procurez-vous d'abord le code source d'Open Cascade, soit directement depuis [https://github.com/Open-Cascade-SAS/OCCT le dépôt git d'Open Cascade], soit en clonant le fork de quelqu'un d'autre, comme [https://gitlab.com/blobfish/occt le fork "blobfish"] maintenu par un membre du forum FreeCAD [https://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=208 tanderson69].


* Ensuite, ouvrez l'interface graphique de CMake pour configurer le système de compilation d'une manière similaire à la compilation de FreeCAD. Ces options CMake doivent être définies (ou ne pas être définies explicitement) :
Obtenez d'abord le code source d'OpenCASCADE, soit directement à partir de la page de publication à [https://old.opencascade.com/content/latest-release OpenCASCADE.org], via [https://git.dev.opencascade.org/repos /occt.git git] ou en clonant le fork de quelqu'un d'autre, comme [https://gitlab.com/blobfish/occt le fork "blobfish"] maintenu par le membre du forum FreeCAD [https://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=208 tanderson69].
{| class="wikitable" style="text-align:left"
|-
! Nom de la variable !! Description !! Valeur par défaut
|-
| 3RDPARTY_DIR|| Le chemin vers les composants tiers. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé. Laissez explicitement ce champ vide.
|| vide
|-
| 3RDPARTY_DOXYGEN_EXECUTABLE|| Le chemin vers l'exécutable du composant tiers [https://fr.wikipedia.org/wiki/Doxygen Doxygen]. Il est recommandé d'installer Doxygen. CMake le trouvera alors automatiquement.
|| vide
|-
| 3RDPARTY_FREETYPE_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/FreeType Freetype]. Il est recommandé d'utiliser comme entrée le dossier où se trouve votre LibPack utilisé.
|| vide
|-
| 3RDPARTY_RAPIDJSON_DIR|| Uniquement disponible si '''USE_RAPIDJSON''' est utilisé. Le chemin vers le composant tiers [https://rapidjson.org/ RapidJSON]. Il est recommandé de NE PAS utiliser un dossier LibPack existant comme entrée. Vous pouvez utiliser le dossier RapidJSOn d'un LibPack, mais copiez-le dans un nouveau dossier et utilisez ce nouveau dossier comme entrée.
|| vide
|-
| 3RDPARTY_TCL_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/Tool_Command_Language TCL]. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des [https://github.com/teclab-at/tcltk/releases ces versions], extrayez-la et prenez-la comme dossier d'entrée pour CMake.
|| vide
|-
| 3RDPARTY_TK_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/Tk_(informatique) TK]. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des [https://github.com/teclab-at/tcltk/releases ces versions], extrayez-la et prenez-la comme dossier d'entrée pour CMake.
|| vide
|-
| 3RDPARTY_VTK_DIR|| Uniquement disponible si '''USE_VTK''' est utilisé. Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/VTK VTK]. Il est recommandé d'utiliser le dossier en entrée où se trouve votre LibPack utilisé. Si vous utilisez un autre dossier, assurez-vous que vous n'utilisez pas VTK 9.x ou plus récent.
|Vide
|-
| BUILD_RELEASE_DISABLE_EXCEPTIONS|| Désactive la gestion des exceptions pour les builds de version. Pour FreeCAD vous devez le régler sur '''OFF'''.
|| ON
|-
| INSTALL_DIR|| Le dossier de sortie lors de la construction de la cible ''INSTALL''. Si la construction a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack.
|| Dossier d'installation du programme par défaut de Windows
|-
| INSTALL_DIR_BIN|| Le sous-dossier de sortie pour la DLL lors de la construction de la cible ''INSTALL''. Vous devez le remplacer par '''bin'''.
|| win64/vc14/bin
|-
| INSTALL_DIR_LIB|| Le sous-dossier de sortie pour les fichiers .lib lors de la construction de la cible ''INSTALL''. Vous devez le remplacer par '''lib'''.
|| win64/vc14/lib
|-
| USE_RAPIDJSON|| Pour compiler Open Cascade avec le support de RapidJSON. L'activation de cette option est obligatoire pour obtenir le support du format de fichier [https://fr.wikipedia.org/wiki/GlTF glTF].
|| OFF
|-
| USE_VTK|| Pour compiler Open Cascade avec le support de VTK. L'activation de cette option est optimale. Vous pouvez l'utiliser pour construire le pont VTK d'Open Cascade.
|| OFF
|}


* Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD puis INSTALL en mode ''Release''.
Ensuite, utilisez CMake pour configurer le système de compilation de la même manière que pour la compilation de FreeCAD. Les principales options de CMake pour OpenCASCADE sont les suivantes :
* Répétez la construction des deux cibles en mode ''Debug''.
* '''3RDPARTY_DIR''' - L'emplacement de vos bibliothèques tierces, généralement dans le répertoire Libpack de FreeCAD
* '''INSTALL_DIR''' - Où installer les bibliothèques terminées. Une bonne pratique consiste à utiliser un répertoire isolé sur votre système, plutôt que d'installer globalement ou d'écraser la version du Libpack.


Pour compiler FreeCAD en utilisant Open Cascade auto-compilé, vous devez effectuer les opérations suivantes :
Enfin, ouvrez le projet dans Visual Studio et compilez les cibles ALL_BUILD puis INSTALLER.
* Copiez tous les dossiers de INSTALL_DIR dans votre dossier LibPack (écrasez les fichiers existants).
* Passez au dossier LibPack et allez dans le sous-dossier ''cmake''.
* Ouvrez-y le fichier ''OpenCASCADEDrawTargets.cmake'' avec un éditeur de texte.
* Cherchez-y les chemins absolus vers votre dossier LibPack et supprimez-les. Ainsi, par exemple, le chemin absolu</br>''D:/FreeCADLibs_12.5.4_x64_VC17/lib/freetype.lib''</br>devient simplement </br>''freetype.lib''</br>
* Faites de même pour le fichier ''OpenCASCADEVisualizationTargets.cmake''

<span id="Compiling_Netgen"></span>
== Compilation de Netgen==

LibPack est livré avec une version de [https://ngsolve.org Netgen] qui a été testée pour être construite avec la version Open Cascade du LibPack. Le problème est que chaque nouvelle version de Netgen modifie l'API. De même, chaque nouvelle version d'Open Cascade fait de même. Par conséquent, on ne peut pas changer facilement la version de Netgen.

Cependant, vous pouvez tout de même construire Netgen. C'est une tâche facile :

* Tout d'abord, procurez-vous le code source de Netgen, soit directement à partir de [https://github.com/NGSolve/netgen Dépôt git de Netgen].
* Ensuite, ouvrez l'interface graphique CMake pour configurer le système de compilation de manière similaire à la construction de FreeCAD. Les options CMake suivantes doivent être définies :
{| class="wikitable" style="text-align:left"
|-
! Nom de la variable !! Description !! Valeur par défaut
|-
| CMAKE_INSTALL_PREFIX|| Le dossier de sortie lors de la compilation de la cible ''INSTALL''. Si la compilation a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack.
|| C:/netgen
|-
| OpenCasCade_DIR|| Le chemin vers les fichiers CMake d'Open Cascade. Si vous avez compilé Open Cascade comme décrit dans la section [[#Compilation_d.27Open_Cascade|Compilation d'Open Cascade]], vous pouvez utiliser le sous-dossier ''cmake'' du dossier que vous avez utilisé comme INSTALL_DIR. Sinon, utilisez le sous-dossier ''cmake'' de votre LibPack. Notez que le LibPack doit alors déjà contenir une compilation correcte d'Open Cascade. Indépendamment du dossier que vous utilisez, vous devez maintenant y créer un sous-dossier ''lib'' et y copier les fichiers ''freetype.lib'' et ''freetyped.lib'' de votre LibPack.
|| vide
|-
| USE_GUI|| Mettez-le sur '''OFF'''.
|| ON
|-
| USE_NATIVE_ARCH|| Mettez la valeur '''OFF''' ; ceci n'est nécessaire et important que pour supporter les anciens processeurs qui n'ont pas le jeu d'instructions [https://fr.wikipedia.org/wiki/Advanced_Vector_Extensions AVX2].
|| ON
|-
| USE_OCC|| Mettez-le sur '''ON'''.
|| OFF
|-
| USE_PYTHON|| Mettez-le sur '''OFF'''.
|| ON
|-
| USE_SUPERBUILD|| Mettez-le sur '''OFF'''.
|| ON
|-
| ZLIB_INCLUDE_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/Zlib zlib]. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé.
|| vide
|-
| ZLIB_LIBRARY_DEBUG|| Le chemin vers le fichier ZLib ''zlibd.lib''. Il est situé dans le sous-dossier ''lib'' de votre dossier LibPack.
|| vide
|-
| ZLIB_LIBRARY_RELEASE|| Le chemin vers le fichier ZLib ''zlib.lib''. Il est situé dans le sous-dossier ''lib'' de votre dossier LibPack.
|| vide
|}


* De plus, vous devez ajouter une nouvelle entrée CMake :
Une fois que vous avez généré les DLL appropriées pour OpenCASCADE (il y en a beaucoup), vous devrez recompiler FreeCAD. Ouvrez CMake et configurez les répertoires source et de compilation d'une version FreeCAD comme indiqué ci-dessus. C'est généralement une bonne idée d'utiliser un nouveau répertoire de compilation pour cette version alternative d'OpenCASCADE afin qu'il soit facile de revenir à votre ancienne version de FreeCAD si quelque chose ne va pas, et de mettre en place un répertoire d'installation afin que vous puissiez vous assurer que les bonnes bibliothèques sont en place. En plus des variables CMake décrites ci-dessus, définissez la variable OpenCASCADE_DIR à l'emplacement du dossier cmake contenant vos informations de construction OpenCASCADE. Par exemple:
nom : ''CMAKE_DEBUG_POSTFIX'', type : ''string'', contenu : '''_d'''</br>Cela garantit que les noms de fichiers des bibliothèques de débogage ont un autre nom que les bibliothèques de publication et ne peuvent pas être échangés accidentellement par la suite.
CMAKE_INSTALL_PREFIX C:/Users/JaneDoe/Work/FreeCAD_occt751-install/
OpenCASCADE_DIR C:/Users/JaneDoe/Work/opencascade-7.5.1-install/cmake/


* Appuyez sur le bouton ''Configure'' dans CMake pour générer les fichiers *.cmake.
* Seulement nécessaire si des CPU plus anciens doivent être supportés qui n'ont pas le jeu d'instructions AVX2 :
** Recherchez dans votre dossier de construction Netgen le fichier ''netgen-targets.cmake'' et ouvrez-le avec un éditeur de texte. Supprimez le paramètre '';/arch:AVX2'' dans l'option INTERFACE_COMPILE_OPTIONS.
** Appuyez à nouveau sur le bouton ''Configure'' dans CMake.
* Appuyez sur le bouton ''Generate'' dans CMake.
* Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD et ensuite INSTALL en mode ''Release''.
* Répétez la construction des deux cibles en mode ''Debug''.


Pour compiler FreeCAD en utilisant l'auto-compilation de Netgen, vous devez faire ce qui suit :
Une fois que vous avez utilisé CMake pour générer les fichiers de compilation pour FreeCAD, ouvrez-le dans Visual Studio, compilez-le, puis exécutez la compilation sur la cible INSTALL.
* Copiez tous les dossiers de CMAKE_INSTALL_PREFIX dans votre dossier LibPack (écrasez les fichiers existants).


<span id="References"></span>
== Références ==
== Références ==


Line 432: Line 586:


{{Docnav/fr
{{Docnav/fr
|[[Licence/fr|Licence]]
|[[License/fr|Licence]]
|[[Compile_on_Linux/fr|Compiler sous Linux]]
|[[Compile_on_Linux/fr|Compiler sous Linux]]
}}
}}

Latest revision as of 20:15, 4 April 2024

Cette page explique étape par étape comment compiler FreeCAD 0.19 ou plus récent sous Windows en utilisant le compilateur MSVC de Microsoft. Pour des informations sur l'utilisation de MSYS2/MinGW voir Compiler sous MinGW. Pour les autres plateformes, voir Compiler.

Prérequis

La compilation de FreeCAD sous Windows nécessite plusieurs outils et bibliothèques.

Requis

  • Un compilateur. FreeCAD est testé avec Visual Studio (MSVC)-d'autres compilateurs peuvent fonctionner, mais les instructions d'utilisation ne sont pas incluses ici. Pour plus de détails, voir la section Compilateur ci-dessous.
  • Git (Il existe également des interfaces GUI disponibles pour Git, voir la section suivante.)
  • CMake version 3.11.x ou plus récente.
    Astuce : Choisir l'option Ajouter CMake au chemin du système pour tous les utilisateurs lors de l'installation de CMake rendra CMake accessible depuis l'invite de commande Windows, ce qui peut être utile.
  • LibPack. Il s'agit d'un paquetage unique contenant toutes les bibliothèques nécessaires à la compilation de FreeCAD sous Windows. Téléchargez la version du LibPack qui correspond à la version de FreeCAD que vous voulez compiler. Pour compiler FreeCAD 0.20 téléchargez LibPack version 2.6, pour FreeCAD 0.19 téléchargez LibPack version 1.0. Extrayez LibPack à un endroit approprié. (Si votre ordinateur ne reconnaît pas l'extension .7z, vous devez installer le programme 7-zip).
    Remarque : il est fortement recommandé de compiler FreeCAD avec la version du compilateur pour laquelle le LibPack est conçu. Par exemple, vous pourriez rencontrer des problèmes en compilant FreeCAD 0.20 avec MSVC 2017 parce que le LibPack est conçu pour être construit avec MSVC 2019 ou plus récent.
    Pour mettre à jour votre LibPack ultérieurement, consultez la section Mise à jour de LibPack.

Programmes optionnels

  • Une interface graphique pour Git. Plusieurs interfaces sont disponibles, voir cette liste. L'avantage principal d'une interface est qu'il n'est pas nécessaire d'apprendre les commandes Git pour obtenir le code source de FreeCAD ou pour envoyer des correctifs au référentiel GitHub de FreeCAD.

Nous décrivons ci-après la gestion du code source à l'aide de l'interface TortoiseGit. Cette interface s'intègre directement dans l'explorateur de fichiers Windows et dispose d'une large communauté d'utilisateurs pour obtenir de l'aide en cas de problème.

  • NSIS est utilisé pour générer le programme d'installation de FreeCAD Windows.

Code source

Vous pouvez maintenant obtenir le code source de FreeCAD :

Utiliser une interface

Lorsque vous utilisez le Git frontend TortoiseGit :

  1. Créez un nouveau dossier dans lequel le code source sera téléchargé.
  2. Cliquez avec le bouton droit de la souris sur ce dossier dans l'explorateur de fichiers Windows et sélectionnez Git Clone dans le menu contextuel.
  3. Une boîte de dialogue apparaîtra. Dans celui-ci, entrez l'URL du dépôt FreeCAD Git

https://github.com/FreeCAD/FreeCAD.git

et cliquez sur OK.

Le dernier code source sera téléchargé à partir du dépôt FreeCAD Git et le dossier sera suivi par Git.

Utiliser la ligne de commande

Pour créer une branche locale et télécharger le code source, vous devez ouvrir un terminal (invite de commande) et entrez dans le répertoire ou vous désirez placer le code source, puis tapez :

git clone https://github.com/FreeCAD/FreeCAD.git

Compilateur

Le compilateur par défaut (recommandé) est MS Visual Studio (MSVC). Bien qu'il soit possible d'utiliser d'autres compilateurs, par exemple gcc via Cygwin ou MinGW, cela n'est pas testé ni couvert ici.

Vous pouvez obtenir une version gratuite de MSVC (pour un usage individuel) en téléchargeant l 'édition Community de MS Visual Studio.

Pour ceux qui ne veulent pas installer l'énorme MSVC uniquement pour avoir un compilateur, voir CompileOnWindows - Réduire l'espace disque.

Remarque : Bien que l'édition Community de MSVC soit gratuite, pour utiliser l'EDI pendant plus de 30 jours, vous devez créer un compte Microsoft. Si vous ne compilez qu'en utilisant la ligne de commande, vous n'avez pas besoin de l'EDI et donc pas de compte Microsoft.

Comme alternative gratuite et OpenSource IDE, vous pouvez utiliser KDevelop. Vous pouvez utiliser KDevelop pour modifier et écrire du code C ++, mais vous devez utiliser la ligne de commande pour compiler.

Configuration optionnelle du chemin d'accès au système

Vous pouvez éventuellement inclure les chemins d'accès à certains dossiers de la variable système PATH. Ceci est utile si vous souhaitez accéder aux programmes de ces dossiers à partir de la ligne de commande/powershell ou si vous souhaitez que des programmes spéciaux soient trouvés par le compilateur ou CMake. En outre, l’ajout de dossiers à PATH peut s’avérer nécessaire si vous n’utilisez pas les options correspondantes lors de l’installation du programme.

  • Vous pouvez inclure le dossier de votre LibPack dans votre variable système PATH. Ceci est utile si vous envisagez de créer plusieurs configurations/versions de FreeCAD.
  • Si vous n'avez pas utilisé l'option permettant d'ajouter CMake à PATH lors de son installation, ajoutez son dossier d'installation

C:\Program Files\CMake\bin à PATH.

  • Si vous n'avez pas utilisé l'option permettant d'ajouter TortoiseGit à PATH lors de son installation, ajoutez son dossier d'installation

C:\Program Files\TortoiseGit\bin à PATH.

Pour ajouter à votre chemin au système :

  1. Dans le menu Démarrer de Windows, cliquez avec le bouton droit de la souris sur Ordinateur et choisissez Propriétés.
  2. Dans la boîte de dialogue qui apparaît, cliquez sur Paramètres système avancés.
  3. Une autre boîte de dialogue s'ouvrira. Cliquez sur l'onglet Avancé sur Variables d'environnement.
  4. Encore une autre boîte de dialogue s'ouvrira. Sélectionnez ensuite la variable Path et cliquez sur Editer.
  5. Une autre boîte de dialogue s'ouvrira. Cliquez ici sur Nouveau et ajoutez le chemin d'accès au dossier de Git ou du LibPack.
  6. Enfin, appuyez sur OK et fermez toutes les boîtes de dialogue en appuyant sur OK.

Configuration

Une fois que vous avez tous les outils, bibliothèques et code source FreeCAD nécessaires, vous êtes prêt à commencer le processus de configuration et de compilation. Ce processus se déroulera en cinq étapes :

  1. Exécutez CMake une fois pour examiner votre système et commencer la progression de la configuration (cela signalera qu'il a échoué).
  2. Ajustez les paramètres CMake nécessaires pour définir les emplacements du LibPack et activer Qt5.
  3. Relancez CMake pour finaliser la configuration (cette fois, cela devrait réussir).
  4. Utilisez CMake pour générer le système de build Visual Studio.
  5. Utilisez Visual Studio pour créer FreeCAD.

CMake

Tout d'abord, configurez l'environnement de compilation en utilisant CMake :

  1. Ouvrez l'interface graphique de CMake
  2. Spécifiez le dossier source de FreeCAD.
  3. Spécifiez un dossier de compilation. Cela peut être compilé dans le dossier où vous avez cloné le repo car ce chemin est ignoré par git. N'utilisez pas le dossier source. CMake va créer ce dossier s'il n'existe pas.
  4. Cliquez sur Configure.
  5. Dans la boîte de dialogue qui apparaît, spécifiez le générateur que vous voulez utiliser : dans la plupart des cas, vous utiliserez les valeurs par défaut de cette boîte de dialogue. Pour le MS Visual Studio standard, utilisez Visual Studio xx 2yyy où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut Use default native compilers.

Remarque: Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.

Cela commencera la configuration et échouera à cause de paramètres manquants. C'est normal, vous n'avez pas encore spécifié l'emplacement du LibPack. Cependant, d'autres problèmes peuvent survenir et nécessiter une action supplémentaire de votre part.

S'il échoue avec le message Visual Studio est introuvable, la prise en charge de CMake dans MSVC n'est pas encore installée. Pour l'installer :

  1. Ouvrez l'EDI MSVC
  2. Utilisez le menu Tools → Get Tools and Features
  3. Dans l'onglet Workloads, activez Desktop development with C++
  4. Sur le côté droit, vous devriez maintenant voir que le composant Visual C++ tools for CMake sera installé.
  5. Installez-le.

Si cela échoue avec un message sur la mauvaise version de Python ou Python manquant, alors :

  1. Utilisez la case "Search:" dans CMake pour rechercher la chaîne "Python"
  2. Si vous y voyez un chemin comme C:/Program Files/Python38/python.exe, CMake a reconnu le Python qui est déjà installé sur votre PC, mais cette version n'est pas compatible avec le LibPack. Étant donné que le LibPack inclut une version compatible de Python, modifiez les paramètres Python suivants dans CMake sur ses chemins (en supposant que le LibPack se trouve dans le dossier D:/FreeCAD-build/FreeCADLibs_2_8_x64_VC2019) :

S'il n'y a pas d'erreur concernant Visual Studio ou Python, tout va bien, mais CMake ne connaît pas encore tous les paramètres nécessaires. Donc maintenant :

  1. Cherchez dans CMake la variable FREECAD_LIBPACK_DIR et spécifiez l'emplacement du dossier LibPack que vous avez téléchargé plus tôt.
  2. (Si vous compilez FreeCAD 0.19) cherchez la variable BUILD_QT5 et activez cette option.
  3. (Si vous prévoyez d'exécuter directement à partir du dossier de compilation comme pour le débogage) recherchez et activez les options suivantes :
    • FREECAD_COPY_DEPEND_DIRS_TO_BUILD
    • FREECAD_COPY_LIBPACK_BIN_TO_BUILD
    • FREECAD_COPY_PLUGINS_BIN_TO_BUILD
  4. Cliquez à nouveau sur Configure.

Il ne devrait plus y avoir d’erreurs. Si vous continuez à rencontrer des erreurs que vous ne pouvez pas diagnostiquer, allez sur le Forum Install/Compile de FreeCAD. Si CMake a procédé correctement, cliquez sur Generate. Une fois cela fait, vous pouvez fermer CMake et démarrer la compilation de FreeCAD à l'aide de Visual Studio. Cependant, pour la première compilation, gardez-le ouvert au cas où vous voudriez ou auriez besoin de changer certaines options pour le processus de construction.

Options pour le procédé de compilation

Le système de compilation CMake vous permet de contrôler certains aspects du processus de compilation. En particulier, vous pouvez activer et désactiver certaines fonctionnalités ou modules à l'aide des variables CMake.

Voici la description de certaines de ces variables :

Nom de la variable Description Valeur par défaut
BUILD_XXX Compile FreeCAD avec le composant XXX. Si vous ne voulez/nécessitez pas compiler par exemple l'atelier OpenSCAD, désactivez la variable BUILD_OPENSCAD. FreeCAD n'aura alors pas cet atelier.

Remarque: Certains composants sont nécessaires pour d'autres composants. Si vous décochez par exemple BUILD_ROBOT, CMake vous informera qu'alors le composant Path ne pourra pas être compilé correctement. Vérifiez donc la sortie de CMake après avoir modifié une option BUILD_XXX!

ca dépend
BUILD_ENABLE_CXX_STD La version du standard du langage C++. C++14 est la plus élevée possible pour FreeCAD 0.19 alors qu'au moins C++17 est nécessaire pour FreeCAD 0.20. Voir aussi la note dans la section Construire avec Visual Studio 15 (2017) et 16 (2019) ca dépend
BUILD_DESIGNER_PLUGIN Pour construire le plugin Qt Designer, voir cette section ci-dessous OFF
BUILD_FLAT_MESH Nécessaire pour avoir une version qui inclut la fonction Développer un objet maillé. OFF
CMAKE_INSTALL_PREFIX Le dossier de sortie lors de la construction de la cible INSTALL, voir aussi la section Exécution et installation de FreeCAD Le dossier d'installation par défaut de Windows
FREECAD_COPY_DEPEND_DIRS_TO_BUILD Copie les bibliothèques dépendantes nécessaires à l'exécution de FreeCAD.exe dans le dossier de build. Voir aussi la section Exécution et installation de FreeCAD.
Remarque : les options FREECAD_COPY_XXX n'apparaissent que si les bibliothèques n'ont pas déjà été copiées. Si vous avez seulement besoin de mettre à jour/changer pour une autre version du LibPack, voir la section Mise à jour de LibPack. Si vous voulez ramener les options pour une raison quelconque, vous devez supprimer tous les dossiers de votre dossier de construction, à l'exception du dossier LibPack. Dans CMake, supprimez le cache et démarrez comme si vous compiliez pour la première fois.
OFF
FREECAD_COPY_LIBPACK_BIN_TO_BUILD Copie les binaires LibPack nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section Exécution et installation de FreeCAD. OFF
FREECAD_COPY_PLUGINS_BIN_TO_BUILD Copie les fichiers plugins de Qt nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section Exécution et installation de FreeCAD. OFF
FREECAD_LIBPACK_USE Active ou désactive l'utilisation du LibPack de FreeCAD ON
FREECAD_LIBPACK_DIR Répertoire où se trouve le LibPack Dossier du code source de FreeCAD
FREECAD_RELEASE_PDB Créer des bibliothèques de débogage (*.pdb) également pour les compilations de version. Cela n'affecte pas la vitesse (comme le ferait une vraie compilation de débogage) et peut être très utile pour localiser les crashs dans le code de FreeCAD. En cas de crash de FreeCAD, un fichier crash.dmp sera créé et pourra être chargé avec MSVC et si vous avez les fichiers PDB correspondants ainsi que le code source de cette version, vous pourrez déboguer le code. Sans les fichiers PDB, il n'est pas possible de déboguer le code et tout ce que le débogueur montre est le nom de la DLL où le crash s'est produit. ON
FREECAD_USE_MP_COMPILE_FLAG Ajoute l'option /MP (multiprocesseur) aux projets Visual Studio, permettant des accélérations sur les CPU multi-cœurs. Cela peut accélérer considérablement les builds sur les processeurs modernes.
Remarque : Si vous désactivez FREECAD_USE_PCH, la compilation peut rapidement surcharger votre espace de tas, même si vous avez 16 Go de RAM.
ON
FREECAD_USE_PCH Précompilation des en-têtes afin de gagner du temps de compilation. ON
FREECAD_USE_PYBIND11 Inclut la bibliothèque PyBind11. Nécessaire pour avoir un build qui inclut la fonction Développer un objet maillé.
Remarque : après l'avoir allumé, vous pourriez obtenir une erreur de configuration. Il suffit de configurer à nouveau et le problème devrait disparaître.
OFF

Compilation de FreeCAD

En fonction de votre compilateur, le processus de compilation de FreeCAD sera légèrement différent. Dans les sections suivantes, les processus connus sont décrits. Si vous compilez avec Qt Creator, passez à Compilation avec Qt Creator (obsolète), sinon procédez directement :

Compilation avec Visual Studio 15 (2017) ou plus récent

Version de compilation

  1. Démarrez l'IDE Visual Studio. Cela peut être effectué en appuyant sur le bouton Ouvrir un projet dans l'interface graphique de CMake ou en double-cliquant sur le fichier FreeCAD.sln que vous trouvez dans votre dossier de construction.
  2. Dans la barre d’outils de l’EDI MSVC, assurez-vous que vous utilisez pour la première compilation Release.
  3. Il y a une fenêtre appelée Solution Explorer. Elle répertorie toutes les cibles de compilation possibles. Pour démarrer une compilation complète, faites un clic droit sur la cible ALL_BUILD puis choisissez Build.

Cela va prendre pas mal de temps.

Pour compiler un FreeCAD prêt à l’emploi, compilez la cible INSTALL, voir la section Exécution et installation de FreeCAD.

Si vous n'obtenez aucune erreur, vous avez terminé. Félicitations ! Vous pouvez quitter MSVC ou le garder ouvert.

Important : à partir de Visual Studio 17.4, vous ne pouvez pas utiliser l'optimisation de code activée par défaut pour la cible SketcherGui. Si vous le faites, les contraintes d'angle seront mal placées dans les esquisses. Pour résoudre ce problème, cliquez avec le bouton droit de la souris sur cette cible dans l'explorateur de solutions MSVC et sélectionnez la dernière entrée Properties dans le menu contextuel. Dans la boîte de dialogue qui apparaît, allez dans C/C++ → Optimisation et désactivez le paramètre Optimization. Enfin, recompilez la cible ALL_BUILD.

Compilation de débogage

Pour une version de débogage, il est nécessaire d'utiliser le Python inclus dans le LibPack. Pour assurer cela :

  1. Recherchez "Python" dans l'interface graphique de CMake
  2. Si vous y voyez un chemin comme 'C:/Program Files/Python38/python.exe, CMake a reconnu le Python qui est installé sur votre PC et non celui du LibPack. Dans ce cas, adaptez ces différents paramètres Python dans CMake à cela (en supposant que le LibPack se trouve dans le dossier D:\FreeCAD-build\FreeCADLibs_12.5.2_x64_VC17) :

Comme pré-requis pour la compilation debug, vous devez faire ceci :

  1. Copier le contenu du dossier LibPack bind dans le dossier bin du dossier de la compilation de FreeCAD (écraser les fichiers existants).
  2. Copier le contenu du dossier LibPack libd dans le dossier lib du dossier de la compilation de FreeCAD.

Maintenant vous pouvez compiler :

  1. Démarrez l'IDE de Visual Studio. Cela peut être fait soit en appuyant sur le bouton Open Project dans la GUI de CMake ou en double-cliquant sur le fichier FreeCAD.sln que vous trouvez dans votre dossier de compilation.
  2. Dans la barre d'outils de l'IDE de MSVC, assurez-vous que vous utilisez pour la première compilation Debug.
  3. Il y a une fenêtre appelée Solution Explorer. Elle liste toutes les cibles de compilation possibles. Pour lancer une compilation complète, cliquez avec le bouton droit de la souris sur la cible ALL_BUILD et choisissez ensuite Build dans le menu contextuel.

Cette opération va maintenant prendre beaucoup de temps.

S'il n'y a pas eu d'erreurs de compilation, et si les options FREECAD_COPY_* mentionnées dans l'étape configuration avec CMake ci-dessus ont été activées, vous pouvez commencer la compilation de débogage :

  1. Faites un clic droit sur la cible FreeCADMain et choisissez ensuite Set as Startup Project dans le menu contextuel.
  2. Enfin, cliquez dans la barre d'outils sur le bouton avec le triangle vert nommé Local Windows Debugger.

Cela lancera la version de débogage de FreeCAD et vous pourrez utiliser MSVC IDE pour le déboguer.

Ressource vidéo

Tutoriel en anglais qui commence par la configuration dans CMake Gui et continue jusqu'à la commande `Build` dans Visual Studio 16 2019 est disponible non répertorié sur YouTube à Tutorial: Build FreeCAD from source on Windows 10.

Compilation avec Qt Creator (obsolète)

Installation et configuration de Qt Creator

  • Téléchargez et installez Qt Creator
  • Outils → Options → Editeur Texte → Behavior tab:
    • File Encodings → Default Encodings:
    • Set to: ISO-8859-1 /...csISOLatin1 (Certain caracteres créent une errors/warnings avec Qt Creator if left set to UTF-8. Cela semble pour corrigé.)
  • Tools → Options → Build & Run:
    • CMake tab
      • Fill Executable box with path to cmake.exe
    • Kits tab
      • Name: MSVC 2008
      • Compiler: Microsoft Visual C++ Compiler 9.0 (x86)
      • Debugger: Détection automatique ...
      • Qt version: None
    • General tab
      • Uncheck: Toujours compiler et déployer le projet
      • Uncheck: Toujours déployer le projet avant de l'exécuter

Importer un projet et compiler

  • File → Open File or Project
  • Open CMakeLists.txt qui est dans le plus haut niveau de la source
  • Ceci démarre CMake
  • Choisissez créer le répertoire et cliquez sur suivant
  • Ensemble de générateurs de NMake Generator (MSVC 2008)
  • Cliquez sur Démarrer CMake. Suivez les instructions décrites ci-dessus pour configurer CMake à votre convenance.

Maintenant FreeCAD est construit

  • Build → Build All
  • Ceci peut prendre du temps...

Une fois terminé, il peut être exécuté: Il y a 2 triangles verts en bas à gauche. Un est pour la mise au point. L'autre est pour l'exécution. Faites votre choix.

Compilation en ligne de commande

Les étapes pour compiler à partir de la ligne de commande dépendent du compilateur. Pour MSVC 2017, les étapes sont les suivantes:

  1. Dans le menu Démarrer de Windows, accédez à Visual Studio 2017 → Outils Visual Studio et choisissez Invite de commande du développeur pour VS 2017.
  2. Allez dans votre dossier de construction.
  3. Exécute la commande
msbuild ALL_BUILD.vcxproj /p:Configuration=Release

ou

msbuild INSTALL.vcxproj /p:Configuration=Release

Ces étapes peuvent également être automatisées. Voici par exemple une solution pour MSVC 2017 :

  1. Téléchargez le script compile-FC.txt.
  2. Le renommer en compile-FC.bat
  3. Dans l'explorateur de fichiers de Windows, faites Shift+Cliquez-droit sur votre dossier de construction et utilisez-le dans le menu contextuel Invite de commandes ici.
  4. Exécute la commande
compile-FC install

Au lieu d'appeler compile-FC avec l'option installer, vous pouvez aussi utiliser déboguer ou release :

déboguer   - compiler FreeCAD dans la configuration de débogage

release - compiler FreeCAD dans la configuration de release

install   - compiler FreeCAD dans la configuration de la version et créer une installation

Exécution et installation de FreeCAD

Il existe 2 méthodes pour exécuter la compilation de FreeCAD :

Method 1 : Vous exécutez FreeCAD.exe que vous trouvez dans votre dossier de construction qui se trouve dans le sous-dossier bin

Method 2 : Vous construisez la cible INSTALL

La méthode 2 est la plus simple, car elle assure automatiquement que toutes les bibliothèques requises pour exécuter FreeCAD.exe se trouvent dans le bon dossier. FreeCAD.exe et les bibliothèques seront sortis dans le dossier que vous avez spécifié dans la variable CMake CMAKE_INSTALL_PREFIX.

Pour la méthode 1, vous devez activer les options FREECAD_COPY_* mentionnées dans l'étape configuration avec CMake ci-dessus.

Dépannage

Lors de l'exécution de FreeCAD, vous pouvez rencontrer des DLLs manquantes lors de l'utilisation de certains ateliers ou fonctionnalités d'ateliers. Le message d'erreur dans la console de FreeCAD ne vous dira pas quelle DLL est manquante. Pour le savoir, vous devez utiliser un outil externe :

import os
os.system(r"~DependenciesGui.exe")

Note : Au lieu du ~, vous devez spécifier le chemin complet du DependenciesGui.exe sur votre système.

  • Faites maintenant glisser le fichier *.pyd de l'atelier avec lequel vous obtenez des DLLs manquantes signalées.

Mise à jour de la compilation

FreeCAD est très activement développé. Par conséquent, son code source change presque quotidiennement. De nouvelles fonctionnalités sont ajoutées et des bugs corrigés. Pour bénéficier de ces modifications du code source, vous devez reconstruire votre FreeCAD. Cette reconstruction se fait en deux étapes:

  1. Mise à jour du code source
  2. Recompilation

Mise à jour du code source

Utiliser une interface

Lorsque vous utilisez le Git frontend TortoiseGit :

  1. Dans l'explorateur de fichiers Windows faites clic droit sur le dossier de code source FreeCAD et sélectionnez dans le menu contextuel Pull.
  2. Une boîte de dialogue apparaîtra. Sélectionnez la branche de développement que vous souhaitez obtenir. master est la branche principale. Par conséquent, utilisez la sauf si vous voulez compiler une nouvelle fonctionnalité spéciale à partir d'une branche qui n'a pas encore été fusionnée avec maître. (Pour plus d'informations sur les branches Git, consultez Processus de développement Git).

Cliquez enfin sur OK.

Utiliser la ligne de commande

Ouvrez un terminal (invite de commande) et accédez au répertoire source. Puis tapez :

git pull https://github.com/FreeCAD/FreeCAD.git master

master est le nom de la branche principale du développement. Si vous voulez obtenir le code d’une autre branche, utilisez son nom au lieu de master.

Recompilation

  1. Ouvrez l'EDI MSVC en double-cliquant sur le fichier FreeCAD.sln ou sur le fichier ALL_BUILD.vcxproj dans votre dossier de compilation.
  2. Continuer à l'étape 2 de la section Compilation avec Visual Studio 15 (2017) ou plus récent.

Mise à jour de LibPack

Si une nouvelle version majeure d'une dépendance tierce comme Open Cascade est publiée, ou si une dépendance tierce a des corrections de bogues importantes, un nouveau LibPack est publié. Vous pouvez trouver la dernière version ici.

Pour mettre à jour votre LibPack, la recette suivante est la meilleure pratique :

  1. Supprimez le dossier bin de votre dossier de compilation.
  2. Passez à votre dossier LibPack local et supprimez tout ce qui s'y trouve.
  3. Extrayez le contenu du nouveau fichier ZIP LibPack dans le dossier LibPack local existant, mais maintenant vide.
  4. Ouvrez CMake et appuyez sur le bouton Configure et ensuite sur le bouton Generate. Cela recrée le dossier bin que vous venez de supprimer et y copie également les nouveaux fichiers LibPack.
  5. Dans CMake, cliquez sur le bouton Open Project et l'IDE MSVC s'ouvrira.
  6. Dans l'IDE MSVC, construisez la cible INSTALL.

Outils

Pour rejoindre le développement FreeCAD, vous devez compiler et installer les outils suivants :

Le plugin Qt Designer

FreeCAD utilise Qt comme boîte à outils pour son interface utilisateur. Toutes les boîtes de dialogue sont configurées dans des fichiers UI qui peuvent être modifiés à l'aide du programme Qt Designer. Il fait partie de toute installation Qt et également inclus dans le LibPack. FreeCAD a son propre ensemble de widgets Qt pour fournir des fonctionnalités spéciales comme l'ajout d'une unité aux champs de saisie et pour définir les propriétés des préférences.

Compilation

Le plugin ne peut pas être chargé par le Qt Designer s'il a été compilé en utilisant une autre version de Qt que celle sur laquelle votre Qt Designer/Qt Creator est basé. Par conséquent, le plugin doit être compilé en même temps que FreeCAD :

  • Dans les options CMake (voir cette section ci-dessus) activez l'option BUILD_DESIGNER_PLUGIN et reconfigurez.
  • Ouvrez MSVC et construisez la cible FreeCAD_widgets.

Le résultat est le fichier du plugin FreeCAD_widgets.dll dans le dossier
~src\Tools\plugins\widget\Release

Installation

Pour installer le plugin, copiez la DLL soit vers :

  • Si vous utilisez le LibPack : dans le dossier
    ~\FreeCADLibs_2_8_x64_VC2019\plugins\designer
  • Si vous avez une installation complète de Qt : vous pouvez choisir entre le dossier
    C:\Qt\5.15.2\msvc2019_64\plugins\designer
    ou
    C:\Qt\5.15.2\msvc2019_64\bin\designer (vous devez d'abord créer le sous-dossier designer.)
    (adaptez les chemins à votre installation !).

Enfin, (re)lancez Qt Designer et vérifiez son menu Help → Plugins. Si le plugin FreeCAD_widgets.dll est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD, sinon vous devez compiler vous-même la DLL.

Si vous préférez utiliser Qt Creator au lieu de Qt Designer, le fichier du plugin doit être placé dans ce dossier :
C:\Qt\Qt5.15.2\Tools\QtCreator\bin\plugins\designer
Puis (re)lancez Qt Creator Qt Creator, passez en mode Design puis vérifiez le menu Tools → Form Editor → About Qt Designer Plugins. Si le plugin FreeCAD_widgets.dll est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD. Sinon, vous devez compiler vous-même la DLL.

Fournisseur de vignettes

FreeCAD a la fonctionnalité de fournir des vignettes d'aperçu pour les fichiers *.FCStd. Cela signifie que dans l'explorateur de fichiers Windows, les fichiers *.FCStd sont affichés avec une capture d'écran du modèle qu'il contient. Pour fournir cette fonctionnalité, FreeCAD doit avoir le fichier FCStdThumbnail.dll installé sur Windows.

Installation

La DLL est installée de cette façon :

  1. Téléchargez ce fichier ZIP et extrayez-le.
  2. Ouvrez une invite de commande Windows avec des privilèges d'administrateur (ces privilèges sont obligatoires).
  3. Accédez au dossier où se trouve la DLL.
  4. Exécutez cette commande
    regsvr32 FCStdThumbnail.dll
    

Vérifiez donc si cela fonctionne, assurez-vous que dans FreeCAD, l'option de préférences Enregistrer la miniature dans le fichier de projet lors de l'enregistrement du document est activée et enregistre un modèle. Affichez ensuite dans l'Explorateur Windows le dossier du modèle enregistré à l'aide d'une vue de symboles. Vous devriez maintenant voir une capture d'écran du modèle dans la vue des dossiers.

Compilation

Pour compiler le FCStdThumbnail.dll

  1. Accédez au dossier source FreeCAD
    ~\src\Tools\thumbs\ThumbnailProvider
  2. Ouvrez l'interface graphique de CMake
  3. Spécifiez là comme dossier source celui dans lequel vous vous trouvez actuellement.
  4. Utilisez le même dossier que le dossier de construction.
  5. Cliquez sur Configure
  6. Dans la boîte de dialogue qui apparaît, spécifiez le générateur en fonction de celui que vous souhaitez utiliser. Pour le MS Visual Studio standard, utilisez Visual Studio xx 2yyy où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut Use default native compilers.
    Remarque: Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.
  7. Cliquez sur Generate.
  8. Vous devriez maintenant avoir le fichier ALL_BUILD.vcxproj dans le dossier ~\src\Tools\thumbs\ThumbnailProvider. Double-cliquez dessus et l'IDE MSVC s'ouvrira.
  9. Dans la barre d'outils de l'EDI MSVC, assurez-vous que vous utilisez la cible de compilation Release.
  10. Il y a une fenêtre appelée Solution Explorer. Faites un clic droit là-bas sur ALL_BUILD puis choisissez Build.
  11. En conséquence, vous devriez maintenant avoir un FCStdThumbnail.dll dans le dossier ~\src\Tools\thumbs\ThumbnailProvider\release que vous pouvez installer comme décrit ci-dessus.

Compilation d'Open Cascade

LibPack est livré avec une version d'Open Cascade qui convient à une utilisation générale. Cependant, dans certaines circonstances, vous pouvez souhaiter compiler avec une autre version d'Open Cascade, comme l'une de leurs versions officielles, ou un fork patché.

Lorsque vous compilez Open Cascade pour FreeCAD, notez qu'il n'y a aucune garantie que FreeCAD fonctionnera avec toutes les versions d'Open Cascade. Notez également que lorsque vous utilisez la bibliothèque Netgen, vous devez utiliser la version NetGen approuvée pour la compilation avec la version d'Open Cascade que vous souhaitez compiler.

Pour compiler :

  • Ensuite, ouvrez l'interface graphique de CMake pour configurer le système de compilation d'une manière similaire à la compilation de FreeCAD. Ces options CMake doivent être définies (ou ne pas être définies explicitement) :
Nom de la variable Description Valeur par défaut
3RDPARTY_DIR Le chemin vers les composants tiers. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé. Laissez explicitement ce champ vide. vide
3RDPARTY_DOXYGEN_EXECUTABLE Le chemin vers l'exécutable du composant tiers Doxygen. Il est recommandé d'installer Doxygen. CMake le trouvera alors automatiquement. vide
3RDPARTY_FREETYPE_DIR Le chemin vers le composant tiers nécessaire Freetype. Il est recommandé d'utiliser comme entrée le dossier où se trouve votre LibPack utilisé. vide
3RDPARTY_RAPIDJSON_DIR Uniquement disponible si USE_RAPIDJSON est utilisé. Le chemin vers le composant tiers RapidJSON. Il est recommandé de NE PAS utiliser un dossier LibPack existant comme entrée. Vous pouvez utiliser le dossier RapidJSOn d'un LibPack, mais copiez-le dans un nouveau dossier et utilisez ce nouveau dossier comme entrée. vide
3RDPARTY_TCL_DIR Le chemin vers le composant tiers nécessaire TCL. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des ces versions, extrayez-la et prenez-la comme dossier d'entrée pour CMake. vide
3RDPARTY_TK_DIR Le chemin vers le composant tiers nécessaire TK. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des ces versions, extrayez-la et prenez-la comme dossier d'entrée pour CMake. vide
3RDPARTY_VTK_DIR Uniquement disponible si USE_VTK est utilisé. Le chemin vers le composant tiers nécessaire VTK. Il est recommandé d'utiliser le dossier en entrée où se trouve votre LibPack utilisé. Si vous utilisez un autre dossier, assurez-vous que vous n'utilisez pas VTK 9.x ou plus récent. Vide
BUILD_RELEASE_DISABLE_EXCEPTIONS Désactive la gestion des exceptions pour les builds de version. Pour FreeCAD vous devez le régler sur OFF. ON
INSTALL_DIR Le dossier de sortie lors de la construction de la cible INSTALL. Si la construction a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack. Dossier d'installation du programme par défaut de Windows
INSTALL_DIR_BIN Le sous-dossier de sortie pour la DLL lors de la construction de la cible INSTALL. Vous devez le remplacer par bin. win64/vc14/bin
INSTALL_DIR_LIB Le sous-dossier de sortie pour les fichiers .lib lors de la construction de la cible INSTALL. Vous devez le remplacer par lib. win64/vc14/lib
USE_RAPIDJSON Pour compiler Open Cascade avec le support de RapidJSON. L'activation de cette option est obligatoire pour obtenir le support du format de fichier glTF. OFF
USE_VTK Pour compiler Open Cascade avec le support de VTK. L'activation de cette option est optimale. Vous pouvez l'utiliser pour construire le pont VTK d'Open Cascade. OFF
  • Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD puis INSTALL en mode Release.
  • Répétez la construction des deux cibles en mode Debug.

Pour compiler FreeCAD en utilisant Open Cascade auto-compilé, vous devez effectuer les opérations suivantes :

  • Copiez tous les dossiers de INSTALL_DIR dans votre dossier LibPack (écrasez les fichiers existants).
  • Passez au dossier LibPack et allez dans le sous-dossier cmake.
  • Ouvrez-y le fichier OpenCASCADEDrawTargets.cmake avec un éditeur de texte.
  • Cherchez-y les chemins absolus vers votre dossier LibPack et supprimez-les. Ainsi, par exemple, le chemin absolu
    D:/FreeCADLibs_12.5.4_x64_VC17/lib/freetype.lib
    devient simplement
    freetype.lib
  • Faites de même pour le fichier OpenCASCADEVisualizationTargets.cmake

Compilation de Netgen

LibPack est livré avec une version de Netgen qui a été testée pour être construite avec la version Open Cascade du LibPack. Le problème est que chaque nouvelle version de Netgen modifie l'API. De même, chaque nouvelle version d'Open Cascade fait de même. Par conséquent, on ne peut pas changer facilement la version de Netgen.

Cependant, vous pouvez tout de même construire Netgen. C'est une tâche facile :

  • Tout d'abord, procurez-vous le code source de Netgen, soit directement à partir de Dépôt git de Netgen.
  • Ensuite, ouvrez l'interface graphique CMake pour configurer le système de compilation de manière similaire à la construction de FreeCAD. Les options CMake suivantes doivent être définies :
Nom de la variable Description Valeur par défaut
CMAKE_INSTALL_PREFIX Le dossier de sortie lors de la compilation de la cible INSTALL. Si la compilation a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack. C:/netgen
OpenCasCade_DIR Le chemin vers les fichiers CMake d'Open Cascade. Si vous avez compilé Open Cascade comme décrit dans la section Compilation d'Open Cascade, vous pouvez utiliser le sous-dossier cmake du dossier que vous avez utilisé comme INSTALL_DIR. Sinon, utilisez le sous-dossier cmake de votre LibPack. Notez que le LibPack doit alors déjà contenir une compilation correcte d'Open Cascade. Indépendamment du dossier que vous utilisez, vous devez maintenant y créer un sous-dossier lib et y copier les fichiers freetype.lib et freetyped.lib de votre LibPack. vide
USE_GUI Mettez-le sur OFF. ON
USE_NATIVE_ARCH Mettez la valeur OFF ; ceci n'est nécessaire et important que pour supporter les anciens processeurs qui n'ont pas le jeu d'instructions AVX2. ON
USE_OCC Mettez-le sur ON. OFF
USE_PYTHON Mettez-le sur OFF. ON
USE_SUPERBUILD Mettez-le sur OFF. ON
ZLIB_INCLUDE_DIR Le chemin vers le composant tiers nécessaire zlib. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé. vide
ZLIB_LIBRARY_DEBUG Le chemin vers le fichier ZLib zlibd.lib. Il est situé dans le sous-dossier lib de votre dossier LibPack. vide
ZLIB_LIBRARY_RELEASE Le chemin vers le fichier ZLib zlib.lib. Il est situé dans le sous-dossier lib de votre dossier LibPack. vide
  • De plus, vous devez ajouter une nouvelle entrée CMake :

nom : CMAKE_DEBUG_POSTFIX, type : string, contenu : _d
Cela garantit que les noms de fichiers des bibliothèques de débogage ont un autre nom que les bibliothèques de publication et ne peuvent pas être échangés accidentellement par la suite.

  • Appuyez sur le bouton Configure dans CMake pour générer les fichiers *.cmake.
  • Seulement nécessaire si des CPU plus anciens doivent être supportés qui n'ont pas le jeu d'instructions AVX2 :
    • Recherchez dans votre dossier de construction Netgen le fichier netgen-targets.cmake et ouvrez-le avec un éditeur de texte. Supprimez le paramètre ;/arch:AVX2 dans l'option INTERFACE_COMPILE_OPTIONS.
    • Appuyez à nouveau sur le bouton Configure dans CMake.
  • Appuyez sur le bouton Generate dans CMake.
  • Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD et ensuite INSTALL en mode Release.
  • Répétez la construction des deux cibles en mode Debug.

Pour compiler FreeCAD en utilisant l'auto-compilation de Netgen, vous devez faire ce qui suit :

  • Copiez tous les dossiers de CMAKE_INSTALL_PREFIX dans votre dossier LibPack (écrasez les fichiers existants).

Références

Voir aussi