Compile on Windows/it

Questo articolo spiega passo dopo passo come compilare FreeCAD 0.18 o piu alto su Windows.

Prerequisiti
Innanzitutto è necessario installare le seguenti librerie di annunci dei programmi richiesti:

Programmi richiesti

 * Git Ci sono una serie di alternative come GitCola, Tortoise Git, e altri.


 * CMake versione 3.11.x - 3.14.x. Nota: Di solito non si può prendere l'ultima versione di CMake. Pertanto, utilizzare solo una versione di CMake nell'intervallo specificato in questa pagina!

Si consiglia di utilizzare l'opzione Aggiungi CMake al PERCORSO di sistema per tutti gli utenti durante l'installazione di CMake. Quindi in seguito puoi accedere facilmente a CMake anche dalla riga di comando/powershell.


 * LibPack (chiamato anche FreeCADLibs). Questo è un insieme di librerie necessarie per compilare FreeCAD su Windows. A seconda della versione di FreeCAD che vuoi compilare, devi scaricare il LibPack corrispondente. Ad esempio per compilare FreeCAD 0.18, scarica la versione a 32 bit o 64 bit di LibPack for 0.18, per compilare l'ultima versione di sviluppo 0.19, scaricare il LibPack for 0.19 (esiste solo una versione a 64 bit).

Basta scaricare LibPack, decomprimerai e configurerai in seguito.

Nota: Si consiglia di utilizzare la stessa versione del compilatore  MS Visual Studio  (MSVC) per cui è progettato LibPack. Questo assicura che la compilazione e l'esecuzione del FreeCAD.exe compilato abbiano esito positivo. Quindi, ad esempio, dovresti essere in grado di compilare FreeCAD 0.18 usando LibPack per 0.19 e MSVC 15 ma potresti avere problemi a compilare FreeCAD 0.18 usando LibPack per 0.18 e MSVC 15 perché LibPack per 0.18 è progettato per essere costruito con MSVC 12.

Programmi opzionali

 * Python 3.x. Un'installazione separata di Python non è obbligatoria poiché LibPack contiene Python. Tuttavia, per poter testare successivamente la tua build di FreeCAD è utile avere un'installazione Python autonoma. Si consiglia di utilizzare non l'ultima versione, ma la versione precedente (ad esempio non Python 3.7 ma 3.6).


 * Un frontend GUI per Git. Ci sono diversi frontend disponibili, vedi this list. Il vantaggio principale di un frontend è che non devi imparare i comandi Git per ottenere il codice sorgente di FreeCAD o per inviare patch al repository GitHub di FreeCAD.

Di seguito descriviamo la gestione del codice sorgente usando il frontend TortoiseGit. Questo frontend si integra direttamente con Esplora file di Windows e dispone di una grande comunità di utenti per ricevere assistenza in caso di problemi.


 * NSIS Questo è il programma per generare il programma di installazione di Windows di FreeCAD. (Informazioni: per FreeCAD 0.17 e precedenti il programma WiX è stato utilizzato per creare il programma di installazione.)

Codice sorgente
Ora puoi ottenere il codice sorgente di FreeCAD:

Utilizzo di un frontend
Quando si utilizza il Git frontend TortoiseGit:
 * 1) Crea una nuova cartella in cui dovrebbe essere il codice sorgente.
 * 2) Fare clic con il tasto destro su questa cartella in Esplora file di Windows e selezionare nel menu contestuale Git Clone.
 * 3) Apparirà una finestra di dialogo. Usa lì come URL per il repository di FreeCAD

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

e clicca OK.

Ora il codice sorgente viene scaricato e la sua cartella diventa una cartella tracciata da Git.

Usando la riga di comando
Per creare un ramo locale e scaricare il codice sorgente è necessario aprire un terminale (prompt dei comandi) e portarsi nella directory in cui si desidera creare il sorgente, quindi digitare:

Compilatore
Il compilatore predefinito (consigliato) è MS Visual Studio (MSVC). Sebbene possa essere possibile utilizzare altri compilatori utilizzando Cygwin o MinGW gcc, non è stato testato o portato finora.

