Si suggerisce di utilizzare Bash on Ubuntu on Windows solo a partire dalla build 15063 (Creators Update)
- Se non è già installato nel sistema, installare chocolatey
- Se nel sistema Windows non è già presente un server X, installarlo con questa procedura: aprire Powershell in modalità amministratore e quindi digitare
PS \> cinst -y vcxsrv
- lanciare VcXsrv (è necessario che sia aperto ogni volta che si lanciano processi grafici dentro la bash!)
- Se non ancora abilitato, attivare UoW seguendo la guida ufficiale
- aprire la Bash ed abilitarne il funzionamento con VcXsrv con il seguente comando
echo -e "\n export DISPLAY=localhost:0.0 \n" >> ~/.bashrc
- Seguire infine la guida per Ubuntu
- Definire una cartella di lavoro, che chiameremo WORKSPACE d'ora in poi: questa sarà una cartella "Codice" nella nostra home, oppure una cartella "code" sul desktop, tutto a vostro piacimento. Createla, se non ce l'avete già, nel modo preferito (mkdir da bash, oppure direttamente dall'interfaccia grafica col mouse). Standardizzeremo il funzionamento dei nostri script indipendentemente dalla posizione di questa cartella definendo a tal proposito una variabile d'ambiente. Attenzione a sapere esattamente il path assoluto di questa cartella, che assomiglierà ad una cosa del tipo
/home/$(whoami)/codice/
- Aprire quindi un terminale bash e digitare (sostituire
/path/completo/alla/nostra/cartella
con il path che abbiamo appena stabilito)
echo -e "\n export WORKSPACE=/path/completo/alla/nostra/cartella \n" >> ~/.bashrc
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y g++ cmake make git dos2unix ninja-build
git config --global core.autocrlf input
git clone https://github.com/physycom/sysconfig
sudo apt-get install -y libboost-all-dev libfltk1.3-dev freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev libxinerama-dev libjpeg-dev libxi-dev libxmu-dev libcurl4-openssl-dev
- Aprire un terminale bash e digitare il seguente comando
cmake --version
Se la versione di cmake
installata è precedente alla 3.1, è necessario procedere con gli step seguenti per aggiornare manualmente il software. Altrimenti la procedura è conclusa.
- Aprire un terminale bash e digitare i seguenti comandi (nb: nel caso si utilizzi un linux a 32 bit utilizzare il secondo blocco)
Linux 64 bit
cd $WORKSPACE
export CMAKE_FULL_VERSION="cmake-3.10.0-Linux-x86_64"
export CMAKE_VERSION="v3.10"
mkdir cmake
cd cmake
wget https://cmake.org/files/${CMAKE_VERSION}/${CMAKE_FULL_VERSION}.tar.gz
tar zxvf ${CMAKE_FULL_VERSION}.tar.gz
echo -e "\n export PATH=${WORKSPACE}/cmake/${CMAKE_FULL_VERSION}/bin:\$PATH \n" >> ~/.bashrc
Linux 32 bit
cd $WORKSPACE
export CMAKE_FULL_VERSION="cmake-3.6.0-Linux-i386.tar.gz"
export CMAKE_VERSION="v3.6"
mkdir cmake
cd cmake
wget https://cmake.org/files/${CMAKE_VERSION}/${CMAKE_FULL_VERSION}.tar.gz
tar zxvf ${CMAKE_FULL_VERSION}.tar.gz
echo -e "\n export PATH=${WORKSPACE}/cmake/${CMAKE_FULL_VERSION}/bin:\$PATH \n" >> ~/.bashrc
- Installare gli XCode Command Line Tools, se non già installati, digitando su un terminale il seguente comando:
xcode-select --install
- Se non ancora installato, installare Homebrew secondo la guida presente sulla homepage
- Aprire un terminale e digitare
brew update
brew upgrade
brew install cmake make git dos2unix ninja
git config --global core.autocrlf input
git clone https://github.com/physycom/sysconfig
brew install fltk boost freeglut
- Definire una cartella di lavoro, che chiameremo WORKSPACE d'ora in poi: questa sarà una cartella "Codice" nella nostra home, oppure una cartella "code" sul desktop, tutto a vostro piacimento. Createla, se non ce l'avete già, nel modo preferito (mkdir da terminale, oppure direttamente dall'interfaccia grafica del Finder col mouse). Standardizzeremo il funzionamento dei nostri script indipendentemente dalla posizione di questa cartella definendo a tal proposito una variabile d'ambiente. Attenzione a sapere esattamente il path assoluto di questa cartella, che assomiglierà ad una cosa del tipo
/Users/$(whoami)/codice/
- Aprire quindi un terminale nuovo e digitare (sostituire
/path/completo/alla/nostra/cartella
con il path che abbiamo appena stabilito)
echo -e "\n export WORKSPACE=/path/completo/alla/nostra/cartella \n" >> ~/.bash_profile
- Installare/aggiornare Visual Studio alla versione 2017, assicurandosi di avere le ultime patch (lanciare l'installer per sicurezza per aggiornare automaticamente all'ultima versione). Se è necessario installarlo da zero, scaricarlo da qui: Visual Studio 2017 Community
- Se non installato, installare chocolatey seguendo le istruzioni sul sito
- Se non avete
git
ecmake
già installati, oppure se non siete sicuri di avere una Powershell recente, aprire Powershell in modalità amministratore e quindi digitare
PS \> cinst -y git cmake powershell ninja
- Riavviare il PC se richiesto da chocolatey
- Avviare Powershell in modalità ammministratore e digitare il seguente comando (dare inoltre conferma al messaggio che compare)
PS \> Set-ExecutionPolicy unrestricted
- Definire una cartella di lavoro, che chiameremo WORKSPACE d'ora in poi: una cartella "Codice" nella nostra home, oppure una cartella "code" sul desktop, creandola nel modo preferito (mkdir da Powershell, oppure direttamente da explorer col mouse). Standardizzeremo il funzionamento dei nostri script indipendentemente dalla posizione di questa cartella definendo a tal proposito una variabile d'ambiente. Aprire pertanto una Powershell in modalità utente standard e digitare
PS \> rundll32 sysdm.cpl,EditEnvironmentVariables
- Nella schermata che si apre, nella sezione superiore, dobbiamo creare tre nuove variabili: una con nome
WORKSPACE
e come valore il path completo della nostra cartella di lavoro precedentemente stabilita, una con nomeVCPKG_ROOT
e valore%WORKSPACE%\vcpkg
ed infine l'ultima con nomeVCPKG_DEFAULT_TRIPLET
e valorex64-windows-physycom
. Se CMake non fosse già nelPATH
perché già fatto in passato, bisogna inoltre aggiungere alla variabile "Path" (diversa dalle precedenti, questa dovrebbe esistere già) il seguente percorso (su Windows 10 è sufficiente creare una nuova riga, su Windows 7/8 invece è necessario assicurarsi di separare con un;
l'aggiunta da eventuali altri record presenti):
%PROGRAMFILES%\CMake\bin
- Aprire una nuova Powershell, come utente standard, e clonare questo repository seguendo le istruzioni seguenti
PS \> cd $env:WORKSPACE
PS Codice> git config --global core.autocrlf input
PS Codice> git clone https://github.com/physycom/sysconfig.git
- Se
vcpkg
non è installato, eseguire la procedura seguente, altrimenti saltare direttamente al punto 10
PS \> cd $env:WORKSPACE
PS Codice> git clone https://github.com/Microsoft/vcpkg.git
PS Codice> cd vcpkg
PS Codice> cp ..\sysconfig\cmake\x64-windows-physycom.cmake .\triplets\
PS Codice\vcpkg> .\bootstrap-vcpkg.bat
- Aprire Powershell in modalità amministratore e quindi digitare
PS \> cd $env:WORKSPACE
PS Codice> cd vcpkg
PS Codice\vcpkg> .\vcpkg integrate install
- Aprire Powershell in modalità utente standard e quindi digitare (l'ultimo comando richiede una conferma e serve per rimuovere files non necessari)
PS \> cd $env:WORKSPACE
PS Codice> cd vcpkg
PS Codice\vcpkg> .\vcpkg install fltk boost freeglut opengl
PS Codice\vcpkg> rmdir .\buildtrees\
PS Codice\vcpkg> cd ([Environment]::GetFolderPath("mydocuments"))
PS \> mkdir WindowsPowerShell -Force
PS \> cd WindowsPowerShell
PS WindowsPowerShell\> explorer .
- Nella cartella che si è aperta, copiare il file
Microsoft.PowerShell_profile.ps1
presente in questo repository
- Per aggiornare i programmi installati con Chocolatey, aprire una Powershell in modalità amministratore e quindi digitare
PS \> cup all -y
- Per aggiornare le librerie installate con vcpkg, aprire una Powershell come utente standard, digitare i seguenti comandi e quindi seguire le istruzioni a video
PS \> cd $env:WORKSPACE
PS Codice> cd vcpkg
PS Codice> git pull
PS Codice> .\bootstrap-vcpkg.bat
PS Codice> .\vcpkg update
PS Codice> .\vcpkg upgrade --no-dry-run
- Se non è già installato nel sistema, installare chocolatey
- Aprire Powershell in modalità amministratore e quindi digitare
PS \> cinst -y cygwin
- Definire una cartella di lavoro, che chiameremo WORKSPACE d'ora in poi: una cartella "Codice" nella nostra home, oppure una cartella "code" sul desktop, creandola nel modo preferito (mkdir da Powershell, oppure direttamente da explorer col mouse). Standardizzeremo il funzionamento dei nostri script indipendentemente dalla posizione di questa cartella definendo a tal proposito una variabile d'ambiente. Aprire pertanto una Powershell in modalità utente standard e digitare
PS \> rundll32 sysdm.cpl,EditEnvironmentVariables
- Nella schermata che si apre, nella sezione superiore, creare una nuova variabile con nome WORKSPACE e come valore il path completo della nostra cartella di lavoro precedentemente stabilita
- Aprire una nuova Powershell in modalità utente standard e quindi digitare (rimuovere il suffisso
_x64
nella seconda riga se il proprio sistema operativo è a 32 bit)
PS \> cd $env:WORKSPACE
PS Codice> Invoke-WebRequest https://cygwin.com/setup-x86_64.exe -OutFile $env:WORKSPACE\cygwin-setup.exe
PS Codice> .\cygwin-setup --quiet-mode --no-shortcuts --no-startmenu --no-desktop --upgrade-also --packages gcc-g++,cmake,git,dos2unix,libboost-devel,libfltk-devel,libglut-devel,libGL-devel,libGLU-devel,fluid,libjpeg-devel,libXi-devel,libXmu-devel
PS Codice> git clone https://github.com/physycom/sysconfig