Skip to content

use UCRT64 instead of MINGW64 in msys2 #359

use UCRT64 instead of MINGW64 in msys2

use UCRT64 instead of MINGW64 in msys2 #359

Workflow file for this run

name: Release Builds
on: push
env:
LLVM_VERSION: "17.0.6-ucrt64"
QT_VERSION: "6.6.1-ucrt64"
LIBSBML_VERSION: "development"
LIBEXPAT_VERSION: "R_2_5_0"
SYMENGINE_VERSION: "master"
GMP_VERSION: "6.3.0"
MPFR_VERSION: "4.2.1"
SPDLOG_VERSION: "v1.12.0"
LIBTIFF_VERSION: "v4.6.0"
FMT_VERSION: "10.2.1"
TBB_VERSION: "fix_1145_missing_threads_dependency_static_build"
DPL_VERSION: "oneDPL-2022.2.0-rc1"
OPENCV_VERSION: "4.9.0"
CATCH2_VERSION: "v3.5.1"
BENCHMARK_VERSION: "v1.8.3"
CGAL_VERSION: "v5.6"
BOOST_VERSION: "1.84.0"
BOOST_VERSION_: "1_84_0"
QCUSTOMPLOT_VERSION: "2.1.1"
CEREAL_VERSION: "v1.3.2"
PAGMO_VERSION: "v2.19.0"
BZIP2_VERSION: "1.0.8"
ZIPPER_VERSION: "master"
COMBINE_VERSION: "master"
FUNCTION2_VERSION: "4.2.4"
VTK_VERSION: "v9.3.0"
SCOTCH_VERSION: "v7.0.4"
jobs:
linux:
name: Linux
runs-on: ubuntu-20.04
env:
HOST_TRIPLE: "x86_64-unknown-linux-gnu"
INSTALL_PREFIX: "/opt/smelibs"
SUDOCMD: "sudo"
OS_TARGET: "linux"
CC: "clang"
CXX: "clang++"
BOOST_INSTALL_PREFIX: "/opt/smelibs"
BOOST_BOOTSTRAP_OPTIONS: "--with-toolset=clang"
BOOST_B2_OPTIONS: "cxxflags=-fPIC"
TBB_ENABLE_IPO: "ON"
VTK_OPTIONS: ""
defaults:
run:
shell: bash
steps:
- name: Add llvm repo for clang 17
run: |
sudo wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-17 main"
- name: Qt6 build dependencies
run: |
sudo apt update -yy
sudo apt install -yy clang-17 libglu1-mesa-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxkbcommon-dev libxkbcommon-x11-dev '^libxcb.*-dev'
- name: Disable system blas/lapack
run: |
sudo rm /usr/lib/x86_64-linux-gnu/libblas*
sudo rm /usr/lib/x86_64-linux-gnu/liblapack*
- name: Set clang version
run: |
sudo update-alternatives --remove-all clang || echo "nothing to remove"
sudo update-alternatives --remove-all clang++ || echo "nothing to remove"
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 100
- uses: actions/checkout@v4
- name: Build script
run: ./build.sh
- uses: actions/upload-artifact@v4
with:
name: artifacts-linux
path: ./artefacts/*
macos:
name: MacOS
runs-on: macos-13
env:
HOST_TRIPLE: "x86_64-apple-darwin16"
INSTALL_PREFIX: "/opt/smelibs"
SUDOCMD: "sudo"
MACOSX_DEPLOYMENT_TARGET: "11"
OS_TARGET: "osx"
BOOST_INSTALL_PREFIX: "/opt/smelibs"
BOOST_BOOTSTRAP_OPTIONS: ""
BOOST_B2_OPTIONS: 'cxxflags="-mmacosx-version-min=11" linkflags="-mmacosx-version-min=11"'
TBB_ENABLE_IPO: "ON"
VTK_OPTIONS: "-DFREETYPE_LIBRARY_RELEASE=/opt/smelibs/lib/libQt6BundledFreetype.a -DFREETYPE_INCLUDE_DIR_freetype2=/opt/smelibs/include/QtFreetype -DFREETYPE_INCLUDE_DIR_ft2build=/opt/smelibs/include/QtFreetype"
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "14.3"
- run: |
brew install bison flex
echo "/usr/local/opt/flex/bin:/usr/local/opt/bison/bin:$PATH" >> $GITHUB_PATH
- name: Build script
run: ./build.sh
- uses: actions/upload-artifact@v4
with:
name: artifacts-macos
path: ./artefacts/*
win64-mingw:
name: Windows 64-bit Mingw
runs-on: windows-2022
env:
HOST_TRIPLE: "x86_64-w64-mingw64"
INSTALL_PREFIX: "/c/smelibs"
SUDOCMD: ""
OS_TARGET: "win64-mingw"
BOOST_INSTALL_PREFIX: "C:/smelibs"
BOOST_BOOTSTRAP_OPTIONS: ""
BOOST_B2_OPTIONS: "address-model=64"
TBB_ENABLE_IPO: "OFF"
VTK_OPTIONS: "-DFREETYPE_LIBRARY_RELEASE=/c/smelibs/lib/libQt6BundledFreetype.a -DFREETYPE_INCLUDE_DIR_freetype2=/c/smelibs/include/QtFreetype -DFREETYPE_INCLUDE_DIR_ft2build=/c/smelibs/include/QtFreetype"
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
install: mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-python make m4 git diffutils flex bison
- name: Build script
run: ./build.sh
- uses: actions/upload-artifact@v4
with:
name: artifacts-win64-mingw
path: ./artefacts/*
release:
name: Upload Binaries to GitHub Release
needs: [linux, macos, win64-mingw]
runs-on: ubuntu-latest
# upload binaries to github release if commit is tagged
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')
permissions:
contents: write
steps:
- uses: dev-drprasad/delete-older-releases@v0.3.2
with:
repo: spatial-model-editor/sme_deps_common
keep_latest: 5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/download-artifact@v4
with:
pattern: artifacts-*
merge-multiple: true
path: binaries
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: binaries/*
tag: ${{ github.ref }}
overwrite: true
file_glob: true