Puoi ottenere una versione gratuita di MSVC (per l'utilizzo di OpenSource) scaricando l'edizione "Community" di MS Visual Studio. Per fare ciò, utilizzare questo URL

https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=xx

dove xx è il numero di versione. Quindi per ottenere MSVC 15 (chiamato anche MSVC 2017), utilizzare questo URL:

https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15

Per chi vuole evitare l'installazione completa dell'ingombrante MSVC al solo scopo di avere un compilatore può vedere Compilare in Windows - Occupare meno spazio.

Nota: Nonostante l'edizione  Community  di MSVC sia gratuita, è necessario creare un account Microsoft dall'IDE MSVC che è possibile utilizzare l'IDE per più di 30 giorni. Se compilerai solo usando la riga di comando, non hai bisogno dell'IDE e quindi non hai un account Microsoft.

Come IDE alternativo gratuito e OpenSource puoi usare KDevelop. Puoi usare KDevelop per modificare e scrivere codice C ++ ma devi usare la riga di comando per compilare.

Optional System Path Configuration
programmi in queste cartelle dalla riga di comando / powershell o se si desidera trovare programmi speciali da parte del compilatore o di CMake. Oltre a ciò, potrebbe essere necessario aggiungere cartelle al PERCORSO se non si sono utilizzate le opzioni corrispondenti durante l'installazione del programma.


 * Puoi includere la cartella del tuo LibPack nella variabile PATH del tuo sistema. Ciò è utile se prevedi di creare più configurazioni / versioni di FreeCAD.
 * Se non hai utilizzato l'opzione per aggiungere CMake al PERCORSO durante l'installazione, aggiungi la sua cartella di installazione

C:\Program Files\CMake\bin to the PATH.
 * Se non hai utilizzato l'opzione per aggiungere TortoiseGit al PERCORSO durante l'installazione, aggiungi la sua cartella di installazione

C:\Program Files\TortoiseGit\bin to the PATH.

Per aggiungere percorsi di cartelle alla variabile PATH:
 * 1) Nel menu Start di Windows, fai clic con il pulsante destro del mouse su "Computer" e scegli "Proprietà".
 * 2) Nella finestra di dialogo visualizzata, fai clic su "Impostazioni di sistema avanzate".
 * 3) Si aprirà un'altra finestra di dialogo. Fare clic lì nella scheda  Avanzate  in Variabili d'ambiente.
 * 4) Ancora una volta si aprirà un'altra finestra di dialogo. Seleziona quindi la variabile  Percorso  e fai clic su Modifica.
 * 5) E di nuovo si aprirà un'altra finestra di dialogo. Fai clic su Nuovo e aggiungi al percorso la cartella di Git o LibPack.
 * 6) Infine premi OK e chiudi tutte le finestre di dialogo premendo anche OK.

LibPack
All'inizio devi impostare una cartella di build:
 * 1) Crea una nuova cartella in cui dovrebbe essere compilato FreeCAD. Si consiglia vivamente di non inserire questa cartella nella cartella del codice sorgente di FreeCAD.
 * 2) Crea lì una nuova sottocartella per il LibPack. Nota: Il nome di questa sottocartella deve essere uguale al nome del file LibPack. Se ad es. il LibPack ha il nome file FreeCADLibs_12.1.2_x64_VC15.7z, devi nominare la sottocartella FreeCADLibs_12.1.2_x64_VC15.
 * 3) Estrai il LibPack in questa sottocartella.

CMake
Ora devi configurare l'ambiente di compilazione usando CMake:
 * 1) Apri la GUI di CMake
 * 2) Specificare lì la cartella di origine di FreeCAD
 * 3) Specifica la cartella di creazione che hai appena creato nel passaggio precedente.
 * 4) Fai clic su Configura
 * 5) Nella finestra di dialogo visualizzata specificare il generatore in base a quello che si desidera utilizzare. Per MS Visual Studio standard usa Visual Studio xx 2yyy dove xx è la versione del compilatore e yyy l'anno della sua uscita. Si consiglia di utilizzare l'opzione predefinita Usa compilatori nativi predefiniti.

Nota: È importante specificare la variante di bit corretta. Se hai la variante a 64 bit di LibPack devi usare anche il compilatore x64.

Questo avvierà la configurazione e fallirà a causa delle impostazioni mancanti.

Se non riesce con il messaggio che Visual Studio non è stato trovato, il supporto CMake in MSVC non è ancora installato. Per farlo:
 * 1) Apri l'IDE MSVC
 * 2) Utilizza il menu Strumenti → Ottieni strumenti e funzionalità
 * 3) Nella scheda Carichi di lavoro abilita Sviluppo desktop con C++ 
 * 4) Sul lato destro ora dovresti vedere che il componente Strumenti Visual C++ per CMake sarà installato.
 * 5) Installalo.

