summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD126
1 files changed, 98 insertions, 28 deletions
diff --git a/PKGBUILD b/PKGBUILD
index a5076dcd7201..a2bfbf1dc720 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,59 +4,80 @@
# Contributor : Danilo Bargen <aur at dbrgn dot ch>
# shellcheck disable=SC2034,SC2154 # allow unused/uninitialized variables.
+## Configuration env vars:
+_fragment=#${FRAGMENT:-branch=master}
+# Use CMAKE_FLAGS=xxx:yyy:zzz to define extra CMake flags
+[[ -v CMAKE_FLAGS ]] && mapfile -t -d: CMAKE_FLAGS < <(echo -n "$CMAKE_FLAGS")
+
name=cloudcompare
#_fragment="#branch="
+options=('!strip') # strip would also remove plugins, for some reason
pkgname=${name}-git
-pkgver=2.10.2.r857.ga33ffe93
+pkgver=2.13.r3.g36cc2b5c9
pkgrel=1
pkgdesc="A 3D point cloud (and triangular mesh) processing software"
arch=('i686' 'x86_64')
url="http://www.danielgm.net/cc/"
license=('GPL2')
-depends=('cgal' 'dlib' 'fbx-sdk' 'ffmpeg' 'glew' 'glu' 'mesa' 'mpir' 'pdal' 'qt5-base' 'qt5-tools' 'qt5-svg' 'shapelib' 'tbb' 'vxl')
-makedepends=('clang' 'cmake' 'doxygen' 'git' 'laz-perf' 'libharu' 'ninja' 'pcl' 'proj' 'python')
-optdepends=('pcl')
+depends=('cgal' 'fbx-sdk' 'ffmpeg4.4' 'glew' 'glu' 'mesa' 'mpir' 'pcl' 'pdal' 'laszip' 'qt5-base' 'qt5-tools' 'qt5-svg' 'qt5-websockets' 'shapelib' 'tbb' 'opencascade' 'opencv' 'gdal')
+#fix pcl:>vtk:>vtkm:>openmp missing deps
+depends+=(openmpi)
+depends+=(nlohmann-json fmt jsoncpp)
+depends+=(utf8cpp fast_float)
+makedepends=('clang' 'cmake' 'doxygen' 'git' 'laz-perf' 'libharu' 'ninja' 'proj' 'python')
conflicts=('cloudcompare')
provides=('cloudcompare')
source=("${name}::git+https://github.com/CloudCompare/CloudCompare.git${_fragment}"
"${name}-cork::git+https://github.com/CloudCompare/cork.git"
- cork.patch
CloudCompare.desktop
ccViewer.desktop
+ vtk_jsoncpp.patch
)
sha256sums=('SKIP'
'SKIP'
- '3f8692fbff2b92ebf422f2c4de46f2f9164cd37879092c66f171b32fea464227'
'14096df9cf7aca3099d5df1585d1cf669544e9b10754dce3d2507100dd7034fe'
- '821ac2540e1196774e26f8033946ce7b36223dae7a2a7c78f4a901b4177f68cc')
-
-prepare() {
- git -C "${srcdir}/${name}" submodule update --init --recursive
- git -C "${srcdir}/${name}-cork" apply -v "${srcdir}"/cork.patch
-}
+ '821ac2540e1196774e26f8033946ce7b36223dae7a2a7c78f4a901b4177f68cc'
+ 'ce48e2816ebb5d388283396b12cdb94272b3fd3eb1655845eacbf226ad918969'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
pkgver() {
git -C "${srcdir}/${name}" describe --long --tag | sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
}
+prepare() {
+ prepare_submodule
+ git -C "${srcdir}"/cloudcompare apply -v "${srcdir}"/vtk_jsoncpp.patch
+# sed "/CXX_STANDARD/s/14/17/" -i "${srcdir}/${name}"/cmake/CMakeSetCompilerOptions.cmake
+}
+
build() {
+ export CCACHE_BASEDIR="$srcdir"
# shellcheck disable=SC2191
- CMAKE_FLAGS=(
+ CMAKE_FLAGS+=(
-Wno-dev
+ -DPCL_QHULL_REQUIRED_TYPE=SHARED
-DCMAKE_CXX_STANDARD=14
- -DCMAKE_CXX_FLAGS=-fpermissive
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -fpermissive -DSUPPORT_TOPO_STREAM_OPERATORS -Wno-deprecated-declarations"
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_BUILD_TYPE=Release
- -DCOMPILE_CC_CORE_LIB_WITH_CGAL=ON
- -DCOMPILE_CC_CORE_LIB_WITH_TBB=ON
- -DWITH_FFMPEG_SUPPORT:BOOL=ON
- -DFFMPEG_INCLUDE_DIR:PATH=/usr/include
- -DFFMPEG_LIBRARY_DIR:PATH=/usr/lib
+ -DCCCORELIB_USE_CGAL=ON
+ -DCCCORELIB_USE_TBB=ON
-DPOISSON_RECON_WITH_OPEN_MP:BOOL=ON
- -DPLUGIN_EXAMPLE_GL:BOOL=ON
- -DPLUGIN_EXAMPLE_IO:BOOL=ON
- -DPLUGIN_EXAMPLE_STANDARD:BOOL=ON
+ -DPLUGIN_EXAMPLE_GL:BOOL=OFF # no need to bundle examples
+ -DPLUGIN_EXAMPLE_IO:BOOL=OFF
+ -DPLUGIN_EXAMPLE_STANDARD:BOOL=OFF
-DPLUGIN_GL_QEDL:BOOL=ON
-DPLUGIN_GL_QSSAO:BOOL=ON
-DPLUGIN_IO_QADDITIONAL:BOOL=ON
@@ -66,22 +87,25 @@ build() {
-DPLUGIN_IO_QFBX:BOOL=ON # requires update of AUR/fbx-sdk (https://www.autodesk.com/content/dam/autodesk/www/adn/fbx/2020-1-1/fbx202011_fbxsdk_linux.tar.gz)
-DFBX_SDK_INCLUDE_DIR:PATH=/usr/include
-DFBX_SDK_LIBRARY_FILE:FILEPATH=/usr/lib/libfbxsdk.so
- -DPLUGIN_IO_QPDAL:BOOL=ON
+ -DPLUGIN_IO_QLAS:BOOL=ON
-DPLUGIN_IO_QPHOTOSCAN:BOOL=ON
-DPLUGIN_IO_QRDB:BOOL=OFF # requires rdblib (package for AUR from http://www.riegl.com/products/software-packages/rdblib/)
- -DPLUGIN_STANDARD_QANIMATION:BOOL=ON
- -DPLUGIN_STANDARD_QBROOM:BOOL=ON
- -DPLUGIN_STANDARD_QCANUPO:BOOL=ON # requires dlib
- -DDLIB_ROOT:PATH="/usr" # required by qcanupo plugin
+ -DPLUGIN_IO_QSTEP=ON # requires opencascade
+ -DOPENCASCADE_INC_DIR="/usr/include/opencascade"
+ -DOPENCASCADE_LIB_DIR="/usr/lib"
+ -DPLUGIN_STANDARD_QCANUPO:BOOL=ON
-DPLUGIN_STANDARD_QCOMPASS:BOOL=ON
-DPLUGIN_STANDARD_QCORK:BOOL=ON # require mpir, cork (cork-git is not enough)
-DMPIR_INCLUDE_DIR:PATH=/usr/include # required by qcork plugin
-DCORK_INCLUDE_DIR:PATH="${srcdir}/${name}-cork/src" # required by qcork plugin
+ -DFFMPEG_INCLUDE_DIR:PATH=/usr/include/ffmpeg4.4 # required by qAnimation plugin
+ -DFFMPEG_LIBRARY_DIR:PATH=/usr/lib/ffmpeg4.4 # required by qAnimation plugin
-DCORK_RELEASE_LIBRARY_FILE:FILEPATH="${srcdir}/${name}-cork/lib/libcork.a" # required by qcork plugin
-DMPIR_RELEASE_LIBRARY_FILE:FILEPATH=/usr/lib/libmpir.so # require by qcork plugin
-DPLUGIN_STANDARD_QCSF:BOOL=ON
-DPLUGIN_STANDARD_QFACETS:BOOL=ON # requires shapelib
-DOPTION_USE_SHAPE_LIB:BOOL=ON
+ -DOPTION_USE_GDAL=ON
-DPLUGIN_STANDARD_QHOUGH_NORMALS:BOOL=ON
-DPLUGIN_STANDARD_QHPR:BOOL=ON
-DPLUGIN_STANDARD_QM3C2:BOOL=ON
@@ -91,10 +115,23 @@ build() {
-DPLUGIN_STANDARD_QRANSAC_SD:BOOL=ON
-DPLUGIN_STANDARD_QSRA:BOOL=ON
-DOPTION_USE_DXF_LIB:BOOL=ON # required by qsra plugin
+ -DPLUGIN_STANDARD_MASONRY_QAUTO_SEG=ON
+ -DPLUGIN_STANDARD_MASONRY_QMANUAL_SEG=ON
+ -DPLUGIN_STANDARD_QANIMATION=ON
+ -DQANIMATION_WITH_FFMPEG_SUPPORT=ON
+ -DPLUGIN_STANDARD_QBROOM=ON
+ -DPLUGIN_STANDARD_QCANUPO=ON
+ -DPLUGIN_STANDARD_QCOLORIMETRIC_SEGMENTER=ON
+ -DPLUGIN_STANDARD_QJSONRPC=ON
+ -DPLUGIN_STANDARD_QMPLANE=ON
-DEIGEN_ROOT_DIR=/usr/include/eigen3
+ -DJsonCpp_INCLUDE_DIR=/usr/include
+ -DJsonCpp_LIBRARY=/usr/lib
+
+
)
msg2 "Build Cork lib"
- make -C "${srcdir}/${name}-cork"
+ make -C "${srcdir}/${name}-cork" CXXFLAGS="$CXXFLAGS -DSUPPORT_TOPO_STREAM_OPERATORS"
msg2 "Build CloudCompare"
cmake -B build -S "${srcdir}/${name}" -G Ninja "${CMAKE_FLAGS[@]}"
# shellcheck disable=SC2086 # allow slitting for MAKEFLAGS carrying multiple flags.
@@ -116,3 +153,36 @@ package() {
install -D -m 644 ${name}/qCC/images/icon/cc_viewer_icon.svg "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/cc_viewer_icon.svg
}
# vim:set sw=2 ts=2 et:
+
+# Generated with git_submodule_PKGBUILD_conf.sh ( https://gist.github.com/bartoszek/41a3bfb707f1b258de061f75b109042b )
+# Call prepare_submodule in prepare() function
+
+prepare_submodule() {
+ git -C "$srcdir/CCCoreLib" config submodule.extern/nanoflann.url "$srcdir/nanoflann"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/IO/qE57IO/extern/libE57Format.url "$srcdir/libE57Format"
+ git -C "$srcdir/cloudcompare" config submodule.extern/CCCoreLib.url "$srcdir/CCCoreLib"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/qPoissonRecon/extern/PoissonRecon.url "$srcdir/PoissonRecon"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/qMPlane.url "$srcdir/mplane-plugin"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/qColorimetricSegmenter.url "$srcdir/ptrans"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/qMasonry.url "$srcdir/masonry-cc"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/qJSonRPCPlugin.url "$srcdir/JSonRPCPlugin"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/qCanupo/contrib/dlib.url "$srcdir/dlib"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/cc-treeiso-plugin.url "$srcdir/cc-treeiso-plugin"
+ git -C "$srcdir/cloudcompare" config submodule.plugins/core/Standard/q3DMASC.url "$srcdir/q3DMASC"
+ git -C "$srcdir/libE57Format" config submodule.test/extern/googletest.url "$srcdir/googletest"
+ git -C "$srcdir/cloudcompare" -c protocol.file.allow=always submodule update --init --recursive
+}
+source+=(
+ "nanoflann::git+https://github.com/jlblancoc/nanoflann"
+ "libE57Format::git+https://github.com/asmaloney/libE57Format"
+ "CCCoreLib::git+https://github.com/CloudCompare/CCCoreLib"
+ "PoissonRecon::git+https://github.com/cloudcompare/PoissonRecon"
+ "mplane-plugin::git+https://github.com/hvs-ait/mplane-plugin"
+ "ptrans::git+https://gitlab.univ-nantes.fr/E164955Z/ptrans"
+ "masonry-cc::git+https://github.com/CyberbuildLab/masonry-cc"
+ "JSonRPCPlugin::git+https://gitlab.com/theadib/JSonRPCPlugin"
+ "dlib::git+https://github.com/davisking/dlib"
+ "cc-treeiso-plugin::git+https://github.com/truebelief/cc-treeiso-plugin"
+ "q3DMASC::git+https://github.com/dgirardeau/q3DMASC"
+ "googletest::git+https://github.com/google/googletest"
+)