#
#  appveyor.yml - Appveyor CI configuration for OWA EPANET
#
#  Date created: 01/09/2018
#
#  Author: Michael E. Tryby
#          US EPA - ORD/NRMRL
# 

version: 2.0.{build}

image: 
  - Visual Studio 2013

# called before repo cloning
init: 
  - set EPANET_HOME=%APPVEYOR_BUILD_FOLDER%
  - set BUILD_HOME=buildprod
  - set TEST_HOME=tests\epanet-nrtestsuite
  - set NRTEST_SCRIPT=C:\Python27\Scripts
  - set GENERATOR="Visual Studio 10 2010"
  - set BOOST_ROOT="C:\\Libraries\\boost"
  - set BOOST_LIB="C:\\Libraries\\boost\\lib32-msvc-12.0"

# called after repo clone
install: 
  - python -m pip install -r tools\requirements-appveyor.txt

# called before build
before_build:
  - mkdir %BUILD_HOME%
  - cd %BUILD_HOME%
  - cmake -G %GENERATOR% 
    -DBOOST_ROOT="%BOOST_ROOT%"
    -DBOOST_LIBRARYDIR="%BOOST_LIB%"
    -DBoost_USE_STATIC_LIBS="ON" ..

# run custom build script
build_script: 
  - cmake --build . --config Release 

before_test:
  - cd %EPANET_HOME%
  - tools\gen-config.cmd %EPANET_HOME%\%BUILD_HOME%\bin\Release > %TEST_HOME%\apps\epanet-%APPVEYOR_REPO_COMMIT%.json 

# run custom test script
test_script:
  # run unit tests
  - cd %BUILD_HOME%\tests
  - ctest -C Release
  # run regression tests
  - cd %EPANET_HOME%
  - tools\run-nrtest.cmd %NRTEST_SCRIPT% %TEST_HOME% %APPVEYOR_REPO_COMMIT%
