Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
HuguesDelorme committed Dec 20, 2023
2 parents f88a35d + a61a27a commit 665e386
Show file tree
Hide file tree
Showing 162 changed files with 10,480 additions and 4,448 deletions.
77 changes: 33 additions & 44 deletions .github/workflows/ci.yml → .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
@@ -1,76 +1,71 @@
name: CI
name: Linux

on: [push]

jobs:
ci:
build-linux:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
qt_version: [5.15.2, 6.5.2]

runs-on: ${{matrix.os}}
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v2
with:
path: 'source'
fetch-depth: 0
lfs: 'false'

- name: Cache Qt
id: cache-qt
uses: actions/cache@v1
with:
path: ../Qt
key: ${{ runner.os }}-QtCache

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v3
with:
cached: ${{ steps.cache-qt.outputs.cache-hit }}
version: ${{matrix.qt_version}}
cache: true
cache-key-prefix: QtCache

# Actually needed for Qt6
- name: Install dependencies for "xcb" Qt plugin
run: |
sudo apt-get -y install libxcb-cursor0
- name: Install OpenCascade[Ubuntu]
if: startsWith(matrix.os, 'ubuntu')
- name: Install OpenCascade
run: |
sudo apt-get -y install libocct-data-exchange-dev libocct-draw-dev
GH_CASCADE_INC_DIR=`dpkg -L libocct-foundation-dev | grep -i "Standard_Version.hxx" | sed "s/\/Standard_Version.hxx//i"`
GH_CASCADE_LIB_DIR=`dpkg -L libocct-foundation-dev | grep -i "libTKernel.so" | sed "s/\/libTKernel.so//i"`
echo "GH_CASCADE_INC_DIR=$GH_CASCADE_INC_DIR" >> $GITHUB_ENV
echo "GH_CASCADE_LIB_DIR=$GH_CASCADE_LIB_DIR" >> $GITHUB_ENV
- name: Install OpenCascade[macOS]
if: startsWith(matrix.os, 'macos')
- name: Install Assimp
run: |
brew install opencascade
GH_CASCADE_BASE_DIR=`brew info opencascade | grep -E -i --only-matching --max-count=1 "^(/[a-z\.\-_0-9]+)+"`
echo "GH_CASCADE_INC_DIR=$GH_CASCADE_BASE_DIR/include/opencascade" >> $GITHUB_ENV
echo "GH_CASCADE_LIB_DIR=$GH_CASCADE_BASE_DIR/lib" >> $GITHUB_ENV
sudo apt-get -y install libassimp-dev
GH_ASSIMP_INC_DIR=`dpkg -L libassimp-dev | grep -i "version.h" | sed "s/\/version.h//i"`
GH_ASSIMP_LIB_DIR=`dpkg -L libassimp-dev | grep -i "libassimp.so" | sed "s/\/libassimp.so//i"`
echo "GH_ASSIMP_INC_DIR=$GH_ASSIMP_INC_DIR" >> $GITHUB_ENV
echo "GH_ASSIMP_LIB_DIR=$GH_ASSIMP_LIB_DIR" >> $GITHUB_ENV
- name: Get count of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores

- name: Create Build folder
run: mkdir ${{github.workspace}}/build

- name: QMake
working-directory: ${{github.workspace}}/build
- name: Build
run: |
mkdir ${{github.workspace}}/build
cd ${{github.workspace}}/build
echo CASCADE_INC_DIR=${{env.GH_CASCADE_INC_DIR}}
echo CASCADE_LIB_DIR=${{env.GH_CASCADE_LIB_DIR}}
echo ASSIMP_INC_DIR=${{env.GH_ASSIMP_INC_DIR}}
echo ASSIMP_LIB_DIR=${{env.GH_ASSIMP_LIB_DIR}}
[ ! -d $CASCADE_INC_DIR ] && echo "ERROR: OpenCascade include dir doesn't exist"
[ ! -d $CASCADE_LIB_DIR ] && echo "ERROR: OpenCascade lib dir doesn't exist"
qmake ../source CASCADE_INC_DIR=${{env.GH_CASCADE_INC_DIR}} CASCADE_LIB_DIR=${{env.GH_CASCADE_LIB_DIR}} CONFIG+=withtests
- name: Build
working-directory: ${{github.workspace}}/build
run: |
[ ! -d $ASSIMP_INC_DIR ] && echo "ERROR: assimp include dir doesn't exist"
[ ! -d $ASSIMP_LIB_DIR ] && echo "ERROR: assimp lib dir doesn't exist"
qmake .. CONFIG+=withtests \
CASCADE_INC_DIR=${{env.GH_CASCADE_INC_DIR}} \
CASCADE_LIB_DIR=${{env.GH_CASCADE_LIB_DIR}} \
ASSIMP_INC_DIR=${{env.GH_ASSIMP_INC_DIR}} \
ASSIMP_LIB_DIR=${{env.GH_ASSIMP_LIB_DIR}}
make -j${{steps.cpu-cores.outputs.count}}
- name: Execute Unit Tests[Ubuntu]
if: startsWith(matrix.os, 'ubuntu')
- name: Execute Unit Tests
working-directory: ${{github.workspace}}/build
env:
DISPLAY: :0
Expand All @@ -84,9 +79,3 @@ jobs:
sleep 5s
# Run tests
./mayo --runtests
- name: Execute Unit Tests[macOS]
if: startsWith(matrix.os, 'macos')
working-directory: ${{github.workspace}}/build
run: |
./mayo.app/Contents/MacOS/mayo --runtests
59 changes: 59 additions & 0 deletions .github/workflows/ci_macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: macOS