Se non si verificano errori in Visual Studio, va tutto bene, ma CMake non conosce ancora tutte le impostazioni necessarie. Pertanto ora:
 * 1) Assicurati che l'opzione di ricerca Avanzate sia selezionata.
 * 2) Cerca in CMake la variabile FREECAD_LIBPACK_DIR e specifica la posizione corretta nella cartella LibPack.
 * 3) Cerca la variabile BUILD_QT5 e abilita questa opzione.
 * 4) Fai di nuovo clic su Configura

Ora non dovrebbero esserci errori. In tal caso, fai clic su Genera. Al termine, è possibile chiudere CMake e continuare ad avviare la compilazione di FreeCAD. Tuttavia, per la prima compilazione tienilo aperto per il caso che desideri o devi modificare alcune opzioni per il processo di compilazione:

Opzioni per il processo di compilazione
Il sistema di build CMake ci offre molta più flessibilità durante il processo di costruzione. Questo significa possiamo attivare e disattivare alcune funzioni o moduli. È come la compilazione del kernel di Linux. Hai un sacco di opzioni per determinare il processo di compilazione.

Ecco la descrizione di alcuni di questi interruttori. Molto probabilmente cambieranno molto in futuro perché vogliamo aumentare la flessibilità di costruzione molto di più.

Note: Some components are required for other components. If you for example uncheck BUILD_ROBOT CMake will inform you that then the component Path cannot be compiled correctly. Therefore check the CMake output after you changed a BUILD_XXX option! || depends
 * CMAKE_INSTALL_PREFIX  || The output folder when building the target INSTALL, see also section Running and installing FreeCAD || Windows' default program installation folder
 * FREECAD_COPY_DEPEND_DIRS_TO_BUILD || Copies the LibPack libraries needed to execute the FreeCAD.exe to the build folder. See also section Running and installing FreeCAD. || OFF
 * FREECAD_COPY_LIBPACK_BIN_TO_BUILD || Copies the LibPack binaries needed to execute the FreeCAD.exe to the build folder. See also section Running and installing FreeCAD. || OFF
 * FREECAD_LIBPACK_USE || Switch the usage of the FreeCAD LibPack on or off || ON
 * FREECAD_LIBPACK_DIR || Directory where the LibPack is || FreeCAD's source code folder
 * FREECAD_RELEASE_PDB || Create debug libraries also for release builds || ON
 * }
 * FREECAD_LIBPACK_USE || Switch the usage of the FreeCAD LibPack on or off || ON
 * FREECAD_LIBPACK_DIR || Directory where the LibPack is || FreeCAD's source code folder
 * FREECAD_RELEASE_PDB || Create debug libraries also for release builds || ON
 * }
 * FREECAD_RELEASE_PDB || Create debug libraries also for release builds || ON
 * }

Costruzione di FreeCAD
A seconda della configurazione corrente, il processo di creazione di FreeCAD sarà leggermente diverso. Ciò è dovuto alle differenze nelle versioni software e software disponibili per ciascun sistema operativo.

Building with Visual Studio 15 2017

 * 1) Start the Visual Studio IDE. This can either be done by pressing the button Open Project in the CMake GUI or by double-clicking on the file FreeCAD.sln that you find in your build folder.
 * 2) In the toolbar of the MSVC IDE assure that you use for the first compilation Release.
 * 3) There is a window called Solution explorer. it lists all possible compilation targets.

To start a full compilation, right-click on the target ALL_BUILD and then choose Build. This will now take quite a long time.

To compile a ready-to use FreeCAD, compile the target INSTALL, see section Running and installing FreeCAD.

If you don't get any errors you are done. Congratulations! You can exit MSVC or keep it open.

Costruire con Visual Studio 12 2013
Assicurati di specificare Visual Studio 12 x64 (o il C-Compiler alternativo che stai utilizzando) come generatore in CMake prima di continuare.


 * Avviare Visual Studio 12 2013 facendo clic sull'icona del desktop creata durante l'installazione.

File → Open → Project/Solution
 * Apri il progetto da:


 * Aprire FreeCAD_Trunk.sln dalla cartella di creazione creata da CMake

Questo potrebbe richiedere del tempo a seconda del sistema
 * Passa al menu a discesa Configurazione soluzioni in alto a Rilascia X64


 * Build → Build Solution


 * Ci vorrà molto tempo ...

Se non ricevi errori, hai finito. Uscire da Visual Studio e avviare FreeCAD facendo doppio clic sull'icona di FreeCAD nella cartella bin della directory di build.

