2015-03-08 08:19:10 +08:00
|
|
|
|
|
|
|
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
2017-12-23 19:21:07 +08:00
|
|
|
IF NOT DEFINED IS_NIGHTLY_BUILD SET IS_NIGHTLY_BUILD=1
|
2015-03-08 08:19:10 +08:00
|
|
|
|
2017-03-01 00:25:58 +08:00
|
|
|
IF %IS_NIGHTLY_BUILD% EQU 1 (
|
|
|
|
SET FGBUILDTYPE=Nightly
|
|
|
|
) ELSE (
|
|
|
|
SET FGBUILDTYPE=Release
|
|
|
|
)
|
|
|
|
|
2016-08-02 18:18:42 +08:00
|
|
|
REM following are for testing the script locally
|
2016-08-03 17:39:32 +08:00
|
|
|
REM SET PATH=%PATH%;%ProgramFiles%\CMake\bin;%ProgramFiles(x86)%\"Inno Setup 5"\
|
2016-08-02 18:18:42 +08:00
|
|
|
REM SET QT5SDK32=C:\Qt\5.6\msvc2015
|
|
|
|
REM SET QT5SDK64=C:\Qt\5.6\msvc2015_64
|
|
|
|
REM SET IS_NIGHTLY_BUILD=1
|
|
|
|
|
2016-08-03 17:39:32 +08:00
|
|
|
SET OSG32=%WORKSPACE%\install\msvc140\OpenSceneGraph
|
|
|
|
SET OSG64=%WORKSPACE%\install\msvc140-64\OpenSceneGraph
|
|
|
|
|
2015-03-08 08:19:10 +08:00
|
|
|
REM 32bits
|
|
|
|
md build-sg32
|
|
|
|
md build-fg32
|
2020-04-07 06:15:29 +08:00
|
|
|
|
2015-03-08 08:19:10 +08:00
|
|
|
cd build-sg32
|
2016-08-02 18:18:42 +08:00
|
|
|
cmake ..\simgear -G "Visual Studio 14" ^
|
|
|
|
-DMSVC_3RDPARTY_ROOT=%WORKSPACE%/windows-3rd-party/msvc140 ^
|
|
|
|
-DBOOST_ROOT=%WORKSPACE%/windows-3rd-party ^
|
2017-06-22 06:04:02 +08:00
|
|
|
-DOSG_FSTREAM_EXPORT_FIXED=1 ^
|
2016-08-03 17:39:32 +08:00
|
|
|
-DCMAKE_PREFIX_PATH:PATH=%OSG32% ^
|
2016-08-02 18:18:42 +08:00
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc140
|
2016-12-13 19:32:33 +08:00
|
|
|
cmake --build . --config RelWithDebInfo --target INSTALL
|
2015-03-08 08:19:10 +08:00
|
|
|
|
|
|
|
cd ..\build-fg32
|
2016-08-02 18:18:42 +08:00
|
|
|
cmake ..\flightgear -G "Visual Studio 14" ^
|
|
|
|
-DMSVC_3RDPARTY_ROOT=%WORKSPACE%/windows-3rd-party/msvc140 ^
|
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc140 ^
|
2020-04-07 06:15:29 +08:00
|
|
|
-DBOOST_ROOT=%WORKSPACE%/windows-3rd-party ^
|
|
|
|
-DOSG_FSTREAM_EXPORT_FIXED=1 ^
|
|
|
|
-DCMAKE_PREFIX_PATH=%QT5SDK32%;%OSG32% ^
|
|
|
|
-DFG_BUILD_TYPE=%FGBUILDTYPE% ^
|
|
|
|
-DENABLE_SWIFT:BOOL=ON ^
|
|
|
|
-DENABLE_COMPOSITOR:BOOL=OFF
|
|
|
|
cmake --build . --config RelWithDebInfo --target INSTALL
|
2015-03-08 19:51:15 +08:00
|
|
|
cd ..
|
2015-03-08 08:19:10 +08:00
|
|
|
|
|
|
|
REM 64 bits
|
|
|
|
md build-sg64
|
|
|
|
md build-fg64
|
2016-11-15 05:29:04 +08:00
|
|
|
|
2015-03-08 08:19:10 +08:00
|
|
|
cd build-sg64
|
2016-08-02 18:18:42 +08:00
|
|
|
cmake ..\SimGear -G "Visual Studio 14 Win64" ^
|
|
|
|
-DMSVC_3RDPARTY_ROOT=%WORKSPACE%/windows-3rd-party/msvc140 ^
|
|
|
|
-DBOOST_ROOT=%WORKSPACE%/windows-3rd-party ^
|
2017-06-22 06:04:02 +08:00
|
|
|
-DOSG_FSTREAM_EXPORT_FIXED=1 ^
|
2016-08-03 17:39:32 +08:00
|
|
|
-DCMAKE_PREFIX_PATH:PATH=%OSG64% ^
|
2016-08-02 18:18:42 +08:00
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc140-64
|
2016-12-13 19:32:33 +08:00
|
|
|
cmake --build . --config RelWithDebInfo --target INSTALL
|
2015-03-08 08:19:10 +08:00
|
|
|
|
|
|
|
cd ..\build-fg64
|
2016-08-02 18:18:42 +08:00
|
|
|
cmake ..\flightgear -G "Visual Studio 14 Win64" ^
|
|
|
|
-DMSVC_3RDPARTY_ROOT=%WORKSPACE%/windows-3rd-party/msvc140 ^
|
|
|
|
-DBOOST_ROOT=%WORKSPACE%/windows-3rd-party ^
|
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc140-64 ^
|
2017-03-01 00:25:58 +08:00
|
|
|
-DCMAKE_PREFIX_PATH=%QT5SDK64%;%OSG64% ^
|
2017-06-22 06:04:02 +08:00
|
|
|
-DOSG_FSTREAM_EXPORT_FIXED=1 ^
|
2019-05-23 19:38:02 +08:00
|
|
|
-DFG_BUILD_TYPE=%FGBUILDTYPE% ^
|
2020-04-07 06:15:29 +08:00
|
|
|
-DENABLE_SWIFT:BOOL=ON ^
|
|
|
|
-DENABLE_COMPOSITOR:BOOL=OFF
|
2016-12-13 19:32:33 +08:00
|
|
|
cmake --build . --config RelWithDebInfo --target INSTALL
|
2015-03-08 19:43:19 +08:00
|
|
|
cd ..
|
2015-03-08 08:19:10 +08:00
|
|
|
|
2015-03-16 18:06:06 +08:00
|
|
|
REM Qt5 deployment
|
2017-12-23 16:26:30 +08:00
|
|
|
SET QMLDIR=%WORKSPACE%/flightgear/src/GUI/qml
|
2022-02-08 18:30:27 +08:00
|
|
|
|
|
|
|
REM Don't copy the compiler runtime libs, since it includes potentially older UCrtbase.
|
|
|
|
%QT5SDK32%\bin\windeployqt --release --list target --no-compiler-runtime --qmldir %QMLDIR% %WORKSPACE%/install/msvc140/bin/fgfs.exe
|
|
|
|
%QT5SDK64%\bin\windeployqt --release --list target --no-compiler-runtime --qmldir %QMLDIR% %WORKSPACE%/install/msvc140-64/bin/fgfs.exe
|
2015-03-16 18:06:06 +08:00
|
|
|
|
2015-03-08 08:19:10 +08:00
|
|
|
REM build setup
|
|
|
|
ECHO Packaging root is %WORKSPACE%
|
|
|
|
|
|
|
|
subst X: /D
|
|
|
|
subst X: %WORKSPACE%.
|
|
|
|
|
2015-09-02 18:35:06 +08:00
|
|
|
REM ensure output dir is clean since we upload the entirety of it
|
2015-09-02 18:38:50 +08:00
|
|
|
rmdir /S /Q output
|
2015-09-02 18:35:06 +08:00
|
|
|
|
2017-04-18 15:57:35 +08:00
|
|
|
SET FGFS_PDB=src\Main\RelWithDebInfo\fgfs.pdb
|
2020-04-07 06:15:29 +08:00
|
|
|
|
2020-04-08 19:12:20 +08:00
|
|
|
SET SENTRY_ORG=flightgear
|
|
|
|
SET SENTRY_PROJECT=flightgear
|
|
|
|
REM ensure SENTRY_AUTH_TOKEN is set in the environment
|
2015-09-02 18:41:49 +08:00
|
|
|
|
2020-09-23 01:24:15 +08:00
|
|
|
sentry-cli upload-dif --include-sources %WORKSPACE%\build-fg32\%FGFS_PDB%
|
|
|
|
sentry-cli upload-dif --include-sources %WORKSPACE%\build-fg64\%FGFS_PDB%
|
2018-07-02 18:39:08 +08:00
|
|
|
|
2015-03-08 08:19:10 +08:00
|
|
|
REM indirect way to get command output into an environment variable
|
2016-08-03 17:39:32 +08:00
|
|
|
set PATH=%OSG32%\bin;%PATH%
|
2015-03-08 08:19:10 +08:00
|
|
|
osgversion --so-number > %TEMP%\osg-so-number.txt
|
|
|
|
osgversion --version-number > %TEMP%\osg-version.txt
|
|
|
|
osgversion --openthreads-soversion-number > %TEMP%\openthreads-so-number.txt
|
|
|
|
|
2020-07-03 16:27:07 +08:00
|
|
|
SET /P FLIGHTGEAR_VERSION=<flightgear\flightgear-version
|
2015-03-08 08:19:10 +08:00
|
|
|
SET /P OSG_VERSION=<%TEMP%\osg-version.txt
|
|
|
|
SET /P OSG_SO_NUMBER=<%TEMP%\osg-so-number.txt
|
|
|
|
SET /P OT_SO_NUMBER=<%TEMP%\openthreads-so-number.txt
|
|
|
|
|
2021-01-17 17:30:02 +08:00
|
|
|
for /F "tokens=1,2,3 delims=." %%a in ("%FLIGHTGEAR_VERSION%") do (
|
|
|
|
set FLIGHTGEAR_VERSION_MAJOR=%%a
|
|
|
|
set FLIGHTGEAR_VERSION_MINOR=%%b
|
|
|
|
set FLIGHTGEAR_VERSION_PATCH=%%c
|
|
|
|
)
|
|
|
|
|
2015-03-14 02:13:19 +08:00
|
|
|
IF %IS_NIGHTLY_BUILD% EQU 1 (
|
|
|
|
REM FlightGear nightly: with fgdata, output filename would be "FlightGear-x.x.x-nightly-full.exe"
|
2015-03-13 21:51:49 +08:00
|
|
|
CALL :writeBaseConfig
|
|
|
|
CALL :writeNightlyFullConfig
|
2016-12-03 00:59:07 +08:00
|
|
|
iscc /Q FlightGear.iss
|
2015-03-13 21:51:49 +08:00
|
|
|
|
2015-03-14 02:13:19 +08:00
|
|
|
REM FlightGear nightly: without fgdata, output filename would be "FlightGear-x.x.x-nightly.exe"
|
2015-03-13 21:51:49 +08:00
|
|
|
CALL :writeBaseConfig
|
|
|
|
CALL :writeNightlyDietConfig
|
2016-12-03 00:59:07 +08:00
|
|
|
iscc /Q FlightGear.iss
|
2015-03-14 01:58:01 +08:00
|
|
|
) ELSE (
|
2015-03-14 02:13:19 +08:00
|
|
|
REM FlightGear release: with fgdata, output filename would be "FlightGear-x.x.x.exe"
|
2015-03-13 21:51:49 +08:00
|
|
|
CALL :writeBaseConfig
|
|
|
|
CALL :writeReleaseConfig
|
2016-12-03 00:59:07 +08:00
|
|
|
iscc /Q FlightGear.iss
|
2021-02-22 05:26:28 +08:00
|
|
|
|
|
|
|
REM FlightGear release: with fgdata web installer, output filename would be "FlightGear-x.x.x-web.exe"
|
|
|
|
CALL :writeBaseConfig
|
|
|
|
CALL :writeReleaseWebConfig
|
|
|
|
iscc /Q FlightGear.iss
|
2015-03-10 05:38:42 +08:00
|
|
|
)
|
2015-03-14 02:23:21 +08:00
|
|
|
GOTO End
|
2015-03-10 05:38:42 +08:00
|
|
|
|
2015-03-13 21:51:49 +08:00
|
|
|
:writeBaseConfig
|
2021-01-17 17:30:02 +08:00
|
|
|
ECHO #define FGHarnessPath "x:" > InstallConfig.iss
|
2021-02-12 03:32:53 +08:00
|
|
|
ECHO #define FGVersion "%FLIGHTGEAR_VERSION%" >> InstallConfig.iss
|
|
|
|
ECHO #define FGVersionGroup "%FLIGHTGEAR_VERSION_MAJOR%.%FLIGHTGEAR_VERSION_MINOR%" >> InstallConfig.iss
|
2015-03-08 08:19:10 +08:00
|
|
|
ECHO #define OSGVersion "%OSG_VERSION%" >> InstallConfig.iss
|
|
|
|
ECHO #define OSGSoNumber "%OSG_SO_NUMBER%" >> InstallConfig.iss
|
|
|
|
ECHO #define OTSoNumber "%OT_SO_NUMBER%" >> InstallConfig.iss
|
2015-03-13 21:51:49 +08:00
|
|
|
GOTO End
|
2015-03-08 08:19:10 +08:00
|
|
|
|
2015-03-13 21:51:49 +08:00
|
|
|
:writeReleaseConfig
|
|
|
|
CALL :writeBaseConfig
|
|
|
|
ECHO #define FGDetails "" >> InstallConfig.iss
|
|
|
|
ECHO #define IncludeData "TRUE" >> InstallConfig.iss
|
2021-06-11 05:36:22 +08:00
|
|
|
ECHO #define IncludeWeb "FALSE" >> InstallConfig.iss
|
2015-03-13 21:51:49 +08:00
|
|
|
GOTO End
|
2015-03-10 05:38:42 +08:00
|
|
|
|
2021-02-22 05:26:28 +08:00
|
|
|
:writeReleaseWebConfig
|
|
|
|
CALL :writeBaseConfig
|
|
|
|
ECHO #define FGDetails "-web" >> InstallConfig.iss
|
|
|
|
ECHO #define IncludeData "FALSE" >> InstallConfig.iss
|
|
|
|
ECHO #define IncludeWeb "TRUE" >> InstallConfig.iss
|
|
|
|
GOTO End
|
|
|
|
|
2015-03-13 21:51:49 +08:00
|
|
|
:writeNightlyFullConfig
|
|
|
|
CALL :writeBaseConfig
|
|
|
|
ECHO #define FGDetails "-nightly-full" >> InstallConfig.iss
|
|
|
|
ECHO #define IncludeData "TRUE" >> InstallConfig.iss
|
|
|
|
GOTO End
|
2015-03-10 05:38:42 +08:00
|
|
|
|
2015-03-13 21:51:49 +08:00
|
|
|
:writeNightlyDietConfig
|
|
|
|
CALL :writeBaseConfig
|
|
|
|
ECHO #define FGDetails "-nightly" >> InstallConfig.iss
|
2015-03-13 16:28:16 +08:00
|
|
|
ECHO #define IncludeData "FALSE" >> InstallConfig.iss
|
2015-03-13 21:51:49 +08:00
|
|
|
GOTO End
|
2015-03-10 05:38:42 +08:00
|
|
|
|
2015-03-13 21:51:49 +08:00
|
|
|
:End
|