# Known to build in Ubuntu 18.04, 20.04
name: meshlab
base: core18
version: 'MESHLAB_VERSION'
summary: MeshLab
description: |
  The open source system for processing and editing 3D triangular meshes.
  It provides a set of tools for editing, cleaning, healing, inspecting,
  rendering, texturing and converting meshes. It offers features for processing
  raw data produced by 3D digitization tools/devices and for preparing models
  for 3D printing.
icon: meshlab.png

grade: stable
confinement: strict

apps:
  meshlab:
    command: AppRun
    extensions: [kde-neon]
    desktop: usr/share/applications/meshlab.desktop
    environment:
      DISABLE_WAYLAND: 1
    plugs:
      - home
      - opengl
      - removable-media
      - mount-observe

parts:
  meshlab:
    plugin: qmake
    qt-version: qt5
    source: https://github.com/cnr-isti-vclab/meshlab.git
    build-packages:
      - cmake
      - qt5-default
      - qttools5-dev-tools
      - qtdeclarative5-dev
      - mesa-common-dev
      - libglu1-mesa-dev
      - lib3ds-dev
      - libglew-dev
      - libeigen3-dev
      - libopenctm-dev
      - libgmp-dev
      - libqhull-dev
      - patchelf
      - rsync
      - libqt5opengl5-dev
      - libcgal-dev
      - libboost-all-dev
      - libxerces-c-dev
    stage-packages:
      - lib3ds-1-3
      - libgomp1
      - libopenctm1
      - libqhull7
      - libqt5gui5
      - qtwayland5
      - libglu1-mesa
      - libopengl0
      - libqt5opengl5
      - libqt5xml5
    override-build: |
      sh scripts/Linux/1_build.sh
      sh scripts/Linux/resources/make_bundle.sh

      rsync -av src/install/* $SNAPCRAFT_PART_INSTALL/

      rm $SNAPCRAFT_PART_INSTALL/usr/share/applications/meshlab.desktop
      cp scripts/Linux/resources/snap/meshlab.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/
      cp scripts/Linux/resources/AppRunMeshLab $SNAPCRAFT_PART_INSTALL/
      mv $SNAPCRAFT_PART_INSTALL/AppRunMeshLab $SNAPCRAFT_PART_INSTALL/AppRun
      chmod +x $SNAPCRAFT_PART_INSTALL/AppRun
