Skip to content
Snippets Groups Projects
Commit 79daae41 authored by Ammar Nejati's avatar Ammar Nejati
Browse files

Windows build: Improve the Windows build script

The Windows build script is updated to use the newly compiled Boost 1.77.0.

* A minimal path is set in the beginning to avoid any unintended conflicts with
other libraries installed on the system.
* Timers are added to measure the elapsed times for building and testing.
* Verbosity of CPack is reduced.
parent 07098cdf
No related branches found
No related tags found
1 merge request!391CMake: Correct C++ Boost dependencies for Windows
Pipeline #46792 passed
...@@ -5,13 +5,19 @@ ...@@ -5,13 +5,19 @@
# stop on first error # stop on first error
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
$OPTLIBS = "C:/opt/x64" $OPT_DIR = "C:/opt/x64"
$FFTW3_INCLUDE_DIR = "$OPTLIBS/include" $FFTW3_INCLUDE_DIR = "$OPT_DIR/include"
$FFTW3_LIB = "$OPTLIBS/lib/libfftw3-3.lib" $FFTW3_LIB = "$OPT_DIR/lib/libfftw3-3.lib"
$QTDIR = "C:/Qt/current/msvc2019_64" $BOOST_DIR = "$OPT_DIR/boost_current"
$QTCMake_DIR = "$QTDIR/lib/cmake" $BOOST_INCLUDE_DIR = "$BOOST_DIR/include"
$BOOST_LIB_DIR = "$BOOST_DIR/lib"
$QT_MSVC_DIR = "C:/Qt/msvc"
$QTCMake_DIR = "$QT_MSVC_DIR/lib/cmake"
$BUILD_DIR = "build" $BUILD_DIR = "build"
# set minimal path for build
$Env:Path = "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;$QT_MSVC_DIR\bin;C:\Program Files\Python39;$OPT_DIR\lib;$BOOST_LIB_DIR;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin;C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\Program Files\ninja-win\;C:\Program Files (x86)\NSIS;"
echo "#--- DIAGNOSTICS ---" echo "#--- DIAGNOSTICS ---"
# list powershell properties # list powershell properties
...@@ -30,20 +36,27 @@ pwd ...@@ -30,20 +36,27 @@ pwd
echo "#--- CONFIGURE ---" echo "#--- CONFIGURE ---"
cmake --version cmake --version
cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 -DLIB_MAN=OFF ` cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 -DLIB_MAN=OFF `
-DQTDIR="$QTDIR" -DQt5_DIR="$QTCMake_DIR/Qt5" -DQt5Test_DIR="$QTCMake_DIR/Qt5Test" ` -DQTDIR="$QT_MSVC_DIR" -DQt5_DIR="$QTCMake_DIR/Qt5" -DQt5Test_DIR="$QTCMake_DIR/Qt5Test" `
-DFFTW3_INCLUDE_DIR="$FFTW3_INCLUDE_DIR" -DFFTW3_LIBRARY="$FFTW3_LIB" ` -DFFTW3_INCLUDE_DIR="$FFTW3_INCLUDE_DIR" -DFFTW3_LIBRARY="$FFTW3_LIB" `
-DCMAKE_INCLUDE_PATH="$OPTLIBS/include" -DCMAKE_LIBRARY_PATH="$OPTLIBS/lib" ` -DCMAKE_INCLUDE_PATH="$OPT_DIR/include;$BOOST_INCLUDE_DIR" -DCMAKE_LIBRARY_PATH="$OPT_DIR/lib;$BOOST_LIB_DIR" `
-DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" ` -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" `
-B. .. -B. ..
echo "#--- BUILD ---" echo "#--- BUILD ---"
pwd pwd
cmake --build . --config Release --clean-first --parallel 8 ` $build_timer = [system.diagnostics.stopwatch]::StartNew()
-- /verbosity:minimal /m /property:MultiProcessorCompilation=true # MSBuild options for parallel build cmake --build . --config Release --clean-first -- /fl /flp:logfile=BornAgainMSBuild.log /verbosity:minimal
$build_timer.Stop()
echo "#--- TEST ---" echo "#--- TEST ---"
$test_timer = [system.diagnostics.stopwatch]::StartNew()
ctest -C Release --parallel 8 --output-on-failure ctest -C Release --parallel 8 --output-on-failure
$test_timer.Stop()
echo "#--- PACKAGING ---" echo "#--- PACKAGING ---"
# build package via NSIS # build package via NSIS
cpack -C Release --verbose cpack -C Release
\ No newline at end of file
echo "----------------------------------------"
echo "#--- Total Build Time = $($build_timer.Elapsed.TotalMinutes) min(s)."
echo "#--- Total Test Time = $($test_timer.Elapsed.TotalMinutes) min(s)."
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment