Automatic merge branch 'main' into 'devel'

This commit is contained in:
github-actions[bot] 2022-04-07 15:41:43 +00:00 committed by GitHub
commit eb04ae8f51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 220 additions and 194 deletions

View File

@ -0,0 +1,21 @@
name: AutoMergeMainOnDevel
on:
push:
branches:
- 'main'
jobs:
auto_merge:
name: Automatic Merge Main On Devel
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Merge main -> devel
uses: devmasx/merge-branch@master
with:
type: now
target_branch: devel
message: "Automatic merge branch 'main' into 'devel'"
github_token: ${{ github.token }}

View File

@ -46,9 +46,10 @@ jobs:
uses: jurplel/install-qt-action@v2
- name: Install dependencies
run: |
sudo apt-get install -y mesa-common-dev libglu1-mesa-dev libgmp-dev libcgal-dev libboost-all-dev
#needed by qt 5.15 on linux
sudo apt-get install libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev
sudo apt-get update && sudo apt-get dist-upgrade
bash scripts/${{ runner.os }}/0_setup_env_ubuntu.sh --dont_install_qt --dowload_cgal_and_boost_src
#needed by qt 5.15 on linux
sudo apt-get install libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev
- name: Setup env variables
id: envs
shell: bash
@ -62,14 +63,10 @@ jobs:
shell: bash
run: |
bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }}
- name: Deploy
- name: Deploy and AppImage
shell: bash
run: |
bash scripts/${{ runner.os }}/2_deploy.sh
- name: Build MeshLab AppImage
shell: bash
run : |
bash scripts/${{ runner.os }}/3_appimage.sh
bash scripts/${{ runner.os }}/2_deploy_and_appimage.sh
- name: Upload Meshlab Portable
uses: actions/upload-artifact@v2
with:
@ -79,7 +76,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: meshlab_linux_appimage${{steps.envs.outputs.artifact_suffix}}
path: src/MeshLab*-linux.AppImage
path: MeshLab*-linux.AppImage
macos_build:
needs: [update_ml_version]

View File

@ -19,9 +19,10 @@ jobs:
uses: jurplel/install-qt-action@v2
- name: Install dependencies
run: |
sudo apt-get install -y mesa-common-dev libglu1-mesa-dev libgmp-dev libcgal-dev libboost-all-dev
#needed by qt 5.15 on linux
sudo apt-get install libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev
sudo apt-get update && sudo apt-get dist-upgrade
bash scripts/${{ runner.os }}/0_setup_env_ubuntu.sh --dont_install_qt --dowload_cgal_and_boost_src
#needed by qt 5.15 on linux
sudo apt-get install libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev
- name: Setup env variables
id: envs
shell: bash
@ -35,14 +36,10 @@ jobs:
shell: bash
run: |
bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }} --nightly
- name: Deploy
- name: Deploy and AppImage
shell: bash
run: |
bash scripts/${{ runner.os }}/2_deploy.sh
- name: Build MeshLab AppImage
shell: bash
run : |
bash scripts/${{ runner.os }}/3_appimage.sh
bash scripts/${{ runner.os }}/2_deploy_and_appimage.sh
#todo: try deb when ubuntu16.04 won't be required anymore by linuxdeployqt...
#- name: Build deb package
# uses: jiro4989/build-deb-action@v2
@ -62,7 +59,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: meshlab_linux_appimage${{steps.envs.outputs.artifact_suffix}}
path: src/MeshLab*.AppImage
path: MeshLab*-linux.AppImage
#- name: Upload MeshLab deb
# uses: actions/upload-artifact@v2
# with:

View File

