small adjustments on workflows and readme

This commit is contained in:
alemuntoni 2019-12-10 14:01:35 +01:00
parent df95aa0596
commit f70cffc96c
6 changed files with 162 additions and 23 deletions

View File

@ -1,8 +1,9 @@
name: CompileAndDeploy
on:
schedule:
- cron: '0 0 1 * *' #every first day of the month at midnight
[push, pull_request]
#schedule:
# - cron: '0 0 1 * *' #every first day of the month at midnight
jobs:
ubuntu_build:
@ -32,7 +33,7 @@ jobs:
cd src/external
qmake external.pro
make -j4
- name: Compiling Meshlab
- name: Compiling MeshLab
run: |
cd src/
qmake meshlab_full.pro
@ -64,7 +65,7 @@ jobs:
cd src/external
qmake external.pro
make -j4
- name: Compiling Meshlab
- name: Compiling MeshLab
run: |
cd src/
qmake meshlab_full.pro
@ -72,15 +73,15 @@ jobs:
- name: Creating DMG
run: |
cd src/install/macx
./macinstall_v2018.sh
./macinstall_latest.sh
echo "------ Completed!!! We should have a dmg here "
cd ../../..
ls -la src/distrib/MeshLab201804.dmg
ls -la src/distrib/MeshLab*.dmg
- name: Uploading DMG
uses: actions/upload-artifact@v1
with:
name: meshlab_dmg
path: src/distrib/MeshLab201804.dmg
path: src/distrib/MeshLab*.dmg
windows_build:
name: Build MeshLab (Windows)
@ -103,12 +104,12 @@ jobs:
cd src\external
qmake external.pro -r
nmake
- name: Compiling Meshlab
- name: Compiling MeshLab
run: |
cd src\
qmake meshlab_full.pro -r
nmake
- name: Creating Meshlab Portable
- name: Creating MeshLab Portable
run: |
cd src\distrib
windeployqt --no-translations meshlab.exe
@ -149,8 +150,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_prerelease.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: meshlab_dmg/MeshLab201804.dmg
asset_name: MeshLab201804.dmg
asset_path: meshlab_dmg/MeshLab${{steps.envs.outputs.date}}.dmg
asset_name: MeshLab${{steps.envs.outputs.date}}.dmg
asset_content_type: MeshLab for MacOS
- name: Downloading MeshLab Portable
uses: actions/download-artifact@v1
@ -158,7 +159,7 @@ jobs:
name: meshlab_portable
- name: Creating Meshlab Portable Archive
run: |
zip -r Meshlab${{steps.envs.outputs.date}}-portable.zip meshlab_portable/
zip -r MeshLab${{steps.envs.outputs.date}}-portable.zip meshlab_portable/
ls
- name: Uploading PreReleaseWindowsPortable
id: upload-prerelease-windows-portable
@ -167,8 +168,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_prerelease.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: Meshlab${{steps.envs.outputs.date}}-portable.zip
asset_name: Meshlab${{steps.envs.outputs.date}}-portable.zip
asset_path: MeshLab${{steps.envs.outputs.date}}-portable.zip
asset_name: MeshLab${{steps.envs.outputs.date}}-portable.zip
asset_content_type: MeshLab Portable for Windows
# - name: Uploading PreReleaseUbuntu
# id: upload-prerelease-ubuntu

View File

@ -30,7 +30,7 @@ jobs:
cd src/external
qmake external.pro
make -j4
- name: Compiling Meshlab
- name: Compiling MeshLab
run: |
cd src/
qmake meshlab_full.pro
@ -38,12 +38,12 @@ jobs:
- name: Creating DMG
run: |
cd src/install/macx
./macinstall_v2018.sh
./macinstall_latest.sh
echo "------ Completed!!! We should have a dmg here "
cd ../../..
ls -la src/distrib/MeshLab201804.dmg
ls -la src/distrib/MeshLab*.dmg
- name: Uploading DMG
uses: actions/upload-artifact@v1
with:
name: meshlab_dmg
path: src/distrib/MeshLab201804.dmg
path: src/distrib/MeshLab*.dmg

View File

@ -31,7 +31,7 @@ jobs:
cd src/external
qmake external.pro
make -j4
- name: Compiling Meshlab
- name: Compiling MeshLab
run: |
cd src/
qmake meshlab_full.pro

View File

