RadixEngine icon indicating copy to clipboard operation
RadixEngine copied to clipboard

appveyor integration

Open hhirsch opened this issue 7 years ago • 4 comments

https://github.com/mmatyas/supermariowar/blob/master/.appveyor.yml

hhirsch avatar Sep 30 '17 06:09 hhirsch

There is also option to use msys2 which i demonstrated in my fork (poor me i worked on master) https://github.com/SGOrava/RadixEngine Results of this conquest can be found here: https://ci.appveyor.com/project/SGOrava/radixengine/build/Radix%20master-28

For build which will use visual studio it might be good to use/create prebuild binaries and use them instead of building everything, it will take extremely long time to compile which could be used only to have midnight builds.

SGOrava avatar Nov 25 '17 01:11 SGOrava

@SGOrava Very nice. Do you want to create a pull request or should I copy the file to a new branch?

hhirsch avatar Nov 25 '17 01:11 hhirsch

It is little more than just CI config. Some work needs to be done with threads, i never tested if that works, i only made it able to compile, will test later.

Also i might try to force it to build new vs project / solution / environment.

SGOrava avatar Nov 25 '17 01:11 SGOrava

# Notes:
#   - Minimal appveyor.yml file is an empty file. All sections are optional.
#   - Indent each level of configuration with 2 spaces. Do not use tabs!
#   - All section names are case-sensitive.
#   - Section names should be unique on each level.
# from example:
# https://gitlab.com/RetroShare/RetroShare/blob/master/appveyor.yml

#---------------------------------#
#      general configuration      #
#---------------------------------#

# version format
version: Radix {branch}-{build}

#---------------------------------#
#    environment configuration    #
#---------------------------------#

# system image to use
image: Visual Studio 2017

# scripts that are called at very beginning, before repo cloning
init:
  - git config --global core.autocrlf input

# clone directory
clone_folder: c:\projects\Radix

# set clone depth
# clone entire repository history if not defined
clone_depth: 1

environment:
  global:
    MSYS2_ARCH: i686
    TARGET: i686_32-pc-msys

# scripts that run after cloning repository
#install:
#  # by default, all script lines are interpreted as batch
#  - echo This is batch
#  # to run script as a PowerShell command prepend it with ps:
#  - ps: Write-Host 'This is PowerShell'
#  # batch commands start from cmd:
#  - cmd: echo This is batch again
#  - cmd: set MY_VAR=12345
install:
  # Configuring MSys2
  - set PATH=C:\msys64\usr\bin;%PATH%
  - set PATH=C:\msys64\mingw32\bin;%PATH%

  # Install needed libreries
  - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Sy --force mingw-w64-i686-{cmake,make,gcc,gcc-ada,gcc-fortran,gcc-libgfortran,gcc-objc,pkg-config,assimp,libepoxy,SDL2,SDL2_mixer,bullet,tinyxml2,freeimage}"

  # Hack for new MSys2
  - copy C:\msys64\mingw32\i686-w64-mingw32\bin\ar.exe C:\msys64\mingw32\bin\i686-w64-mingw32-ar.exe
  - copy C:\msys64\mingw32\i686-w64-mingw32\bin\ranlib.exe C:\msys64\mingw32\bin\i686-w64-mingw32-ranlib.exe
  - copy C:\msys64\mingw32\bin\windres.exe C:\msys64\mingw32\bin\i686-w64-mingw32-windres.exe
  - copy C:\msys64\mingw64\x86_64-w64-mingw32\bin\ar.exe C:\msys64\mingw64\bin\x86_64-w64-mingw32-ar.exe
  - copy C:\msys64\mingw64\x86_64-w64-mingw32\bin\ranlib.exe C:\msys64\mingw64\bin\x86_64-w64-mingw32-ranlib.exe
  - copy C:\msys64\mingw64\bin\windres.exe C:\msys64\mingw64\bin\x86_64-w64-mingw32-windres.exe

#---------------------------------#
#       build configuration       #
#---------------------------------#

# build platform, i.e. x86, x64, Any CPU. This setting is optional.
platform: x86

# build Configuration, i.e. Debug, Release, etc.
configuration: Release

# scripts to run before build
before_build:
  - cd C:\projects\Radix
  - git submodule update --init --recursive

# to run your custom scripts instead of automatic MSBuild
build_script:
  - cd C:\projects\Radix
  - set
  - cmake -DCMAKE_CXX_FLAGS="--include stdint.h" -G "MSYS Makefiles"
  - make -j2

hhirsch avatar Nov 25 '17 18:11 hhirsch