@ -1,10 +1,61 @@
#!/bin/bash
# this is a script shell sets up an ubuntu (16.04, 18.04, 20.04) environment where
# this is a script shell sets up an ubuntu (18.04, 20.04 and 22.04) environment where
# MeshLab can be compiled.
#
# Run this script if you never installed any of the MeshLab dependencies.
DONT_INSTALL_QT=false
DOWNLOAD_CGAL_BOOST_SRC=false
#checking for parameters
for i in "$@"
do
case $i in
--dont_install_qt)
DONT_INSTALL_QT=true
shift # past argument=value
;;
--dowload_cgal_and_boost_src)
DOWNLOAD_CGAL_BOOST_SRC=true
shift # past argument=value
;;
*)
# unknown option
;;
esac
done
sudo apt-get update
sudo apt-get install -y qt5-default qttools5-dev-tools qtdeclarative5-dev
echo "=== installing mesa packages..."
sudo apt-get install -y mesa-common-dev libglu1-mesa-dev
sudo apt-get install -y libgmp-dev libcgal-dev libboost-all-dev patchelf cmake
if [ "$DONT_INSTALL_QT" = false ] ; then
echo "=== installing qt packages..."
sudo apt-get install -y qt5-default qttools5-dev-tools qtdeclarative5-dev
else
echo "=== jumping installation of qt packages..."
fi
echo "=== installing cmake, patchelf, gmp, mpfr and xcerces-c..."
sudo apt-get install -y cmake patchelf libgmp-dev libmpfr-dev libxerces-c-dev
# possibility to use always system libraries starting from ubuntu 20.04, since cgal is header only
if [ "$DOWNLOAD_CGAL_BOOST_SRC" = false ] ; then
echo "=== installing cgal and boost..."
sudo apt-get install -y libcgal-dev libboost-all-dev
else
echo "=== downloading cgal and boost sources..."
#default paths wrt the script folder
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
EXTERNAL_PATH=$SCRIPTS_PATH/../../src/external
cd $EXTERNAL_PATH
wget https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.zip
unzip boost_1_75_0.zip
rm boost_1_75_0.zip
wget https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip
unzip CGAL-5.2.1.zip
rm CGAL-5.2.1.zip
fi

View File

@ -1,50 +0,0 @@
#!/bin/bash
# This is a script shell for deploying a meshlab-portable folder.
# Requires a properly built MeshLab (see 1_build.sh).
#
# This script can be run only in the oldest supported linux distro
# due to linuxdeployqt tool choice (see https://github.com/probonopd/linuxdeployqt/issues/340).
#
# Without given arguments, the folder that will be deployed is meshlab/src/install, which
# should be the path where MeshLab has been installed (default output of 1_build.sh).
#
# You can give as argument the path where you installed MeshLab.
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
INSTALL_PATH=$SCRIPTS_PATH/../../src/install
#checking for parameters
for i in "$@"
do
case $i in
-i=*|--install_path=*)
INSTALL_PATH="${i#*=}"
shift # past argument=value
;;
*)
# unknown option
;;
esac
done
bash $SCRIPTS_PATH/resources/make_bundle.sh $INSTALL_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_PATH/usr/lib/meshlab
$SCRIPTS_PATH/resources/linuxdeployqt $INSTALL_PATH/usr/share/applications/meshlab.desktop \
-bundle-non-qt-libs \
-executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libfilter_sketchfab.so \
-executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libio_3ds.so \
-executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libio_ctm.so \
-executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libio_e57.so \
-executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libfilter_mesh_booleans.so
chmod +x $INSTALL_PATH/usr/bin/meshlab
rm $INSTALL_PATH/AppRun
cp $SCRIPTS_PATH/resources/AppRunMeshLab $INSTALL_PATH/
mv $INSTALL_PATH/AppRunMeshLab $INSTALL_PATH/AppRun
chmod +x $INSTALL_PATH/AppRun
#at this point, distrib folder contains all the files necessary to execute meshlab
echo "$INSTALL_PATH is now a self contained meshlab application"

View File

