Use new ImGui TextLinkOpenURL() in the about window #75
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'macOS' | |
env: | |
LIBRARIES_BRANCH: libraries-OS-COMPILER | |
NCINE_SOURCE_BRANCH: BRANCH_NAME | |
DEPLOY_MESSAGE: | |
"Push artifact from GitHub Actions build ${{ github.run_number }} with id ${{ github.run_id }} | |
- PROJECT_NAME artifact from branch 'BRANCH_NAME' with commit id ${{ github.sha }}" | |
DEPLOY_BRANCH: PROJECT_NAME-BRANCH_NAME-OS-COMPILER | |
on: [push, workflow_dispatch] | |
jobs: | |
macOS: | |
strategy: | |
fail-fast: false | |
matrix: | |
BuildType: [Debug, Release, BinDist] | |
os: [macOS-13, macOS-14] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: 'Checkout Code' | |
uses: actions/checkout@v4 | |
- name: 'Unshallow Git Repository for Versioning' | |
if: matrix.BuildType == 'BinDist' | |
run: | | |
git fetch --unshallow || true | |
- name: 'Download nCine-libraries and project data' | |
run: | | |
if [[ "${{ matrix.os }}" == "macOS-14" ]]; then | |
export OS=macos14 | |
else | |
export OS=macos13 | |
fi | |
export CC=appleclang | |
export LIBRARIES_BRANCH=`echo $LIBRARIES_BRANCH | sed 's/OS/'"$OS"'/'` | |
export LIBRARIES_BRANCH=`echo $LIBRARIES_BRANCH | sed 's/COMPILER/'"$CC"'/'` | |
cd .. | |
git clone https://github.com/nCine/nCine-libraries-artifacts.git | |
cd nCine-libraries-artifacts | |
git checkout $LIBRARIES_BRANCH | |
LIBRARIES_FILE=$(ls -t | head -n 1) && tar xpzf $LIBRARIES_FILE | |
mv nCine-external .. | |
cd .. | |
rm -rf nCine-libraries-artifacts | |
git clone https://github.com/$GITHUB_REPOSITORY-data.git | |
- name: 'Download nCine source and data' | |
run: | | |
export BRANCH_NAME=$(git describe --tags --exact-match 2> /dev/null || git symbolic-ref -q --short HEAD || git rev-parse --short HEAD) | |
export NCINE_SOURCE_BRANCH=`echo $NCINE_SOURCE_BRANCH | sed 's/BRANCH_NAME/'"$BRANCH_NAME"'/'` | |
cd .. | |
git clone https://github.com/nCine/nCine-data.git | |
git clone https://github.com/nCine/nCine.git --branch $NCINE_SOURCE_BRANCH | |
- name: 'CMake Configuration and Make of nCine as a static library' | |
run: | | |
cd ../nCine | |
if [[ "${{ matrix.BuildType }}" == "BinDist" ]]; then | |
export NCINE_BUILD_TYPE=Release | |
else | |
export NCINE_BUILD_TYPE=${{ matrix.BuildType }} | |
fi | |
export CMAKE_ARGS="-B ../nCine-build-$NCINE_BUILD_TYPE -D CMAKE_BUILD_TYPE=$NCINE_BUILD_TYPE -D NCINE_DYNAMIC_LIBRARY=OFF -D IMGUI_VERSION_TAG=docking -D NCINE_PREFERRED_BACKEND=SDL2 -D NCINE_WITH_THREADS=OFF -D NCINE_WITH_WEBP=OFF -D NCINE_WITH_AUDIO=OFF -D NCINE_WITH_SCRIPTING_API=OFF -D NCINE_BUILD_TESTS=OFF" | |
cmake $CMAKE_ARGS | |
cd .. | |
make -j2 -C nCine-build-$NCINE_BUILD_TYPE | |
- name: 'CMake Configuration' | |
run: | | |
export PROJECT_NAME=${GITHUB_REPOSITORY##*/} | |
export CMAKE_ARGS="-B ../$PROJECT_NAME-build-${{ matrix.BuildType }}" | |
if [[ "${{ matrix.BuildType }}" == "BinDist" ]]; then | |
cmake $CMAKE_ARGS -D NCPROJECT_OPTIONS_PRESETS=${{ matrix.BuildType }} -D nCine_DIR=$(pwd)/../nCine-build-Release | |
else | |
cmake $CMAKE_ARGS -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D nCine_DIR=$(pwd)/../nCine-build-${{ matrix.BuildType }} | |
fi | |
- name: 'Make' | |
run: | | |
export PROJECT_NAME=${GITHUB_REPOSITORY##*/} | |
make -j2 -C ../$PROJECT_NAME-build-${{ matrix.BuildType }} | |
- name: 'Package' | |
if: matrix.BuildType == 'BinDist' | |
run: | | |
export PROJECT_NAME=${GITHUB_REPOSITORY##*/} | |
make package -C ../$PROJECT_NAME-build-${{ matrix.BuildType }} | |
- name: 'Push Artifacts' | |
if: matrix.BuildType == 'BinDist' | |
env: | |
PUBLIC_REPO_TOKEN: ${{ secrets.PUBLIC_REPO_TOKEN }} | |
run: | | |
git config --global user.email "actions@github.com" | |
git config --global user.name "GitHub Actions" | |
export PROJECT_NAME=${GITHUB_REPOSITORY##*/} | |
export BRANCH_NAME=$(git describe --tags --exact-match 2> /dev/null || git symbolic-ref -q --short HEAD || git rev-parse --short HEAD) | |
export DEPLOY_MESSAGE=`sed 's/PROJECT_NAME/'"$PROJECT_NAME"'/' <<< "$DEPLOY_MESSAGE"` | |
export DEPLOY_MESSAGE=`sed 's/BRANCH_NAME/'"$BRANCH_NAME"'/' <<< "$DEPLOY_MESSAGE"` | |
if [[ "${{ matrix.os }}" == "macOS-14" ]]; then | |
export OS=macos14 | |
else | |
export OS=macos13 | |
fi | |
export CC=appleclang | |
export PROJECT_EXT=dmg | |
cd .. | |
export DEPLOY_BRANCH=`echo $DEPLOY_BRANCH | sed 's/PROJECT_NAME/'"$PROJECT_NAME"'/'` | |
export DEPLOY_BRANCH=`echo $DEPLOY_BRANCH | sed 's/BRANCH_NAME/'"$BRANCH_NAME"'/'` | |
export DEPLOY_BRANCH=`echo $DEPLOY_BRANCH | sed 's/OS/'"$OS"'/'` | |
export DEPLOY_BRANCH=`echo $DEPLOY_BRANCH | sed 's/COMPILER/'"$CC"'/'` | |
git clone https://$PUBLIC_REPO_TOKEN@github.com/$GITHUB_REPOSITORY-artifacts.git >/dev/null 2>&1 | |
cd $PROJECT_NAME-artifacts | |
git checkout $DEPLOY_BRANCH || git checkout --orphan $DEPLOY_BRANCH | |
git reset | |
git clean -f | |
git rm * || true | |
mv -f ../$PROJECT_NAME-build-${{ matrix.BuildType }}/*.$PROJECT_EXT . | |
git add *.$PROJECT_EXT | |
git commit --amend -m "$DEPLOY_MESSAGE" || git commit -m "$DEPLOY_MESSAGE" | |
git push --force || git push --set-upstream origin $DEPLOY_BRANCH |