diff options
Diffstat (limited to 'ci/build.ps1')
-rw-r--r-- | ci/build.ps1 | 77 |
1 files changed, 14 insertions, 63 deletions
diff --git a/ci/build.ps1 b/ci/build.ps1 index 533e5804c9..99f66f7de2 100644 --- a/ci/build.ps1 +++ b/ci/build.ps1 @@ -40,55 +40,14 @@ if (-Not (Test-Path -PathType container $env:DEPS_BUILD_DIR)) { write-host "cache dir $($env:DEPS_BUILD_DIR) size: $(Get-ChildItem $env:DEPS_BUILD_DIR -recurse | Measure-Object -property length -sum | Select -expand sum)" } -if ($compiler -eq 'MINGW') { - if ($bits -eq 32) { - $arch = 'i686' - } - elseif ($bits -eq 64) { - $arch = 'x86_64' - } - if ($compileOption -eq 'gcov') { - $nvimCmakeVars['USE_GCOV'] = 'ON' - $uploadToCodecov = $true - $env:GCOV = "C:\msys64\mingw$bits\bin\gcov" - - # Setup/build Lua coverage. - $env:USE_LUACOV = 1 - $env:BUSTED_ARGS = "--coverage" - } - # These are native MinGW builds, but they use the toolchain inside - # MSYS2, this allows using all the dependencies and tools available - # in MSYS2, but we cannot build inside the MSYS2 shell. - $cmakeGenerator = 'Ninja' - $cmakeGeneratorArgs = '-v' - $mingwPackages = @('ninja', 'cmake', 'diffutils').ForEach({ - "mingw-w64-$arch-$_" - }) - - # Add MinGW to the PATH - $env:PATH = "C:\msys64\mingw$bits\bin;$env:PATH" - - # Avoid pacman "warning" which causes non-zero return code. https://github.com/open62541/open62541/issues/2068 - & C:\msys64\usr\bin\mkdir -p /var/cache/pacman/pkg - - # Build third-party dependencies - C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm -Syu" ; exitIfFailed - # Update again in case updating pacman changes pacman.conf - C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm -Syu" ; exitIfFailed - C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm --needed -S $mingwPackages" ; exitIfFailed -} -elseif ($compiler -eq 'MSVC') { - $cmakeGeneratorArgs = '/verbosity:normal' - $cmakeGenerator = 'Visual Studio 16 2019' -} - -if ($compiler -eq 'MSVC') { - $installationPath = vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath - if ($installationPath -and (test-path "$installationPath\Common7\Tools\vsdevcmd.bat")) { - & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=x${bits} -no_logo && set" | foreach-object { - $name, $value = $_ -split '=', 2 - set-content env:\"$name" $value - } +$cmakeGeneratorArgs = '/verbosity:normal' +$cmakeGenerator = 'Visual Studio 16 2019' + +$installationPath = vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath +if ($installationPath -and (test-path "$installationPath\Common7\Tools\vsdevcmd.bat")) { + & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=x${bits} -no_logo && set" | foreach-object { + $name, $value = $_ -split '=', 2 + set-content env:\"$name" $value } } @@ -111,14 +70,10 @@ function convertToCmakeArgs($vars) { } cd $env:DEPS_BUILD_DIR -if ($compiler -eq 'MSVC') { - if ($bits -eq 32) { - cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed - } else { - cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed - } +if ($bits -eq 32) { + cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed } else { - cmake -G $cmakeGenerator $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed + cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed } cmake --build . --config $cmakeBuildType -- $cmakeGeneratorArgs ; exitIfFailed cd $buildDir @@ -126,14 +81,10 @@ cd $buildDir # Build Neovim mkdir build cd build -if ($compiler -eq 'MSVC') { - if ($bits -eq 32) { - cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed - } else { - cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed - } +if ($bits -eq 32) { + cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed } else { - cmake -G $cmakeGenerator $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed + cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed } cmake --build . --config $cmakeBuildType -- $cmakeGeneratorArgs ; exitIfFailed .\bin\nvim --version ; exitIfFailed |