Si vous souhaitez compiler Computree à partir du code source, voici la procédure à suivre.

Pré-requis

Sur votre système, les éléments suivants doivent être installés :

Un Compilateur C++

Sous Windows, il faut installer le compilateur C++ de Microsoft Visual Studio 2022 64bits (MSVC2022), disponible dans Visual Studio Community. Il faut choisir le composant Développement Desktop en C++, en activant a minima :

  • Kit de développement logiciel (SDK) Windows 11 (10.xxx)
  • MSVC v143 – VS 2022 C++

Sous Linux, le compilateur GCC (version >= 9.3) est normalement déjà disponible par défaut. Sinon, l’installer avec la commande :

sudo apt-get install build-essential

Sous MacOS X, il faut installer Apple Xcode, puis les outils de développement en lançant depuis un terminal :

command xcode-select --install

QtCreator et Qt

Il faut installer Qt version 5.15.2, disponible en version open-source ici

Un client Subversion (SVN)

Il faut installer un client Subversion (SVN), comme par exemple :

  • TortoiseSVN sous Windows
  • ou le paquet subversion sous Linux ou MacOS X :
sudo apt install subversion

Récupération des codes sources

Pour mettre en place l’environnement de dévleloppement Computree, il faut d’abord créer un dossier racine pour Computree, classiquement nommé « computree » (mais ce nom est libre). C’est dans ce dossier que seront récupérés les dépôts de code source de la plateforme et de ses plugins.

Pour récupérer les codes sources de la plateforme et des plugins distribués en standard (checkout SVN), il faut exécuter, dans le dossier racine computree, les commandes suivantes :

    svn checkout http://rdinnovation.onf.fr/svn/computreev6/            computreev6
    svn checkout http://rdinnovation.onf.fr/svn/plugin-onf/dev_v6/      pluginonf
    svn checkout http://rdinnovation.onf.fr/svn/plugin-mk/dev_v6/       pluginmk
    svn checkout http://rdinnovation.onf.fr/svn/plugin-toolkit/dev_v6/  plugintoolkit
    svn checkout http://rdinnovation.onf.fr/svn/segma/dev_v6/           pluginsegma
    svn checkout http://rdinnovation.onf.fr/svn/plugin-generate/dev_v6/ plugingenerate
    svn checkout http://rdinnovation.onf.fr/svn/plugin-onf-dev/dev_v6/  pluginonfdev
    svn checkout http://rdinnovation.onf.fr/svn/plugin-ign-lif/dev_v6/  pluginignlif

Cela va créer un sous-dossier principal computreev6 contenant tous les éléments du coeur de la plateforme. Ce dossier ne doit pas être renommé. Ensuite un sous-dossier est créé pour chaque plugin Computree. Seul le dépôt computreev6 est strictement indispensable. Les autres dépôts à récupérer dépendent des plugins que l’on souhaite compiler.

Il faut ensuite exécuter le script create_plugins_pro.bat (sous Windows) ou create_plugins_pro.sh (sous Linux ou MacOS X), situé dans le dossier computree/computreev6. Ce script créée le fichier projet Qt plugins.pro qui servira pour la compilation.

N.B. : A ce stade (ou ultérieurement dans QtCreator), vous pouvez retirer (en commentant les lignes correspondantes) ou ajouter des dossiers plugins à compiler dans le fichier plugins.pro créé.

Installation des dépendances

Sous Windows, l’installation des dépendances s’appuie sur VCPKG.

Installation de VCPKG

  • Télécharger la dernière version (code source) de VCPKG ici.
  • Décompresser l’archive dans un dossier permanent dédié (par exemple c:/vcpkg)
  • Dans ce dossier, double-cliquer sur bootstrap-vcpkg.bat pour l’exécuter
  • Ajouter en variables d’environnement suivantes (dans le menu démarrer, chercher Modifier les variables d’environnement systèmes, puis cliquer sur le bouton Variables d’Environnement) :
    • Ajouter une ligne au PATH, contenant le chemin du dossier vcpkg (par exemple c:/vcpkg)
    • Créer une nouvelle variable VCPKG, contenant le chemin du dossier des packages installés par vcpkg (par exemple c:/vcpkg/intalled/x64-windows)

