Merge branch 'esx-timerfd-bypass' of https://github.com/brianredbeard/fio
[fio.git] / os / windows / dobuild.cmd
index fd54a9c670888bdf7e0f123cd55c7b6eb151c8ef..08df3e876da6d3f761ba5ca5d335428bbbd2be71 100644 (file)
@@ -6,6 +6,16 @@ for /f "tokens=3" %%i in (..\..\FIO-VERSION-FILE) do (
  set /a counter+=1\r
 )\r
 \r
+for /f "tokens=2 delims=-" %%i in ("%FIO_VERSION%") do (\r
+ set FIO_VERSION_NUMBERS=%%i\r
+)\r
+\r
+if not defined FIO_VERSION_NUMBERS (\r
+  echo Could not find version numbers in the string '%FIO_VERSION%'\r
+  echo Expected version to follow format 'fio-^([0-9]+.[0-9.]+^)'\r
+  goto end\r
+)\r
+\r
 if "%1"=="x86" set FIO_ARCH=x86\r
 if "%1"=="x64" set FIO_ARCH=x64\r
 \r
@@ -16,9 +26,27 @@ if not defined FIO_ARCH (
   goto end\r
 )\r
 \r
-"%WIX%bin\candle" -nologo -arch %FIO_ARCH% install.wxs\r
+if defined SIGN_FIO (\r
+  signtool sign /n "%SIGNING_CN%" /t http://timestamp.digicert.com ..\..\fio.exe\r
+  signtool sign /as /n "%SIGNING_CN%" /tr http://timestamp.digicert.com /td sha256 /fd sha256 ..\..\fio.exe\r
+\r
+  signtool sign /n "%SIGNING_CN%" /t http://timestamp.digicert.com ..\..\t\*.exe\r
+  signtool sign /as /n "%SIGNING_CN%" /tr http://timestamp.digicert.com /td sha256 /fd sha256 ..\..\t\*.exe\r
+)\r
+\r
+if exist ..\..\fio.pdb (\r
+  set FIO_PDB=true\r
+) else (\r
+  set FIO_PDB=false\r
+)\r
+\r
+"%WIX%bin\candle" -nologo -arch %FIO_ARCH% -dFioVersionNumbers="%FIO_VERSION_NUMBERS%" -dFioPDB="%FIO_PDB%" install.wxs\r
 @if ERRORLEVEL 1 goto end\r
 "%WIX%bin\candle" -nologo -arch %FIO_ARCH% examples.wxs\r
 @if ERRORLEVEL 1 goto end\r
 "%WIX%bin\light" -nologo -sice:ICE61 install.wixobj examples.wixobj -ext WixUIExtension -out %FIO_VERSION%-%FIO_ARCH%.msi\r
 :end\r
+\r
+if defined SIGN_FIO (\r
+  signtool sign /n "%SIGNING_CN%" /tr http://timestamp.digicert.com /td sha256 /fd sha256 %FIO_VERSION%-%FIO_ARCH%.msi\r
+)\r