@ -24,16 +24,16 @@ jobs:
cd src\external
qmake external.pro -r
nmake #jom -j 4 -f Makefile #nmake does not support parallel compilation
- name: Compiling Meshlab
- name: Compiling MeshLab
run: |
cd src\
qmake meshlab_full.pro -r
nmake #jom -j 4 -f Makefile #nmake does not support parallel compilation
- name: Creating Meshlab Portable
- name: Creating MeshLab Portable
run: |
cd src\distrib
windeployqt --no-translations meshlab.exe
- name: Uploading Meshlab Portable
- name: Uploading MeshLab Portable
uses: actions/upload-artifact@v1
with:
name: meshlab_portable

View File

@ -3,6 +3,10 @@
[![Build Status](https://travis-ci.org/cnr-isti-vclab/meshlab.svg?branch=master)](https://travis-ci.org/cnr-isti-vclab/meshlab)
[![Build status](https://ci.appveyor.com/api/projects/status/bdxm2m4n5ud7vm47?svg=true)](https://ci.appveyor.com/project/cignoni/meshlab)
[![Actions Status](https://github.com/cnr-isti-vclab/meshlab/workflows/CompileUbuntu/badge.svg)](https://github.com/cnr-isti-vclab/meshlab/actions)
[![Actions Status](https://github.com/cnr-isti-vclab/meshlab/workflows/CompileMacOS/badge.svg)](https://github.com/cnr-isti-vclab/meshlab/actions)
[![Actions Status](https://github.com/cnr-isti-vclab/meshlab/workflows/CompileWindows/badge.svg)](https://github.com/cnr-isti-vclab/meshlab/actions)
This is the official repository for the sources and the binaries of MeshLab.
MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured large 3D triangular meshes. The source is released under the GPL license.
@ -10,5 +14,6 @@ The system is aimed to help the processing of the typical not-so-small unstructu
MeshLab is mostly based on the open source c++ mesh processing library [VCGlib](http://www.vcglib.net) developed at the [Visual Computing Lab](http://vcg.isti.cnr.it) of [ISTI - CNR](http://www.isti.cnr.it), for all the core mesh processing tasks and it is available for Windows, MacOSX, and Linux.
Compiling instruction can be found in the [src](https://github.com/cnr-isti-vclab/meshlab/tree/master/src) folder or simply looking at the continous integration setup on [travis](https://travis-ci.org/cnr-isti-vclab/meshlab/builds) and [appveyor](https://ci.appveyor.com/project/cignoni/meshlab/history).
Compiling instruction can be found in the [src](https://github.com/cnr-isti-vclab/meshlab/tree/master/src) folder or simply looking at the continous integration setup on [Github Actions](https://github.com/cnr-isti-vclab/meshlab/actions), [travis](https://travis-ci.org/cnr-isti-vclab/meshlab/builds) and [appveyor](https://ci.appveyor.com/project/cignoni/meshlab/history).

View File

@ -0,0 +1,133 @@
#!/bin/bash
# this is a script shell for setting up the application bundle for the mac
# It should be run (not sourced) in the meshlab/src/install/macx dir.
#
# It does all the dirty work of moving all the needed plugins and frameworks into the package and runs the
# install_tool on them to change the linking path to the local version of qt
# All the stuff to be copies is in the 'distrib' folder.
cd ../../distrib
if QTDIR=""
then
QTDIR=$HOME/Qt/5.9.4/clang_64
echo "Warning QTDIR was not set. trying to guess it to" $QTDIR
fi
if ! [ -e $QTDIR ]
then
echo "Missing QT; QTDIR was wrong:" $QTDIR
fi
# change this according to the shadow build dir.
# is the root of the build e.g. where the meshlab_full.pro it can be something like
BUILDPATH="../../build-meshlab_full-Desktop_Qt_5_9_4_clang_64bit2-Release"
APPNAME="meshlab.app"
echo "Current folder is" `pwd`
echo "Hopefully I should find: " $BUILDPATH/distrib/$APPNAME
echo "Or alternatively in : " ../distrib/$APPNAME
if ! [ -e $BUILDPATH ]
then
BUILDPATH=..
echo "Hopefully I should find" $BUILDPATH/distrib/$APPNAME
fi
APPFOLDER=$BUILDPATH/distrib/$APPNAME
BUNDLE="MeshLabBundle"
if [ -e $APPFOLDER -a -d $APPFOLDER ]
then
echo "------------------"
else
echo "Started in the wrong dir: I have not found the MeshLab.app"
exit 0
fi
# Start by erasing everything
rm -r -f $BUNDLE
echo "Copying the built app into the bundle"
mkdir $BUNDLE
cp -r $APPFOLDER $BUNDLE
mkdir $BUNDLE/$APPNAME/Contents/PlugIns
# copy the files icons into the app.
cp ../meshlab/images/meshlab_obj.icns $BUNDLE/$APPNAME/Contents/Resources
for x in $BUILDPATH/distrib/plugins/*.dylib
do
cp ./$x $BUNDLE/meshlab.app/Contents/PlugIns/
done
for x in $BUILDPATH/distrib/plugins/*.xml
do
cp ./$x $BUNDLE/meshlab.app/Contents/PlugIns/
done
for x in $BUNDLE/meshlab.app/Contents/plugins/*.dylib
do
install_name_tool -change libcommon.1.dylib @executable_path/libcommon.1.dylib $x
done
echo 'Copying samples and other files'
cp ../../LICENSE.txt $BUNDLE
cp ../../docs/readme.txt $BUNDLE
mkdir $BUNDLE/sample
mkdir $BUNDLE/sample/images
mkdir $BUNDLE/sample/normalmap
cp sample/texturedknot.ply $BUNDLE/sample
cp sample/texturedknot.obj $BUNDLE/sample
cp sample/texturedknot.mtl $BUNDLE/sample
cp sample/TextureDouble_A.png $BUNDLE/sample
cp sample/Laurana50k.ply $BUNDLE/sample
cp sample/duck_triangulate.dae $BUNDLE/sample
cp sample/images/duckCM.jpg $BUNDLE/sample/images
cp sample/seashell.gts $BUNDLE/sample
cp sample/chameleon4k.pts $BUNDLE/sample
cp sample/normalmap/laurana500.* $BUNDLE/sample/normalmap
cp sample/normalmap/matteonormb.* $BUNDLE/sample/normalmap
mkdir $BUNDLE/$APPNAME/Contents/plugins/U3D_OSX
cp plugins/U3D_OSX/IDTFConverter.out $BUNDLE/$APPNAME/Contents/plugins/U3D_OSX
cp plugins/U3D_OSX/IDTFConverter.sh $BUNDLE/$APPNAME/Contents/plugins/U3D_OSX
cp plugins/U3D_OSX/libIFXCore.so $BUNDLE/$APPNAME/Contents/plugins/U3D_OSX
mkdir $BUNDLE/$APPNAME/Contents/plugins/U3D_OSX/Plugins
cp plugins/U3D_OSX/Plugins/libIFXExporting.so $BUNDLE/$APPNAME/Contents/plugins/U3D_OSX/Plugins
mkdir $BUNDLE/$APPNAME/Contents/textures
cp textures/*.png $BUNDLE/$APPNAME/Contents/textures/
mkdir $BUNDLE/$APPNAME/Contents/textures/cubemaps
cp textures/cubemaps/uffizi*.jpg $BUNDLE/$APPNAME/Contents/textures/cubemaps
mkdir $BUNDLE/$APPNAME/Contents/textures/litspheres
cp textures/litspheres/*.png $BUNDLE/$APPNAME/Contents/textures/litspheres
mkdir $BUNDLE/$APPNAME/Contents/shaders
cp shaders/*.gdp shaders/*.vert shaders/*.frag shaders/*.txt $BUNDLE/$APPNAME/Contents/shaders
#added rendermonkey shaders
mkdir $BUNDLE/$APPNAME/Contents/shaders/shadersrm
cp shaders/shadersrm/*.rfx $BUNDLE/$APPNAME/Contents/shaders/shadersrm
#added shadowmapping shaders
cp -r shaders/decorate_shadow $BUNDLE/$APPNAME/Contents/shaders
echo "Changing the paths of the qt component frameworks using the qt tool macdeployqt"
if [ -e $QTDIR/bin/macdeployqt ]
then
echo
$QTDIR/bin/macdeployqt $BUNDLE/$APPNAME -verbose=2
else
macdeployqt $BUNDLE/$APPNAME -verbose=2
fi
cd ../install/macx
# final step create the dmg using appdmg
# appdmg is installed with 'npm install -g appdmg'",
rm -f ../../distrib/MeshLab*.dmg
appdmg meshlab_dmg.json ../../distrib/MeshLab$(date +%Y-%m).dmg