MacOS Scripts

This folder contains a series of scripts to build and deploy MeshLab under a MacOS environment.

The following scripts are provided:

  • macos_setup_env.sh: this script installs all the required dependencies that are necessary to build MeshLab and create its DMG in a MacOS machine (tested in 10.15 Catalina). It requires homebrew installed.
  • macos_build.sh: this script compiles MeshLab in a MacOS environment:
    • it requires a properly set Qt environment (see macos_setup_env.sh);
    • without given arguments, all the binaries will be placed in the meshlab/distrib folder. You can give as argument the BUILD_PATH, and meshlab binaries will be then placed inside BUILD_PATH/distrib;
  • macos_build_meshlab_mini.sh: this script compiles MeshLab mini in a MacOS environment. Works in the same way as the macos_build.sh script;
  • macos_deploy.sh: makes the distrib/meshlab.app app a portable version of MeshLab (no Qt and other libraries dependencies):
    • it requires a properly built meshlab distrib directory (see macos_build.sh);
    • without given arguments, the meshlab.app that will be deployed should be inside meshlab/distrib. You can give as argument the DISTRIB_PATH;
  • macos_dmg.sh: this script generates a DMG that can be used to install MeshLab;
    • it requires a properly deployed meshlab meshlab.app directory (see macos_deploy.sh), a properly set Qt environment, and appdmg installed (see macos_setup_env.sh);
    • without given arguments, the meshlab.app that will be used should be inside meshlab/distrib. You can give as argument the DISTRIB_PATH.
  • macos_make_it.sh: this script builds, deploys and generates a DMG that can be used to install MeshLab;
    • it requires a properly set Qt environment and appdmg installed (see macos_setup_env.sh);
    • without given arguments, all the binaries will be placed in the meshlab/distrib folder. You can give as argument the BUILD_PATH, and meshlab binaries and the DMG will be then placed inside BUILD_PATH/distrib;

Examples

Building meshlab on a clean MacOS environment (compiled MeshLab in meshlab/distrib):

git clone --recursive https://github.com/cnr-isti-vclab/meshlab
sh meshlab/install/macos/macos_setup_env.sh
sh meshlab/install/macos/macos_build.sh

Building and generating DMG on a clean MacOS environment, build directory in ~/build_meshlab:

git clone --recursive https://github.com/cnr-isti-vclab/meshlab
sh meshlab/install/macos/macos_setup_env.sh
sh meshlab/install/macos/macos_make_it.sh ~/build_meshlab

Meshlab*.dmg can be found in ~/build_meshlab/distrib/.