@ -0,0 +1,55 @@
#!/bin/bash
# This is a script shell for deploying a meshlab-portable folder.
# Requires a properly built MeshLab (see 1_build.sh).
#
# Without given arguments, the folder that will be deployed is meshlab/src/install, which
# should be the path where MeshLab has been installed (default output of 1_build.sh).
#
# You can give as argument the path where you installed MeshLab.
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
INSTALL_PATH=$SCRIPTS_PATH/../../src/install
QT_DIR=""
#checking for parameters
for i in "$@"
do
case $i in
-i=*|--install_path=*)
INSTALL_PATH="${i#*=}"
shift # past argument=value
;;
-qt=*|--qt_dir=*)
QT_DIR=${i#*=}
shift # past argument=value
;;
*)
# unknown option
;;
esac
done
bash $SCRIPTS_PATH/resources/make_bundle.sh $INSTALL_PATH
if [ ! -z "$QT_DIR" ]
then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QT_DIR/lib
export QMAKE=$QT_DIR/bin/qmake
fi
chmod +x $INSTALL_PATH/usr/bin/meshlab
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_PATH/usr/lib/meshlab
$SCRIPTS_PATH/resources/linuxdeploy --appdir=$INSTALL_PATH \
--plugin qt --output appimage
#get version
IFS=' ' #space delimiter
STR_VERSION=$($INSTALL_PATH/AppRun --version)
read -a strarr <<< "$STR_VERSION"
ML_VERSION=${strarr[1]} #get the meshlab version from the string
mv MeshLab-*.AppImage MeshLab$ML_VERSION-linux.AppImage
#at this point, distrib folder contains all the files necessary to execute meshlab
echo "$INSTALL_PATH is now a self contained meshlab application"

View File

@ -1,44 +0,0 @@
#!/bin/bash
# This is a script shell for setting up the AppImage bundle for linux
# Requires a properly built meshlab, boundled and deployed (see linux_deploy.sh)
# inside the directory given as argument
#
# Without given arguments, MeshLab AppImage will be placed in the src
# directory.
#
# You can give as argument the path of the bundle (default is src/install),
# and the AppImage will be placed in the parent directory (src)
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
INSTALL_PATH=$SCRIPTS_PATH/../../src/install
#checking for parameters
for i in "$@"
do
case $i in
-i=*|--install_path=*)
INSTALL_PATH="${i#*=}"
shift # past argument=value
;;
*)
# unknown option
;;
esac
done
PARENT_NAME="$(dirname $INSTALL_PATH)"
#get version
IFS=' ' #space delimiter
STR_VERSION=$($INSTALL_PATH/usr/bin/meshlab --version)
read -a strarr <<< "$STR_VERSION"
ML_VERSION=${strarr[1]} #get the meshlab version from the string
export VERSION=$ML_VERSION
$SCRIPTS_PATH/resources/appimagetool $INSTALL_PATH
mv MeshLab-$VERSION*.AppImage $PARENT_NAME/MeshLab$VERSION-linux.AppImage
#at this point, distrib folder contains all the files necessary to execute meshlab
echo MeshLab$VERSION-linux.AppImage generated

View File

