mkdir build-release cd build-release IF "%ARCHITECTURE%" == "x64" ( set ARCH_VS= Win64 set STRING_ARCH=64-Bit ) else ( set ARCH_VS= set STRING_ARCH=32-Bit ) IF "%SHARED%" == "TRUE" ( set STRING_DLL=-DLL ) ELSE ( set STRING_DLL= ) IF "%BUILD_PLATFORM%" == "VS2013" ( set LIBPATH=E:\libs\VS2013 set GTESTVERSION=gtest-1.6.0 set GENERATOR=Visual Studio 12%ARCH_VS% set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com" IF "%ARCHITECTURE%" == "x64" ( set QT_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013_64 set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013_64 ) IF "%ARCHITECTURE%" == "x32" ( set QT_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013 set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013 ) ) IF "%BUILD_PLATFORM%" == "VS2015" ( set LIBPATH=E:\libs\VS2015 set GTESTVERSION=gtest-1.7.0 set GENERATOR=Visual Studio 14%ARCH_VS% set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" IF "%ARCHITECTURE%" == "x64" ( set QT_INSTALL_PATH=E:\Qt\Qt5.6.0-vs2015-%STRING_ARCH%\5.6\msvc2015_64 set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.6.0-vs2015-%STRING_ARCH%\5.6\msvc2015_64 ) IF "%ARCHITECTURE%" == "x32" ( set QT_INSTALL_PATH=E:\Qt\Qt5.6.0-vs2015-%STRING_ARCH%\5.6\msvc2015 set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.6.0-vs2015-%STRING_ARCH%\5.6\msvc2015 ) ) IF "%BUILD_PLATFORM%" == "VS2017" ( set LIBPATH=E:\libs\VS2017 set GTESTVERSION=gtest-1.7.0 set GENERATOR=Visual Studio 15%ARCH_VS% set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com" IF "%ARCHITECTURE%" == "x64" ( set QT_INSTALL_PATH=E:\Qt\Qt5.10.1\5.10.1\msvc2017_64 set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.10.1\5.10.1\msvc2017_64 ) ) IF "%APPS%" == "ON" ( set STRING_APPS= ECHO "Copying Platform plugins from %QT_INSTALL_PATH%\plugins\platforms to Build\plugins\platforms" REM Create the platform plugins subdirectory for the qt plugins required to run the gui apps mkdir Build mkdir Build\plugins mkdir Build\plugins\platforms dir dir %QT_INSTALL_PATH% dir %QT_INSTALL_PATH%\plugins dir %QT_INSTALL_PATH%\plugins\platforms REM Copy the platform plugins subdirectory for the qt plugins required to run the gui apps xcopy /Y %QT_INSTALL_PATH%\plugins\platforms Build\plugins\platforms set CMAKE_CONFIGURATION=%QT_BASE_CONFIG% ) ELSE ( set STRING_APPS=-no-apps set CMAKE_CONFIGURATION= ) ECHO "=============================================================" ECHO "=============================================================" ECHO "Building with :" whoami ECHO "ARCHITECTURE : %ARCHITECTURE%" ECHO "BUILD_PLATFORM : %BUILD_PLATFORM%" ECHO "GTESTVERSION : %GTESTVERSION%" ECHO "GENERATOR : %GENERATOR%" ECHO "VS_PATH : %VS_PATH%" ECHO "LIBPATH : %LIBPATH%" ECHO "APPS : %APPS%" ECHO "SHARED : %SHARED%" ECHO "QT_INSTALL_PATH : %QT_INSTALL_PATH%" ECHO "CMAKE_CONFIGURATION : %CMAKE_CONFIGURATION%" ECHO "=============================================================" ECHO "=============================================================" ECHO "" ECHO "Running Build environment checks" IF EXIST %LIBPATH%\ ( ECHO "LIBPATH ... Ok" ) ELSE ( ECHO "LIBPATH not found!" exit 10; ) IF EXIST %QT_INSTALL_PATH%\ ( ECHO "QT_INSTALL_PATH ... Ok" ) ELSE ( ECHO "QT_INSTALL_PATH: %QT_INSTALL_PATH%\ not found!" exit 10; ) "C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD" IF %errorlevel% NEQ 0 exit /b %errorlevel% cd unittests unittests.exe --gtest_output=xml unittests_customvec.exe --gtest_output=xml cd .. cd .. mkdir build-debug cd build-debug "C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD" IF %errorlevel% NEQ 0 exit /b %errorlevel% copy Build\lib\*d.lib ..\build-release\Build\lib IF "%SHARED%" == "TRUE" ( copy Build\*.dll ..\build-release\Build ) cd unittests unittests.exe --gtest_output=xml unittests_customvec.exe --gtest_output=xml IF %errorlevel% NEQ 0 exit /b %errorlevel% cd .. cd .. cd build-release del *.exe "C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DBUILD_APPS=%APPS% -DCMAKE_BUILD_TYPE=Release %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Release" OpenMesh.sln /Project "PACKAGE" IF %errorlevel% NEQ 0 exit /b %errorlevel% move OpenMesh-*.exe "OpenMesh-7.1-Git-Master-%CI_BUILD_REF%-%BUILD_PLATFORM%-%STRING_ARCH%%STRING_DLL%%STRING_APPS%.exe"