aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/rtabmap/portfile.cmake
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/rtabmap/portfile.cmake
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/rtabmap/portfile.cmake')
-rw-r--r--vcpkg/ports/rtabmap/portfile.cmake167
1 files changed, 167 insertions, 0 deletions
diff --git a/vcpkg/ports/rtabmap/portfile.cmake b/vcpkg/ports/rtabmap/portfile.cmake
new file mode 100644
index 0000000..3f92f28
--- /dev/null
+++ b/vcpkg/ports/rtabmap/portfile.cmake
@@ -0,0 +1,167 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO introlab/rtabmap
+ REF ${VERSION}
+ SHA512 9bcd0f359e0ee8060cf7088761544a3f7d38aadb37df820958f0811aa7b8edbfaf00f00d9472a8bf46261d4e5d868f9c10785263aaabaf374b6e5aa5237d70b0
+ HEAD_REF master
+ PATCHES
+ 0001-cmakelists-fixes.patch
+ 0002-fix-link.patch
+ 0003-multi-definition.patch
+ 0004-remove-apple-sys-path.patch
+)
+# Will use vcpkg to find these packages
+file(REMOVE_RECURSE
+ "${SOURCE_PATH}/cmake_modules/FindEigen3.cmake"
+ "${SOURCE_PATH}/cmake_modules/FindRealSense2.cmake"
+ "${SOURCE_PATH}/src/sqlite3"
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ gui WITH_QT
+ gui VCPKG_LOCK_FIND_PACKAGE_Qt6
+ gui VCPKG_LOCK_FIND_PACKAGE_VTK
+ k4w2 WITH_K4W2
+ k4w2 VCPKG_LOCK_FIND_PACKAGE_KinectSDK2
+ octomap WITH_OCTOMAP
+ octomap VCPKG_LOCK_FIND_PACKAGE_octomap
+ openmp WITH_OPENMP
+ openmp VCPKG_LOCK_FIND_PACKAGE_OpenMP
+ openni2 WITH_OPENNI2
+ openni2 VCPKG_LOCK_FIND_PACKAGE_OpenNI2
+ realsense2 WITH_REALSENSE2
+ realsense2 VCPKG_LOCK_FIND_PACKAGE_realsense2
+ tools BUILD_APP
+ tools BUILD_TOOLS
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS_DEBUG
+ -DBUILD_TOOLS=OFF
+ -DBUILD_APP=OFF
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ "-DRTABMAP_RES_TOOL=${CURRENT_HOST_INSTALLED_DIR}/tools/rtabmap-res-tool/rtabmap-res_tool${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
+ -DRTABMAP_QT_VERSION=6
+ -DBUILD_AS_BUNDLE=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DVCPKG_LOCK_FIND_PACKAGE_SQLite3=ON
+ ## always on feats
+ -DWITH_G2O=ON -DVCPKG_LOCK_FIND_PACKAGE_g2o=ON
+ -DWITH_CERES=ON
+ -DWITH_ORB_OCTREE=ON # GPLv3
+ ## always off feats
+ -DWITH_ALICE_VISION=OFF
+ -DWITH_ARCore=OFF
+ -DWITH_ARENGINE=OFF
+ -DWITH_CCCORELIB=OFF
+ -DWITH_CPUTSDF=OFF
+ -DWITH_CVSBA=OFF
+ -DWITH_DC1394=OFF
+ -DWITH_DEPTHAI=OFF
+ -DWITH_DVO=OFF
+ -DWITH_FASTCV=OFF
+ -DWITH_FLOAM=OFF
+ -DWITH_FLYCAPTURE2=OFF
+ -DWITH_FOVIS=OFF
+ -DWITH_FREENECT=OFF
+ -DWITH_FREENECT2=OFF
+ -DWITH_GRIDMAP=OFF
+ -DWITH_GTSAM=OFF
+ -DWITH_K4A=OFF
+ -DWITH_LOAM=OFF
+ -DWITH_MADGWICK=OFF
+ -DWITH_MRPT=OFF
+ -DWITH_MSCKF_VIO=OFF
+ -DWITH_MYNTEYE=OFF
+ -DWITH_OKVIS=OFF
+ -DWITH_OPEN3D=OFF
+ -DWITH_OPENCHISEL=OFF
+ -DWITH_OPENGV=OFF
+ -DWITH_OPENVINS=OFF
+ -DWITH_ORB_SLAM=OFF
+ -DWITH_PDAL=OFF
+ -DWITH_POINTMATCHER=OFF
+ -DWITH_PYTHON=OFF
+ -DWITH_PYTHON_THREADING=OFF
+ -DWITH_REALSENSE=OFF
+ -DWITH_REALSENSE_SLAM=OFF
+ -DWITH_TANGO=OFF
+ -DWITH_TORCH=OFF
+ -DWITH_VERTIGO=OFF
+ -DWITH_VINS=OFF
+ -DWITH_VISO2=OFF
+ -DWITH_ZED=OFF
+ -DWITH_ZEDOC=OFF
+ MAYBE_UNUSED_VARIABLES
+ VCPKG_LOCK_FIND_PACKAGE_Qt6
+ VCPKG_LOCK_FIND_PACKAGE_VTK
+ VCPKG_LOCK_FIND_PACKAGE_KinectSDK2
+ VCPKG_LOCK_FIND_PACKAGE_octomap
+ VCPKG_LOCK_FIND_PACKAGE_OpenMP
+ VCPKG_LOCK_FIND_PACKAGE_OpenNI2
+ VCPKG_LOCK_FIND_PACKAGE_realsense2
+ VCPKG_LOCK_FIND_PACKAGE_RealSense2
+ # Android
+ WITH_ARCore
+ WITH_ARENGINE
+ WITH_TANGO
+)
+
+vcpkg_cmake_install()
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_cmake_config_fixup(CONFIG_PATH CMake)
+else()
+ vcpkg_cmake_config_fixup(CONFIG_PATH lib/rtabmap-0.23)
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+if("tools" IN_LIST FEATURES)
+ vcpkg_copy_tools(
+ TOOL_NAMES
+ rtabmap-camera
+ rtabmap-console
+ rtabmap-detectMoreLoopClosures
+ rtabmap-export
+ rtabmap-extractObject
+ rtabmap-info
+ rtabmap-kitti_dataset
+ rtabmap-recovery
+ rtabmap-report
+ rtabmap-reprocess
+ rtabmap-rgbd_dataset
+ rtabmap-euroc_dataset
+ rtabmap-cleanupLocalGrids
+ rtabmap-globalBundleAdjustment
+ AUTO_CLEAN
+ )
+ if("gui" IN_LIST FEATURES)
+ vcpkg_copy_tools(
+ TOOL_NAMES
+ rtabmap
+ rtabmap-calibration
+ rtabmap-databaseViewer
+ rtabmap-dataRecorder
+ rtabmap-odometryViewer
+ rtabmap-rgbd_camera
+ rtabmap-lidar_viewer
+ AUTO_CLEAN
+ )
+ file(COPY "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qt.conf" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "./../../../" "./../../")
+ endif()
+endif()
+
+vcpkg_install_copyright(
+ COMMENT [[
+The RTAB-Map main license is BSD-3-Clause, but some parts of the
+source code are under other licenses possibly including GPL-3.0-only.
+]]
+ FILE_LIST "${SOURCE_PATH}/LICENSE"
+)