@ -1,8 +1,21 @@
# Linux Scripts
This folder contains a series of scripts to build and deploy MeshLab under a Linux environment (tested on Ubuntu 16.04, 18.04 and 20.04).
This folder contains a series of scripts to build and deploy MeshLab under a Linux environment (tested on Ubuntu 18.04, 20.04 and 22.04).
* `0_setup_env_ubuntu.sh`: this script installs all the required dependencies that are necessary to build MeshLab in an Ubuntu distro (tested in 16.04, 18.04 and 20.04). If you never installed Qt and other libraries, you should run it before any other script;
## Note about Qt
Old versions of Ubuntu (< than 22.04) are shipped with old versions of Qt, but MeshLab requires Qt 5.15.
Therefore, you must install manually Qt separatelly in your system. You can then given the path of the Qt installation
directory to the various scripts.
You can check an example of this scenario in the examples section.
## Scripts
* `0_setup_env_ubuntu.sh`: this script installs all the required dependencies that are necessary to build MeshLab in an Ubuntu distro (tested in 18.04, 20.04 and 22.04). If you never installed Qt and other libraries, you should run it before any other script;
Arguments accepted by this script are the following:
* `--dont_install_qt`: does not install qt libraries. You should use this option if you are running a version of ubuntu older than 22.04, and install then manually Qt.
* `--dowload_cgal_and_boost_src`: downloads sources of cgal and boost libraries instead of using the system packages. It may be useful if you are running a version of ubuntu older than 20.04 (before this version, CGAL was not header only).
* `1_build.sh`: this script builds MeshLab in a Linux environment:
* it requires a properly set Qt environment (see `0_setup_env_ubuntu.sh`);
* takes as arguments:
@ -10,15 +23,12 @@ This folder contains a series of scripts to build and deploy MeshLab under a Lin
* the install directory (default: `src/install`): `--install_path=path/to/install`
* the number of cores used to build MeshLab (default: `-j4`)`
* the possibility to build MeshLab with double precision scalar: `--double_precision`
* `2_deploy.sh`: this script makes the given path a portable version of MeshLab. Takes as arguments:
* the path where the output install path of the `1_build.sh` script is placed (default: `src/install`): `--install_path=path/to/install`
* `3_appimage.sh`: this script computes, starting from the portable folder of MeshLab, an [AppImage](https://appimage.org/) that can be run in a Linux Environment without dependencies. Takes as arguments:
* the path where the output install path of the `2_deploy.sh` script is placed (default: `src/install`): `--install_path=path/to/install`
* if MeshLab has been built with double precision scalar, add: `--double_precision`
* optionally, the path of the custom Qt directory: `--qt_dir=path/to/qt`
* `2_deploy_and_appimage.sh`: this script makes the given path a portable version of MeshLab and creates also an [AppImage](https://appimage.org/) of it. Takes as arguments:
* the path where the output install path of the `1_build.sh` script is placed (default: `src/install`): `--install_path=path/to/install`
* optionally, the directory of the custom Qt directory: `--qt_dir=path/to/qt`
* `make_it.sh`: this script builds, deploys and generates an [AppImage](https://appimage.org/) that can be run in a Linux Environment without dependencies. Arguments are the same of the `1_build.sh` script.
__NOTE__: `linux_deploy.sh`and `linux_make_it.sh` use [LinuxDeployQt](https://github.com/probonopd/linuxdeployqt), which allows to deploy applications **only running the oldest supported linux distro** (see [this](https://github.com/probonopd/linuxdeployqt/issues/340)) in order to guarantee the largest support possible. Therefore, before running these scripts, be sure that your Linux distribution is the oldest supported one.
## Examples
Building MeshLab on a clean Linux environment (build placed in `meshlab/src/build`):
@ -27,13 +37,35 @@ Building MeshLab on a clean Linux environment (build placed in `meshlab/src/buil
bash meshlab/scripts/Linux/0_setup_env_ubuntu.sh
bash meshlab/scripts/Linux/1_build.sh
Building and generating AppImage on a clean Ubuntu 16.04 (last supported distro) environment:
Building and generating AppImage MeshLab on an old Ubuntu version with Qt installed in the path `/opt/Qt`:
* build directory: `meshlab/src/build`
* AppDir/portable version: `meshlab/src/install`
* AppImage path: `./`
```
git clone --recursive https://github.com/cnr-isti-vclab/meshlab
bash meshlab/scripts/Linux/0_setup_env_ubuntu.sh --dont_install_qt
bash meshlab/scripts/Linux/1_build.sh --qt_dir=/opt/Qt/5.15.2/gcc_64
bash meshlab/scripts/Linux/2_deploy_and_appimage.sh --qt_dir=/opt/Qt/5.15.2/gcc_64
```
Or, alternatively:
```
git clone --recursive https://github.com/cnr-isti-vclab/meshlab
bash meshlab/scripts/Linux/0_setup_env_ubuntu.sh --dont_install_qt
bash meshlab/scripts/Linux/make_it.sh --qt_dir=/opt/Qt/5.15.2/gcc_64
```
Building and generating AppImage on a clean Linux environment, using 16 cores and custom directories:
* build directory: `./meshlab-build`
* install directory: `./meshlab-install`
* AppDir/portable version: `./meshlab-install`
* AppImage path: `./`
```
git clone --recursive https://github.com/cnr-isti-vclab/meshlab
bash meshlab/scripts/Linux/0_setup_env_ubuntu.sh
bash meshlab/scripts/Linux/make_it.sh --build_path="./meshlab-build" --install_path="./meshlab-install"
bash meshlab/scripts/Linux/make_it.sh --build_path="./meshlab-build" --install_path="./meshlab-install" -j16
```

