Skip to content

Commit

Permalink
Update dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
stfnp committed May 29, 2022
1 parent e05a8b1 commit 3256eb0
Show file tree
Hide file tree
Showing 23 changed files with 244 additions and 188 deletions.
241 changes: 241 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
name: CI

on:
push:
branches:
- '**'
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'

jobs:
build-windows:
runs-on: windows-2022
defaults:
run:
shell: bash
steps:
- name: Download Qt
uses: jurplel/install-qt-action@v2
with:
version: 5.15.2
arch: win64_mingw81
dir: output/windows-mingw_64

- name: Download Boost
run: |
curl -L https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz | tar -xz
cd boost_1_79_0
./bootstrap.sh --prefix=../output/windows-mingw_64/boost-1.79.0
./b2 --with-headers --prefix=../output/windows-mingw_64/boost-1.79.0 install
- name: Download Eigen
run: |
curl -L https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz | tar -xz
mkdir eigen-build
cmake -S eigen-3.4.0 -B eigen-build -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=output/windows-mingw_64/eigen-3.4.0 -DCMAKE_BUILD_TYPE=Release
cmake --build eigen-build --target install
- name: Download Nlohmann-Json
run: |
curl -L https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.tar.gz | tar -xz
mkdir json-build
cmake -S json-3.10.5 -B json-build -G "MinGW Makefiles" -DJSON_BuildTests=OFF -DCMAKE_INSTALL_PREFIX=output/windows-mingw_64/json-3.10.5 -DCMAKE_BUILD_TYPE=Release
cmake --build json-build --target install
- name: Download Catch
run: |
curl -L https://github.com/catchorg/Catch2/archive/refs/tags/v2.13.9.tar.gz | tar -xz
mkdir catch-build
cmake -S Catch2-2.13.9 -B catch-build -G "MinGW Makefiles" -DCATCH_BUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=output/windows-mingw_64/catch-2.13.9 -DCMAKE_BUILD_TYPE=Release
cmake --build catch-build --target install
- name: Write CMake file
uses: frdrwrt/write-to-file@v1.3
with:
filepath: output/windows-mingw_64/paths.cmake
mode: 0666
content: |
set(
CMAKE_PREFIX_PATH
${CMAKE_CURRENT_LIST_DIR}/Qt/5.15.2/mingw81_64/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/boost-1.79.0/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/catch-2.13.9/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/eigen-3.4.0/share/eigen3/cmake
${CMAKE_CURRENT_LIST_DIR}/json-3.10.5/lib/cmake
)
- uses: papeloto/action-zip@v1
with:
files: output
dest: windows-mingw_64.zip

- uses: actions/upload-artifact@v2
with:
name: windows-artifact
path: windows-mingw_64.zip

build-linux:
runs-on: ubuntu-18.04
steps:
- name: Download Boost
run: |
curl -L https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz | tar -xz
cd boost_1_79_0
./bootstrap.sh --prefix=../output/linux-gcc_64/boost-1.79.0
./b2 --with-headers --prefix=../output/linux-gcc_64/boost-1.79.0 install
- name: Download Eigen
run: |
curl -L https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz | tar -xz
mkdir eigen-build
cmake -S eigen-3.4.0 -B eigen-build -DCMAKE_INSTALL_PREFIX=output/linux-gcc_64/eigen-3.4.0 -DCMAKE_BUILD_TYPE=Release
cmake --build eigen-build --target install
- name: Download Nlohmann-Json
run: |
curl -L https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.tar.gz | tar -xz
mkdir json-build
cmake -S json-3.10.5 -B json-build -DJSON_BuildTests=OFF -DCMAKE_INSTALL_PREFIX=output/linux-gcc_64/json-3.10.5 -DCMAKE_BUILD_TYPE=Release
cmake --build json-build --target install
- name: Download Catch
run: |
curl -L https://github.com/catchorg/Catch2/archive/refs/tags/v2.13.9.tar.gz | tar -xz
mkdir catch-build
cmake -S Catch2-2.13.9 -B catch-build -DCATCH_BUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=output/linux-gcc_64/catch-2.13.9 -DCMAKE_BUILD_TYPE=Release
cmake --build catch-build --target install
- name: Write CMake file
uses: frdrwrt/write-to-file@v1.3
with:
filepath: output/linux-gcc_64/paths.cmake
mode: 0666
content: |
set(
CMAKE_PREFIX_PATH
${CMAKE_CURRENT_LIST_DIR}/boost-1.79.0/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/catch-2.13.9/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/eigen-3.4.0/share/eigen3/cmake
${CMAKE_CURRENT_LIST_DIR}/json-3.10.5/lib/cmake
)
- uses: papeloto/action-zip@v1
with:
files: output
dest: linux-gcc_64.zip

- uses: actions/upload-artifact@v2
with:
name: linux-artifact
path: linux-gcc_64.zip