on: [push]

jobs:
build-macos:
runs-on: macos-latest

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
cache: true
cache-key-prefix: QtCache

- name: Install OpenCascade
run: |
brew install opencascade
GH_CASCADE_BASE_DIR=`brew info opencascade | grep -E -i --only-matching --max-count=1 "^(/[a-z\.\-_0-9]+)+"`
echo "GH_CASCADE_INC_DIR=$GH_CASCADE_BASE_DIR/include/opencascade" >> $GITHUB_ENV
echo "GH_CASCADE_LIB_DIR=$GH_CASCADE_BASE_DIR/lib" >> $GITHUB_ENV
- name: Install Assimp
run: |
brew install assimp
GH_ASSIMP_BASE_DIR=`brew info assimp | grep -E -i --only-matching --max-count=1 "^(/[a-z\.\-_0-9]+)+"`
echo "GH_ASSIMP_INC_DIR=$GH_ASSIMP_BASE_DIR/include/assimp" >> $GITHUB_ENV
echo "GH_ASSIMP_LIB_DIR=$GH_ASSIMP_BASE_DIR/lib" >> $GITHUB_ENV
- name: Get count of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores

- name: Build
run: |
mkdir ${{github.workspace}}/build
cd ${{github.workspace}}/build
echo CASCADE_INC_DIR=${{env.GH_CASCADE_INC_DIR}}
echo CASCADE_LIB_DIR=${{env.GH_CASCADE_LIB_DIR}}
echo ASSIMP_INC_DIR=${{env.GH_ASSIMP_INC_DIR}}
echo ASSIMP_LIB_DIR=${{env.GH_ASSIMP_LIB_DIR}}
[ ! -d $CASCADE_INC_DIR ] && echo "ERROR: OpenCascade include dir doesn't exist"
[ ! -d $CASCADE_LIB_DIR ] && echo "ERROR: OpenCascade lib dir doesn't exist"
[ ! -d $ASSIMP_INC_DIR ] && echo "ERROR: assimp include dir doesn't exist"
[ ! -d $ASSIMP_LIB_DIR ] && echo "ERROR: assimp lib dir doesn't exist"
qmake .. CONFIG+=withtests \
CASCADE_INC_DIR=${{env.GH_CASCADE_INC_DIR}} \
CASCADE_LIB_DIR=${{env.GH_CASCADE_LIB_DIR}} \
ASSIMP_INC_DIR=${{env.GH_ASSIMP_INC_DIR}} \
ASSIMP_LIB_DIR=${{env.GH_ASSIMP_LIB_DIR}}
make -j${{steps.cpu-cores.outputs.count}}
- name: Execute Unit Tests
working-directory: ${{github.workspace}}/build
run: |
./mayo.app/Contents/MacOS/mayo --runtests
99 changes: 99 additions & 0 deletions .github/workflows/ci_windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Windows

on: [push]

jobs:
build-windows-msvc:
strategy:
matrix:
occ_version: [7.3.0, 7.4.0, 7.5.0, 7.6.0, 7.7.0]

runs-on: windows-latest

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
cache: true
cache-key-prefix: QtCache

- name: Cache OpenCascade archive
id: cache-occ
uses: actions/cache@v3
with:
path: OpenCASCADE-${{matrix.occ_version}}-vc14-64.zip
key: occ-${{matrix.occ_version}}

- name: Download OpenCascade
if: steps.cache-occ.outputs.cache-hit != 'true'
uses: carlosperate/download-file-action@v2
with:
file-url: 'https://www.fougue.pro/share/bin/OpenCASCADE-${{matrix.occ_version}}-vc14-64.zip'

- name: Extract OpenCascade
shell: pwsh
run: |
Expand-Archive -Path OpenCASCADE-${{matrix.occ_version}}-vc14-64.zip -DestinationPath .
- name: Cache Assimp archive
id: cache-assimp
uses: actions/cache@v3
with:
path: assimp-5.3.1.zip
key: assimp-5.3.1

- name: Download Assimp
if: steps.cache-assimp.outputs.cache-hit != 'true'
uses: carlosperate/download-file-action@v2
with:
file-url: 'https://www.fougue.pro/share/bin/assimp-5.3.1.zip'

