OutpostUniverse / OP2Internal

Class definitions compatible with the in-memory format used by Outpost 2
0 stars 0 forks source link

Add NASM install to AppVeyor build process #11

Closed Brett208 closed 5 years ago

DanRStevens commented 5 years ago

I took a quick look into how other open source projects install NASM. A few use Chocolatey. It seems Chocolatey is installed on AppVeyor workers. Some projects download and run the installer package in a script. Finally, I noticed some NuGet packages for NASM.

I noticed some variation in which stage of the build the NASM package is installed. Some use "install", some use "init", some use "before_build". I figure "install" is the most obvious.

Using Chocolatey:

install:
  - choco install -y nasm

Using installer:

install:
  - curl -L -o nasminst.exe %NasmInstallerUrl%
  - start /wait nasminst.exe /S
  - ps: $env:path="C:\Program Files (x86)\nasm;$($env:path)"

Using Zip package (though I'm not a fan of the unpack/move):

install:
  - cd \
  - appveyor DownloadFile "%NasmZipUrl%" -FileName "c:\nasm.zip"
  - 7z x "nasm.zip" > nul
  - move nasm-* NASM
  - set PATH=%PATH%;c:\NASM;
  - nasm -v

Maybe not such a bad idea to show the NASM version info at the end of that last one.

I saw two NuGet packages. None look particularly well used.


I think I'm most interested in the Chocolatey approach.