build-macos:
runs-on: macos-10.15
steps:
- name: Download Qt
uses: jurplel/install-qt-action@v2
with:
version: 5.15.2
dir: output/macos-clang_64

- name: Download Boost
run: |
curl -L https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz | tar -xz
cd boost_1_79_0
./bootstrap.sh --prefix=../output/macos-clang_64/boost-1.79.0
./b2 --with-headers --prefix=../output/macos-clang_64/boost-1.79.0 install
- name: Download Eigen
run: |
curl -L https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz | tar -xz
mkdir eigen-build
cmake -S eigen-3.4.0 -B eigen-build -DCMAKE_INSTALL_PREFIX=output/macos-clang_64/eigen-3.4.0 -DCMAKE_BUILD_TYPE=Release
cmake --build eigen-build --target install
- name: Download Nlohmann-Json
run: |
curl -L https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.tar.gz | tar -xz
mkdir json-build
cmake -S json-3.10.5 -B json-build -DJSON_BuildTests=OFF -DCMAKE_INSTALL_PREFIX=output/macos-clang_64/json-3.10.5 -DCMAKE_BUILD_TYPE=Release
cmake --build json-build --target install
- name: Download Catch
run: |
curl -L https://github.com/catchorg/Catch2/archive/refs/tags/v2.13.9.tar.gz | tar -xz
mkdir catch-build
cmake -S Catch2-2.13.9 -B catch-build -DCATCH_BUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=output/macos-clang_64/catch-2.13.9 -DCMAKE_BUILD_TYPE=Release
cmake --build catch-build --target install
- name: Write CMake file
uses: frdrwrt/write-to-file@v1.3
with:
filepath: output/macos-clang_64/paths.cmake
mode: 0666
content: |
set(
CMAKE_PREFIX_PATH
${CMAKE_CURRENT_LIST_DIR}/Qt/5.15.2/clang_64/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/boost-1.79.0/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/catch-2.13.9/lib/cmake
${CMAKE_CURRENT_LIST_DIR}/eigen-3.4.0/share/eigen3/cmake
${CMAKE_CURRENT_LIST_DIR}/json-3.10.5/lib/cmake
)
- uses: papeloto/action-zip@v1
with:
files: output
dest: macos-clang_64.zip

- uses: actions/upload-artifact@v2
with:
name: macos-artifact
path: macos-clang_64.zip

develop-release:
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-18.04
needs: [build-windows, build-linux, build-macos]
steps:
- uses: actions/download-artifact@v2
with:
name: windows-artifact
- uses: actions/download-artifact@v2
with:
name: linux-artifact
- uses: actions/download-artifact@v2
with:
name: macos-artifact

- name: Create release
uses: marvinpinto/action-automatic-releases@v1.2.1
with:
repo_token: ${{ secrets.RELEASE_TOKEN }}
automatic_release_tag: latest
prerelease: true
title: Development Build
files: |
*.zip
tagged-release:
if: startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-18.04
needs: [build-windows, build-linux, build-macos]
steps:
- uses: actions/download-artifact@v2
with:
name: windows-artifact
- uses: actions/download-artifact@v2
with:
name: linux-artifact
- uses: actions/download-artifact@v2
with:
name: macos-artifact

- name: Create release
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: ${{ secrets.RELEASE_TOKEN }}
draft: true
files: |
*.zip
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# virtualbow-dependencies

Build information and releases for the dependencies of VirtualBow.
# virtualbow-dependencies

This project provides pre-built dependencies for [VirtualBow](https://github.com/bow-simulation/virtualbow).
12 changes: 0 additions & 12 deletions linux/boost.sh

This file was deleted.

10 changes: 0 additions & 10 deletions linux/catch.sh

This file was deleted.

10 changes: 0 additions & 10 deletions linux/eigen.sh

This file was deleted.

10 changes: 0 additions & 10 deletions linux/json.sh

This file was deleted.

10 changes: 0 additions & 10 deletions linux/nlopt.sh

This file was deleted.

8 changes: 0 additions & 8 deletions linux/paths.cmake

This file was deleted.

1 change: 0 additions & 1 deletion linux/qt.sh

This file was deleted.

12 changes: 0 additions & 12 deletions macos/boost.sh

This file was deleted.

10 changes: 0 additions & 10 deletions macos/catch.sh

This file was deleted.

10 changes: 0 additions & 10 deletions macos/eigen.sh

This file was deleted.

10 changes: 0 additions & 10 deletions macos/json.sh

This file was deleted.

10 changes: 0 additions & 10 deletions macos/nlopt.sh

This file was deleted.

9 changes: 0 additions & 9 deletions macos/paths.cmake

This file was deleted.

1 change: 0 additions & 1 deletion macos/qt.md

This file was deleted.

12 changes: 0 additions & 12 deletions windows/boost.sh

This file was deleted.

Loading

0 comments on commit 3256eb0

Please sign in to comment.