build:ubuntu_cpp:
  stage: build
  needs: []
  tags:
    - docker

  script:
    - mkdir -p build_cpp
    - mkdir -p install_cpp
    - cd build_cpp
    - cmake -DCMAKE_INSTALL_PREFIX:PATH=../install_cpp -DCMAKE_BUILD_TYPE=Debug -DWERROR=ON -DCOVERAGE=ON ..
    - make -j4 all install

  artifacts:
    paths:
      - build_cpp/
      - install_cpp/

build:ubuntu_python:
  stage: build
  needs: []
  tags:
    - docker

  script:
    - python3 -m pip install virtualenv
    - virtualenv venv
    - source venv/bin/activate
    - export AIDGE_INSTALL=`pwd`/install
    - python3 -m pip install .
  artifacts:
    paths:
      - venv/

build:windows_cpp:
  stage: build
  needs: []
  tags:
    - windows

  image: buildtools
  before_script:
    # Install Chocolatey
    - Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
    # Install dependencies
    - choco install cmake.install --installargs '"ADD_CMAKE_TO_PATH=System"' -Y
    - choco install git -Y
    - choco install python -Y
    # Update PATH
    - $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
  script:
    - mkdir -p build_cpp
    - mkdir -p install_cpp
    - cd build_cpp
    - cmake -DCMAKE_INSTALL_PREFIX:PATH=../install_cpp -DCMAKE_BUILD_TYPE=Debug ..
    - cmake --build . -j2
    - cmake --install .

  artifacts:
    paths:
      - build_cpp/
      - install_cpp/
