From 79daae41d90d7e287bada2c22e46e880b843c222 Mon Sep 17 00:00:00 2001 From: Ammar Nejati <a.nejati@fz-juelich.de> Date: Fri, 8 Oct 2021 13:18:56 +0200 Subject: [PATCH] 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. --- devtools/deploy/winbuild.ps1 | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/devtools/deploy/winbuild.ps1 b/devtools/deploy/winbuild.ps1 index 8e05529631c..e695b5b9c50 100644 --- a/devtools/deploy/winbuild.ps1 +++ b/devtools/deploy/winbuild.ps1 @@ -5,13 +5,19 @@ # stop on first error $ErrorActionPreference = "Stop" -$OPTLIBS = "C:/opt/x64" -$FFTW3_INCLUDE_DIR = "$OPTLIBS/include" -$FFTW3_LIB = "$OPTLIBS/lib/libfftw3-3.lib" -$QTDIR = "C:/Qt/current/msvc2019_64" -$QTCMake_DIR = "$QTDIR/lib/cmake" +$OPT_DIR = "C:/opt/x64" +$FFTW3_INCLUDE_DIR = "$OPT_DIR/include" +$FFTW3_LIB = "$OPT_DIR/lib/libfftw3-3.lib" +$BOOST_DIR = "$OPT_DIR/boost_current" +$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" +# 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 ---" # list powershell properties @@ -30,20 +36,27 @@ pwd echo "#--- CONFIGURE ---" cmake --version 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" ` - -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" ` -B. .. echo "#--- BUILD ---" pwd -cmake --build . --config Release --clean-first --parallel 8 ` - -- /verbosity:minimal /m /property:MultiProcessorCompilation=true # MSBuild options for parallel build +$build_timer = [system.diagnostics.stopwatch]::StartNew() +cmake --build . --config Release --clean-first -- /fl /flp:logfile=BornAgainMSBuild.log /verbosity:minimal +$build_timer.Stop() echo "#--- TEST ---" +$test_timer = [system.diagnostics.stopwatch]::StartNew() ctest -C Release --parallel 8 --output-on-failure +$test_timer.Stop() echo "#--- PACKAGING ---" # build package via NSIS -cpack -C Release --verbose \ No newline at end of file +cpack -C Release + +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 -- GitLab