Installazione e configurazione di Qt Creator

 * Scarica e installa Qt Creator
 * Strumenti → Opzioni → Editor di testo → scheda Comportamento:
 * Codifica dei file → Codifiche predefinite:
 * Impostato su: ISO-8859-1 /...csISOLatin1 (Alcuni caratteri creano errori / avvertimenti con Qt Creator se lasciato impostato su UTF-8. Questo sembra risolverlo.)
 * Strumenti → Opzioni → Crea ed esegui:
 * Scheda CMake
 * Riempi la casella Eseguibile con il percorso di cmake.exe
 * Scheda Kit
 * Nome: MSVC 2008
 * Compilatore: Microsoft Visual C++ Compiler 9.0 (x86)
 * Debugger: rilevato automaticamente ...
 * Versione Qt: Nessuna
 * Scheda Generale
 * Deselezionare: crea sempre un progetto prima di distribuirlo
 * Deselezionare: distribuire sempre il progetto prima di eseguirlo

Importa progetto e crea

 * File → Apri file o progetto
 * Apri CMakeLists.txt che si trova nel livello più alto della fonte
 * Questo avvierà CMake
 * Scegli la cartella di costruzione e fai clic su Avanti
 * Imposta generatore su NMake Generator (MSVC 2008)
 * Clicca Esegui CMake. Segui le istruzioni illustrate sopra per configurare CMake a tuo piacimento.

Ora è possibile creare FreeCAD
 * Build → Build All
 * Ci vorrà molto tempo ...

Una volta completato, può essere eseguito: Ci sono 2 triangoli verdi in basso a sinistra. Uno è il debug. L'altro è eseguito. Scegli quello che vuoi.

Configurazione della riga di comando
The steps how to compile from the command line depends on the compiler. For MSVC 2017 the steps are:
 * 1) In Windows' start menu go to  and choose Developer Command Prompt for VS 2017
 * 2) Change to your build folder.
 * 3) Execute the command

or

Ecco un esempio su come creare FreeCAD dalla riga di comando:

Instead of calling compile-FC with the option install you can also use debug or release:

debug  - compile FreeCAD in debug configuration

release - compile FreeCAD in release configuration

install   - compile FreeCAD in release configuration and create an install setup

Running and installing FreeCAD
There are 2 methods to run the compiled FreeCAD:

Method 1: You execute the FreeCAD.exe that you find in your build folder in the subfolder bin

Method 2: You build the target INSTALL

Method 2 is the simpler one because it automatically assures that all libraries needed to run the FreeCAD.exe are in the correct folder. The FreeCAD.exe and the libraries will be output in the folder you specified in the CMake variable CMAKE_INSTALL_PREFIX.

For Method 1 you need to put the libraries into the bin folder of your build folder (where the FreeCAD.exe is). This can easily be done:
 * 1) Open the CMake GUI.
 * 2) Search there for the variable option FREECAD_COPY_DEPEND_DIRS_TO_BUILD and check it.
 * 3) Search there for the variable option FREECAD_COPY_LIBPACK_BIN_TO_BUILD and check it.
 * 4) Click on Configure. At the end of the configuration CMake will automatically copy the necessary libraries from the LibPack folder.

For FreeCAD 0.19 there is currently only one issue that requires manual action:
 * 1) Download the file qwindowsvistastyle.zip from the FreeCAD forum.
 * 2) Create a new subfolder named styles in the bin folder (where the FreeCAD.exe is).
 * 3) Extract the ZIP-file to this folder.

This adds the necessary style to make FreeCAD look like a normal Win 10 program. Otherwise it looks like in Windows 98.

Updating the build
FreeCAD is very actively developed. Therefore its source code changes almost daily. New features are added and bugs are fixed. To benefit from these source code changes, you must rebuild your FreeCAD. This is done in two steps:
 * 1) Updating the source code
 * 2) Recompilation

Using a frontend
When using the Git frontend TortoiseGit:
 * 1) Right-click on your FreeCAD source code folder in the Windows file explorer and select in the context menu Pull.
 * 2) A dialog will appear. Select there what development branch you want to get. master is the main branch. Therefore use this unless you want to compile a special new feature from a branch that has not yet been merged to master. (For more about Git branches, see Git development process.)

Finally click OK.

Using the command line
Open a terminal (command prompt) and switch there to your source directory. Then type:

where master the the name of the main development branch. If you want to get code from another branch, use its name instead of master.

Recompilation

 * 1) Open the MSVC IDE by double-clicking either on the file FreeCAD.sln or on the file ALL_BUILD.vcxproj in your build folder.
 * 2) Continue with step 2 from section Building with Visual Studio 15 2017.

Riferimenti

 * Vedere anche Compilare in Windows con Visual Studio 2013
 * Velocizzare la compilazione