Téléchargement et compilation des dépendances : dans un terminal (chercher CMD dans le menu démarrer), exécuter les commandes suivantes :

vcpkg install eigen3    --clean-after-build --triplet x64-windows
vcpkg install muparser  --clean-after-build --triplet x64-windows
vcpkg install opencv    --clean-after-build --triplet x64-windows
vcpkg install opengl    --clean-after-build --triplet x64-windows
vcpkg install laszip    --clean-after-build --triplet x64-windows
vcpkg install nanoflann --clean-after-build --triplet x64-windows
vcpkg install gsl       --clean-after-build --triplet x64-windows
vcpkg install boost     --clean-after-build --triplet x64-windows
vcpkg install flann     --clean-after-build --triplet x64-windows
vcpkg install qhull     --clean-after-build --triplet x64-windows
vcpkg install pcl       --clean-after-build --triplet x64-windows
vcpkg install gdal      --clean-after-build --triplet x64-windows --recurse
vcpkg install pdal      --clean-after-build --triplet x64-windows

N.B. : Toutes les dépendances sont téléchargées et compilées. Cela peut prend un temps important (potentiellement plusieurs heures).

 

Sous Linux, il faut installer les paquets suivants :

sudo apt install libeigen3-dev
sudo apt install libmuparser-dev
sudo apt install libgdal-dev gdal-bin
sudo apt install libopencv-dev python3-opencv
sudo apt install libpcl-dev
sudo apt install libboost-all-dev
sudo apt install libgsl-dev gsl-bin
sudo apt install libqhull-dev
sudo apt install libflann-dev
sudo apt install liblaszip-dev

 

Sous MacOS X, il faut installer Brew puis installer les paquets suivants :

brew install eigen
brew install muparser
brew install gdal
brew install opencv
brew install pcl
brew install boost
brew install gsl
brew install qhull
brew install flann
brew install laszip

Compilation des traductions

Pour compiler les traductions (et donc pouvoir bénéficier d’une interface entièrement en Anglais ou entièrement en Français), il faut excécuter le script lrelease.bat (sous Windows) ou lrelease.sh (sous Linux ou MacOS X) situé dans le répertoire computree/computreev6. Ce script peut être ajusté en fonction des plugins à compiler.

N.B. : Un autre script lupdate.bat / lupdate.sh permet de mettre à jour les fichiers de traduction si le code a été modifié localement (à utiliser avant le script lrelease).

Configuration du projet Qt et compilation

La première étape consiste à ouvrir le fichier computree.pro, situé dans computree/computreev6, dans QtCreator. A l’ouverture QtCreator propose de configurer le projet : il faut choisir la bonne version de Qt et du compilateur, c’est à dire Qt 5.15.2 et, sous Windows, prendre la version MSVC 2022 64bits

Il faut ensuite aller dans l’onglet Projet de QtCreator pour configurer les options de compilation :

  1. Décocher « Shadow Build » pour le mode Debug et pour le mode Release
  2. Laisser le mode Release sélectionné
  3. Dans la configuration de Run (à gauche) ajouter une étape du type « Make », et avec l’argument « install »
  4. Sous Windows, dans la configuration Run (à gauche), section Environnement, ajouter le chemin vers vcpkg/installed/x64-windows/bin dans la variable Path (en utilisant le bouton Append).

Enfin, revenir sur l’onglet Editer et :

  1. Faire un clic droit sur le projet computree.pro, et cliquer sur Exécuter Qmake
  2. Lancer la compilation, avec le bouton Marteau en bas à gauche (ou clic droit, Compilation)
  3. Une fois la compilation terminée, lancer Computree, à l’aide du bouton Play.

N.B. : Ultérieurement, si des changements majeurs ont eu lieu dans le code source, il peut être nécessaire de refaire un Excécuter Qmake, puis Recompiler sur le projet computree.pro. Cette manipulation est à essayer si des problèmes commencent à survenir juste après une mise à jour du code source (update SVN).