View File

@ -25,33 +25,37 @@ BUILD_PATH=$SOURCE_PATH/build
INSTALL_PATH=$SOURCE_PATH/install
CORES="-j4"
DOUBLE_PRECISION_OPTION=""
QT_DIR_OPTION=""
#check parameters
for i in "$@"
do
case $i in
-b=*|--build_path=*)
BUILD_PATH="${i#*=}"
shift # past argument=value
;;
BUILD_PATH="${i#*=}"
shift # past argument=value
;;
-i=*|--install_path=*)
INSTALL_PATH="${i#*=}"/usr/
shift # past argument=value
;;
INSTALL_PATH="${i#*=}"/usr/
shift # past argument=value
;;
-j*)
CORES=$i
shift # past argument=value
;;
CORES=$i
shift # past argument=value
;;
--double_precision)
DOUBLE_PRECISION_OPTION="--double_precision"
shift # past argument=value
;;
DOUBLE_PRECISION_OPTION="--double_precision"
shift # past argument=value
;;
-qt=*|--qt_dir=*)
QT_DIR_OPTION=-qt=${i#*=}
shift # past argument=value
;;
*)
# unknown option
;;
# unknown option
;;
esac
done
sh $SCRIPTS_PATH/1_build.sh -b=$BUILD_PATH -i=$INSTALL_PATH $DOUBLE_PRECISION_OPTION $CORES
sh $SCRIPTS_PATH/2_deploy.sh -i=$INSTALL_PATH
sh $SCRIPTS_PATH/3_appimage.sh -i=$INSTALL_PATH $DOUBLE_PRECISION_OPTION
sh $SCRIPTS_PATH/1_build.sh -b=$BUILD_PATH -i=$INSTALL_PATH $QT_DIR_OPTION $DOUBLE_PRECISION_OPTION $CORES
sh $SCRIPTS_PATH/2_deploy_and_appimage.sh -i=$INSTALL_PATH $QT_DIR_OPTION

View File

@ -1,9 +0,0 @@
#!/bin/bash
#this script is necessary only for the u3d exporter.
#libIFX has its own library loader, which does not consider
#the runpath set in the meshlab binary. It looks only the
#LD_LIBRARY_PATH variable.
HERE="$(dirname "$(readlink -f "${0}")")"
export LD_LIBRARY_PATH=${HERE}/usr/lib/meshlab:$LD_LIBRARY_PATH
exec "${HERE}/usr/bin/meshlab" "$@"

View File

@ -1,9 +0,0 @@
#!/bin/bash
#this script is necessary only for the u3d exporter.
#libIFX has its own library loader, which does not consider
#the runpath set in the meshlab binary. It looks only the
#LD_LIBRARY_PATH variable.
HERE="$(dirname "$(readlink -f "${0}")")"
export LD_LIBRARY_PATH=${HERE}/usr/lib/meshlab:$LD_LIBRARY_PATH
exec "${HERE}/usr/bin/meshlabserver" "$@"

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -32,7 +32,7 @@ fi
mkdir -p $INSTALL_PATH/usr/share/doc/meshlab
mkdir -p $INSTALL_PATH/usr/share/icons/Yaru/512x512/apps/
cp $SCRIPTS_PATH/resources/meshlab_appimage.desktop $INSTALL_PATH/usr/share/applications/meshlab.desktop
cp $SCRIPTS_PATH/resources/meshlab.desktop $INSTALL_PATH/usr/share/applications/meshlab.desktop
cp $DISTRIB_PATH/meshlab.png $INSTALL_PATH/usr/share/icons/Yaru/512x512/apps/meshlab.png
cp $DISTRIB_PATH/LICENSE.txt $INSTALL_PATH/usr/share/doc/meshlab/
cp $DISTRIB_PATH/privacy.txt $INSTALL_PATH/usr/share/doc/meshlab/