- name: Extract Assimp
shell: pwsh
run: |
Expand-Archive -Path assimp-5.3.1.zip -DestinationPath .
- name: Download jom.exe
uses: carlosperate/download-file-action@v2
with:
file-url: 'https://www.fougue.pro/share/bin/jom.exe'

- name: Get count of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores

- name: Create Build folder
run: mkdir ${{github.workspace}}/build

- name: Configure Compiler
uses: ilammy/msvc-dev-cmd@v1

- name: QMake
working-directory: ${{github.workspace}}/build
shell: cmd
run: |
call ..\OpenCASCADE-${{matrix.occ_version}}-vc14-64\opencascade-${{matrix.occ_version}}\env.bat
echo CSF_OCCTIncludePath=%CSF_OCCTIncludePath%
echo CSF_OCCTLibPath=%CSF_OCCTLibPath%
qmake --version
qmake ..\mayo.pro CONFIG+=release CONFIG+=withtests ^
ASSIMP_INC_DIR=${{github.workspace}}/assimp-5.3.1/include/assimp ^
ASSIMP_LIB_DIR=${{github.workspace}}/assimp-5.3.1/lib ^
ASSIMP_LIBNAME_SUFFIX=-vc143-mt
- name: Build
working-directory: ${{github.workspace}}/build
run: |
..\jom.exe -j${{steps.cpu-cores.outputs.count}}
- name: Execute Unit Tests
working-directory: ${{github.workspace}}/build
shell: cmd
run: |
call ..\OpenCASCADE-${{matrix.occ_version}}-vc14-64\opencascade-${{matrix.occ_version}}\env.bat
set PATH=${{github.workspace}}\assimp-5.3.1\bin;%PATH%
release\mayo.exe --runtests -o utests-output.txt
more utests-output.txt
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
build-*
*.user
*.user.*
installer/setupvars.iss
installer/Output
custom.pri
custom.pri
env.pri
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<div align="center">

[![CI](https://github.com/fougue/mayo/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/fougue/mayo/actions/workflows/ci.yml)
[![Build status](https://ci.appveyor.com/api/projects/status/6d1w0d6gw28npxpf/branch/develop?svg=true)](https://ci.appveyor.com/project/HuguesDelorme/mayo)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d51f8ca6fea34886b8308ff0246172ce)](https://www.codacy.com/gh/fougue/mayo/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=fougue/mayo&amp;utm_campaign=Badge_Grade)
[![Windows CI](https://github.com/fougue/mayo/actions/workflows/ci_windows.yml/badge.svg?branch=develop)](https://github.com/fougue/mayo/actions/workflows/ci_windows.yml)
[![Linux CI](https://github.com/fougue/mayo/actions/workflows/ci_linux.yml/badge.svg?branch=develop)](https://github.com/fougue/mayo/actions/workflows/ci_linux.yml)
[![macOS CI](https://github.com/fougue/mayo/actions/workflows/ci_macos.yml/badge.svg?branch=develop)](https://github.com/fougue/mayo/actions/workflows/ci_macos.yml)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d51f8ca6fea34886b8308ff0246172ce)](https://app.codacy.com/gh/fougue/mayo/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![Downloads](https://img.shields.io/github/downloads/fougue/mayo/total.svg)](https://github.com/fougue/mayo/releases)
[![License](https://img.shields.io/badge/license-BSD%202--clause-blue.svg)](https://github.com/fougue/mayo/blob/develop/LICENSE.txt)
[![Version](https://img.shields.io/badge/version-v0.7.0-blue.svg?style=flat)](https://github.com/fougue/mayo/releases)

</div>
Expand Down Expand Up @@ -62,9 +62,14 @@ OBJ | :white_check_mark: | :white_check_mark: |
glTF | :white_check_mark: | :white_check_mark: | 1.0, 2.0 and GLB
VRML | :white_check_mark: | :white_check_mark: | v2.0 UTF8
STL | :white_check_mark: | :white_check_mark: | ASCII/binary
AMF | :x: | :white_check_mark: | v1.2 Text/ZIP
AMF | :white_check_mark: | :white_check_mark: | v1.2 Text/ZIP(export)
PLY | :white_check_mark: | :white_check_mark: | ASCII/binary
OFF | :white_check_mark: | :white_check_mark: |
3MF | :white_check_mark: | :x: |
3DS | :white_check_mark: | :x: |
FBX | :white_check_mark: | :x: |
Collada | :white_check_mark: | :x: |
X3D | :white_check_mark: | :x: |
Image | :x: | :white_check_mark: | PNG, JPEG, ...

See also this dedicated [wikipage](https://github.com/fougue/mayo/wiki/Supported-formats) for more details
Expand Down
63 changes: 0 additions & 63 deletions appveyor.yml

This file was deleted.

Binary file added doc/screenshot_ubuntu_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot_ubuntu_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot_ubuntu_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot_ubuntu_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot_ubuntu_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot_ubuntu_main.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified i18n/mayo_en.qm
Binary file not shown.
Loading

0 comments on commit 665e386

Please sign in to comment.