Version 3.1.0 téléchargée depuis le site http://wxwidgets.org
mkdir build64
../configure
--prefix=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBWX
--enable-unicode --disable-shared
--enable-mediactrl=no
--with-macosx-version-min=10.9
make -j8; make install
Version 0.9.5 depuis https://github.com/utelle/wxpdfdoc/releases. La version 0.9.6, plus récente, n’a pas le même système de compilation.
./configure
--prefix=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBPDF
--with-wx-prefix=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBWX
--enable-unicode
--disable-shared
Utiliser les mêmes options que pour la compilation de wxWidgets !
il est également possible de compiler la version 0.9.7. Avant de pouvoir utiliser la même commande que ci-dessus, il est nécessaire de rajouter cette étape (fonctionne sous OSX Mojave) :
brew install autoconf automake libtool
autoreconf
PROJ : version 4.9.3
mkdir build
../configure
--prefix=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS
Pour Mojave et PROJ version 6.0.0, il est nécessaire d’installer pkg-config :
brew install pkg-config
GEOS : version 3.6.1
mkdir build
../configure
--prefix=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS
GDAL : version 2.1.3
./configure
--prefix=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS
--with-geos=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS/bin/geos-config
--with-static-proj4=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS
--with-sqlite3=yes
--with-python=no
--with-pg=no
--with-grass=no
--with-jasper=no
--with-jpeg=internal
--with-png=internal
Essai avec la version 10.1.23 de MariaDB
cmake .
-DCMAKE_INSTALL_PREFIX=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBSQL
-DPLUGIN_TOKUDB=NO
-DWITH_EMBEDDED_SERVER=1
-DDISABLE_SHARED=ON
Pour MySQL (5.7.18), voila la commande employée :
cmake .
-DCMAKE_INSTALL_PREFIX=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBMYSQL
-DWITH_UNIT_TESTS:BOOL=OFF
-DFEATURE_SET:STRING=small
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/Users/lucien/DATA/PROGRAMATION/_LIB/boost
La partie concernant boost, permet de télécharger la version nécessaire de boost et de l’installer.
Version utilisée : Visual Studio 2017
Lancer la commande vcvars64.bat
et executez toutes les commandes dans ce terminal.
Version 3.1.0 téléchargée depuis le site http://wxwidgets.org
naviguer jusqu’au répertoire wxWidgets/build/msv
lancez ensuite la commande suivante :
nmake -f makefile.vc BUILD=debug UNICODE=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=1 MONOLITHIC=1
copier les fichiers suivants :
lib\vc_lib\mswu\wx\setup.h
dans include\wx
lib\vc_lib\mswu\wx\msw\rcdefs.h
dans include\wx\msw
(conserver l’ancien en changeant son extension)
Version 0.9.5 depuis https://github.com/utelle/wxpdfdoc/releases.
depuis le répertoire wxPDFDocument/build
nmake -f makefile.vc
WX_DIR=P:\LIB\wxWidgets-3.1.0
WX_VERSION=31
WX_MONOLITHIC=1
WX_DEBUG=1
puis la même commande avec WX_DEBUG=0
Version 7.55.1 depuis https://curl.haxx.se/download.html
depuis le répertoire curl-7.55.1/winbuild:
nmake -f Makefile.vc mode=dll VC=14 MACHINE=x64 DEBUG=no
mkdir P:\programmation\LIB\_LIBCURL
xcopy ..\builds\libcurl-vc14-x64-release-dll-ipv6-sspi-winssl\*.* p:\programmation\LIB\_LIBCURL /E /Y
PROJ : version 4.9.3
nmake -f makefile.vc INSTDIR=P:\programmation\LIB\_LIBGIS
nmake -f makefile.vc INSTDIR=P:\programmation\LIB\_LIBGIS install-all
GEOS : version 3.6.1
Dans le répertoire de GEOS (geos-3.4.2) on lance la commande autogen.bat
Pour l’instant, GEOS ne reconnait pas automatiquement le compilateur Visual Studio 2017. Il faut donc rajouter les lignes suivantes dans le fichier nmake.opt aux alentours de la ligne 150, juste avant le !ELSE
!ELSEIF "$(_NMAKE_VER)" == "14.10.25019.0"
GEOS_MSVC = 15.0
GEOS_MSC = 1910
puis lancer la compilation avec
nmake -f makefile.vc WIN64=YES
Une version debug de GEOS peut être obtenue en rajoutant la commande suivante : BUILD_DEBUG=YES
GDAL version 2.2.0 (avril 2017)
Les différentes valeurs peuvent être éditées dans le fichier nmake.opt
ou alors passées en ligne de commande.
nmake -f makefile.vc MSVC_VER=1910
WIN64=1
GDAL_HOME=P:\programmation\LIB\_LIBGIS
GEOS_DIR=P:/programmation/LIB/geos-3.6.1
GEOS_CFLAGS="-I$(GEOS_DIR)/capi -I$(GEOS_DIR)/include -DHAVE_GEOS"
GEOS_LIB="$(GEOS_DIR)/src/geos_c_i.lib"
CURL_DIR=P:\programmation\LIB\_LIBCURL
CURL_INC="-I$(CURL_DIR)/include"
CURL_LIB="$(CURL_DIR)/lib/libcurl.lib wsock32.lib wldap32.lib winmm.lib"
puis la même commande suivie de install
puis encore une fois suivie de devinstall
Attention à bien respecter le sens des séparateurs de répertoire, comme dans la commande ci-dessus. GDAL_HOME doit être défini avec des “\” et le reste avec des “/”
Version 5.6.36. Visiblement il y a une petite erreur de compilation étant donné que l’on n’utilise pas le moteur PARTITION. Il faut donc modifier le fichier sql_table.cc
aux alentours de la ligne 2024 afin d’ajouter les deux lignes débutant avec des +
++++ #ifdef WITH_PARTITION_STORAGE_ENGINE
if (old_part_info)
{
lpt->table->file->set_part_info(old_part_info, false);
}
+++++ #endif
puis on peut lancer la compilation et l’installation avec :
mkdir bld
cd bld
cmake .. -G"Visual Studio 15 2017 Win64"
-DCMAKE_INSTALL_PREFIX=P:\programmation\LIB\_LIBMYSQL
-DWITH_UNIT_TESTS:BOOL=OFF
-DFEATURE_SET:STRING=small
cmake --build . --config relwithdebinfo
cmake --build . --config relwithdebinfo --target INSTALL
Version 7.54.0
cd winbuild
nmake /f Makefile.vc mode=dll VC=14 DEBUG=NO MACHINE=x64
Copier manuellement les répertoires bin
, include
et lib
qui ont été produits dans LIB/curl/builds/libcurl-vc.....
et les placer dans le répertoire LIB/_LIBCURL
La structure proposée pour ToolMap est la suivante :
├── bin
├── code
│ ├── <clone ToolMap repository here>
├── doc
│ ├── dev
│ │ └── <clone ToolMap Dev Doc repository here>
│ └── user
│ └── <clone ToolMap User Doc repository here>
└── unit_testing
Récupérer le code source de ToolMap avec la commande suivante git clone git@github.com:terranum-ch/ToolMap.git code
Le but est de construire les exécutables à l’extérieur de l’arbre du code. Depuis le répertoire bin
lancez la commande suivante :
cmake
-DSEARCH_GIS_LIB_PATH=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS
-DMYSQL_MAIN_DIR=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBSQL
-DSEARCH_WXPDFDOCUMENT_PATH=/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBPDF
-DSEARCH_GEOS=1
-DSEARCH_GDAL=1
../code
make -j<nombre de coeurs>
Sous OSX, la commande suivante est également nécessaire afin d’installer les librairies dans le bundle et de corriger les liens de ces dernières
make install
pour avoir le support pour les tests unitaires il faut rajouter la commande ci-dessous avant les “..” lors de la phase de création du projet :
-DUSE_UNITTEST=1
-DUNIT_TESTING_PATH=/Users/lucien/DATA/PRJ/TOOLMAP2/unit_testing
-DCXXTEST_INCLUDE_DIR=/Users/lucien/DATA/PROGRAMATION/_LIB/cxxtest-4.4
-DCXXTEST_PYTHON_TESTGEN_EXECUTABLE=/Users/lucien/DATA/PROGRAMATION/_LIB/cxxtest-4.4/bin/cxxtestgen
Les tests peuvent être lancés avec la commande
ctest -V
Le programme d’installation pour OSX (fichier DMG) peut être créé avec la commande suivante :
cpack -B /chemin/destination/programme/installation
TODO: Le programme d’installation pour Linux n’est pas encore opérationnel, mais il devrait s’agir d’une image AppImage fonctionnant sous la majorité des Linux.
Depuis le répertoire bin
lancez la commande suivante :
set WXWIN=P:\programmation\LIB\wxWidgets-3.1.0
cmake
-G"Visual Studio 15 2017 Win64"
-DSEARCH_GIS_LIB_PATH=P:\programmation\LIB\_LIBGIS
-DSEARCH_GEOS_PATH=P:\programmation\LIB\geos-3.6.1
-DSEARCH_CURL_PATH=P:\programmation\LIB\_LIBCURL
-DMYSQL_MAIN_DIR=P:\programmation\LIB\_LIBMYSQL
-DSEARCH_WXPDFDOCUMENT_PATH=P:\programmation\LIB\wxpdfdoc-0.9.5
-DSEARCH_GEOS=1
-DSEARCH_GDAL=1
..\code
Pour ne construire le projet ToolMap ainsi que les tests il est possible de lancer la commande :
cmake --build . --config relwithdebinfo
Pour ne pas construire les tests :
cmake --build . --target ToolMap --config relwithdebinfo
La compilation s’effectue par défaut avec tous les coeurs disponibles.
Pour activer le support pour les tests unitaires, il faut rajouter la commande ci-dessous avant les “..” lors de la création du projet :
-DUSE_UNITTEST=1
-DUNIT_TESTING_PATH=P:\programmation\ToolMap\test_data
-DCXXTEST_INCLUDE_DIR=P:\programmation\LIB\cxxtest-4.3
-DCXXTEST_PYTHON_TESTGEN_EXECUTABLE=P:\programmation\LIB\cxxtest-4.3\bin\cxxtestgen
Alternativement, si UNIT_TESTING_PATH n’est pas renseigné, les fichiers tests sont automatiquement téléchargés.
Pour lancer les tests il faut lancer la commande suivante dans le répertoire bin/test
:
ctest -V
Il est nécessaire d’installer le programme NSIS (http://nsis.sourceforge.net/Main_Page) puis le programme d’installation pour Windows peut être créé avec la commande suivante:
cpack -C relwithdebinfo
Pour faire un fichier ZIP (utile pour installer sans les permissions)
cpack -G ZIP -C relwithdebinfo
TODO: Afin de pouvoir diagnostiquer les éventuels crash, il est nécessaire de conserver les fichiers PCH créés lors de la compilation
Il est possible de reprendre les options mentionnées ci-dessus, cepandant il faut noter que :
Installer le plugin CMake ainsi que CMake Tools
Glisser - déposer le répertoire contenant le code dans visualstudio code.
Editer le fichier de préférence (paramètres de l’espace de travail) et rajoutez ces options :
"cmake.sourceDirectory": "${workspaceRoot}/build",
"cmake.buildDirectory": "${workspaceRoot}/../bin",
"cmake.generator": "Unix Makefiles",
"cmake.configureArgs": [
"SEARCH_GIS_LIB_PATH":"Users/lucien/DATA/PROGRAMATION/_LIB/_LIBGIS",
"MYSQL_MAIN_DIR": "/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBSQL",
"SEARCH_WXPDFDOCUMENT_PATH": "/Users/lucien/DATA/PROGRAMATION/_LIB/_LIBPDF",
"DSEARCH_GEOS": "1",
"DSEARCH_GDAL": "1"
]
Lancez la compilation avec F7