View File

@ -1,13 +1,12 @@
[Desktop Entry]
Version=1.0
Name=MeshLab
Name[en_GB]=MeshLab
GenericName=Mesh processing
GenericName[en_GB]=Mesh processing
Comment=View and process meshes
Type=Application
Name=MeshLab
GenericName=Mesh processing
Comment=View and process meshes
Exec=meshlab %F
Icon=meshlab
Terminal=false
MimeType=model/mesh;application/x-3ds;image/x-3ds;model/x-ply;application/sla;model/x-quad-object;model/x-geomview-off;application/x-cyclone-ptx;application/x-vmi;application/x-bre;model/vnd.collada+xml;model/openctm;application/x-expe-binary;application/x-expe-ascii;application/x-xyz;application/x-gts;chemical/x-pdb;application/x-tri;application/x-asc;model/x3d+xml;model/x3d+vrml;model/vrml;model/u3d;model/idtf;
Categories=Graphics;3DGraphics;Viewer;Qt;
Name[en_US]=MeshLab

View File

@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=MeshLab
GenericName=Mesh processing
Comment=View and process meshes
Exec=usr/bin/meshlab %F
Icon=meshlab
Terminal=false
MimeType=model/mesh;application/x-3ds;image/x-3ds;model/x-ply;application/sla;model/x-quad-object;model/x-geomview-off;application/x-cyclone-ptx;application/x-vmi;application/x-bre;model/vnd.collada+xml;model/openctm;application/x-expe-binary;application/x-expe-ascii;application/x-xyz;application/x-gts;chemical/x-pdb;application/x-tri;application/x-asc;model/x3d+xml;model/x3d+vrml;model/vrml;model/u3d;model/idtf;
Categories=Graphics;3DGraphics;Viewer;Qt;

View File

@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=MeshLabServer
GenericName=Batch mesh processing
Comment=Batch Processor MeshLab
Exec=usr/bin/meshlabserver
Icon=meshlab
Terminal=false
MimeType=model/mesh;application/x-3ds;image/x-3ds;model/x-ply;application/sla;model/x-quad-object;model/x-geomview-off;application/x-cyclone-ptx;application/x-vmi;application/x-bre;model/vnd.collada+xml;model/openctm;application/x-expe-binary;application/x-expe-ascii;application/x-xyz;application/x-gts;chemical/x-pdb;application/x-tri;application/x-asc;model/x3d+xml;model/x3d+vrml;model/vrml;model/u3d;model/idtf;
Categories=Graphics;3DGraphics;Qt;

View File

@ -26,10 +26,14 @@ elseif(ALLOW_BUNDLED_CGAL AND EXISTS "${CGAL_DIR}/include/CGAL/version.h")
add_library(gmp SHARED IMPORTED GLOBAL)
set_property(TARGET gmp PROPERTY IMPORTED_IMPLIB "${CGAL_DIR}/auxiliary/gmp/lib/libgmp-10.lib")
set_property(TARGET gmp PROPERTY IMPORTED_LOCATION "${CGAL_DIR}/auxiliary/gmp/lib/libgmp-10.dll")
target_link_libraries(external-cgal INTERFACE gmp mpfr Threads::Threads)
else()
find_package(GMP)
target_include_directories(external-cgal SYSTEM INTERFACE ${GMP_INCLUDE_DIRS})
target_link_libraries(external-cgal INTERFACE ${GMP_LIBRARIES} mpfr Threads::Threads)
endif()
target_link_libraries(external-cgal INTERFACE mpfr gmp Threads::Threads)
if (WIN32)
if (DEFINED MESHLAB_LIB_OUTPUT_DIR)
file(