From 8290dc37a04d38d646598dc3cb6f12525aaa50b6 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 9 Oct 2024 19:03:01 +0200 Subject: [PATCH 01/34] Created various CWIPC_WITH_* CMake variables, which will be used to disable build features on Android. --- CMakeLists.txt | 84 ++++++++++++++++++++++++++++++++++---------------- cwipc_codec | 2 +- cwipc_util | 2 +- 3 files changed, 60 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 63e4b46..bea9221 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,15 +3,37 @@ cmake_policy(SET CMP0074 NEW) cmake_policy(SET CMP0072 NEW) #cmake_policy(SET CMP0135 NEW) + +set(CWIPC_API_ONLY NO) +set(CWIPC_WITH_APPS NOT CWIPC_API_ONLY) +set(CWIPC_WITH_PYTHON NOT CWIPC_API_ONLY) +set(CWIPC_WITH_GUI NOT CWIPC_API_ONLY) +set(CWIPC_WITH_TESTS NOT CWIPC_API_ONLY) +set(CWIPC_WITH_DATA NOT CWIPC_API_ONLY) +set(CWIPC_WITH_CAPTURERS YES) +set(CWIPC_WITH_KINECT ${CWIPC_WITH_CAPTURERS}) +set(CWIPC_WITH_REALSENSE ${CWIPC_WITH_CAPTURERS}) +set(CWIPC_WITH_INSTALLER YES) + # Add extension directories (for things like Find) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/CMakeFiles ${CMAKE_CURRENT_LIST_DIR}/cwipc_util/CMakeFiles ${CMAKE_CURRENT_LIST_DIR}/cwipc_codec/CMakeFiles - ${CMAKE_CURRENT_LIST_DIR}/cwipc_realsense2/CMakeFiles - ${CMAKE_CURRENT_LIST_DIR}/cwipc_kinect/CMakeFiles ${CMAKE_MODULE_PATH} ) +if(CWIPC_WITH_REALSENSE) + set(CMAKE_MODULE_PATH + ${CMAKE_CURRENT_LIST_DIR}/cwipc_realsense2/CMakeFiles + ${CMAKE_MODULE_PATH} + ) +endif() +if(CWIPC_WITH_KINECT) + set(CMAKE_MODULE_PATH + ${CMAKE_CURRENT_LIST_DIR}/cwipc_kinect/CMakeFiles + ${CMAKE_MODULE_PATH} + ) +endif() # Get version from git if not specified on the command line if(NOT CWIPC_VERSION) @@ -30,7 +52,6 @@ project(cwipc VERSION ${CWIPC_BASE_VERSION}) include(CTest) include(GNUInstallDirs) -include(CwipcPythonSupport) # Ensure all executable, dll/so and link-library outputs end up in the same directories set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) @@ -42,12 +63,7 @@ set(CMAKE_TESTDATA_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/share/cwipc/tests) set(CMAKE_TESTDATA_INSTALL_DIRECTORY ${CMAKE_INSTALL_DATADIR}/cwipc/tests) set(CMAKE_REGISTRATIONDATA_INSTALL_DIRECTORY ${CMAKE_INSTALL_DATADIR}/cwipc/registration) set(CMAKE_SCRIPTS_INSTALL_DIRECTORY ${CMAKE_INSTALL_LIBEXECDIR}/cwipc) -# -# Ensure we clean out the Python wheels directory before installing -# -GNUInstallDirs_get_absolute_install_dir(WHEELDEST CMAKE_PYWHEELS_INSTALL_DIRECTORY WHEELDEST) -install(CODE "message(\"-- Remove ${WHEELDEST}\")") -install(CODE "file(REMOVE_RECURSE \"${WHEELDEST}\")") + # # Ensure we use the correct RPATH in installed binaries. # This also works in the build tree, because we use the staging area to @@ -64,16 +80,26 @@ elseif(UNIX) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) endif() -# The upper limit on the Python version is caused by opencv and open3d, -# which can lag behind some times. As soon as those packages are available -# for a new release of Python we can update this version. -# -find_package(Python3 3.9...<3.12 REQUIRED COMPONENTS Interpreter) - -# -# Now we can setup the venv. -# -cwipc_setup_python_venv() +if(CWIPC_WITH_PYTHON) + include(CwipcPythonSupport) + # + # Ensure we clean out the Python wheels directory before installing + # + GNUInstallDirs_get_absolute_install_dir(WHEELDEST CMAKE_PYWHEELS_INSTALL_DIRECTORY WHEELDEST) + install(CODE "message(\"-- Remove ${WHEELDEST}\")") + install(CODE "file(REMOVE_RECURSE \"${WHEELDEST}\")") + + # The upper limit on the Python version is caused by opencv and open3d, + # which can lag behind some times. As soon as those packages are available + # for a new release of Python we can update this version. + # + find_package(Python3 3.9...<3.12 REQUIRED COMPONENTS Interpreter) + + # + # Now we can setup the venv. + # + cwipc_setup_python_venv() +endif() # # Packages required by all submodules @@ -118,8 +144,12 @@ endif() # # Optional packages, required by some submodules # -find_package(k4a) -find_package(REALSENSE2) +if(CWIPC_WITH_KINECT) + find_package(k4a) +endif() +if(CWIPC_WITH_REALSENSE) + find_package(REALSENSE2) +endif() add_subdirectory("cwipc_util") add_subdirectory("cwipc_codec") @@ -129,9 +159,11 @@ endif() if(k4a_FOUND) add_subdirectory("cwipc_kinect") endif() - +if(CWIPC_WITH_APPS) # Install scripts to help installing prerequisites -install(DIRECTORY scripts DESTINATION ${CMAKE_SCRIPTS_INSTALL_DIRECTORY}) - -# Creating installers -include(CwipcInstallers) + install(DIRECTORY scripts DESTINATION ${CMAKE_SCRIPTS_INSTALL_DIRECTORY}) +endif() +if(CWIPC_WITH_INSTALLER) + # Creating installers + include(CwipcInstallers) +endif() \ No newline at end of file diff --git a/cwipc_codec b/cwipc_codec index 7d92374..fdc4eeb 160000 --- a/cwipc_codec +++ b/cwipc_codec @@ -1 +1 @@ -Subproject commit 7d923747b94b2429f74b4cda1b34eb572a414764 +Subproject commit fdc4eebb287c80fc2071b37727df78cba6444cd8 diff --git a/cwipc_util b/cwipc_util index dcd2eec..e1f8ab3 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit dcd2eec16fdc8113176d8900d82278512ac124a4 +Subproject commit e1f8ab3e1a93671fbb9741ad3bcbfa0be21bb329 From 75d11924dda7987d8d236f136f8e171333e5520d Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 9 Oct 2024 19:32:25 +0200 Subject: [PATCH 02/34] Added api-only preset. Fixed CWIPC_WITH_ variables to be overridable on the prefix or command line, and not use boolean expressions (which don't work). --- CMakeLists.txt | 33 +++++++++++++++++++++++---------- CMakePresets.json | 10 ++++++++++ 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bea9221..c07740c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,16 +4,29 @@ cmake_policy(SET CMP0072 NEW) #cmake_policy(SET CMP0135 NEW) -set(CWIPC_API_ONLY NO) -set(CWIPC_WITH_APPS NOT CWIPC_API_ONLY) -set(CWIPC_WITH_PYTHON NOT CWIPC_API_ONLY) -set(CWIPC_WITH_GUI NOT CWIPC_API_ONLY) -set(CWIPC_WITH_TESTS NOT CWIPC_API_ONLY) -set(CWIPC_WITH_DATA NOT CWIPC_API_ONLY) -set(CWIPC_WITH_CAPTURERS YES) -set(CWIPC_WITH_KINECT ${CWIPC_WITH_CAPTURERS}) -set(CWIPC_WITH_REALSENSE ${CWIPC_WITH_CAPTURERS}) -set(CWIPC_WITH_INSTALLER YES) +set(VAR CWIPC_API_ONLY NO CACHE BOOL "Only build libraries") +if(CWIPC_API_ONLY) + set(VAR CWIPC_WITH_APPS NO CACHE BOOL "Build command line apps") + set(VAR CWIPC_WITH_PYTHON NO CACHE BOOL "Build Python support and tests") + set(VAR CWIPC_WITH_GUI NO CACHE BOOL "Include cwipc_window() and other gui") + set(VAR CWIPC_WITH_TESTS NO CACHE BOOL "Include tests") + set(VAR CWIPC_WITH_DATA NO CACHE BOOL "Include data") +else() + set(VAR CWIPC_WITH_APPS YES CACHE BOOL) + set(VAR CWIPC_WITH_PYTHON YES CACHE BOOL) + set(VAR CWIPC_WITH_GUI YES CACHE BOOL) + set(VAR CWIPC_WITH_TESTS YES CACHE BOOL) + set(VAR CWIPC_WITH_DATA YES CACHE BOOL) +endif() +set(VAR CWIPC_WITH_CAPTURERS YES CACHE BOOL "Include camera capturers") +if(CWIPC_WITH_CAPTURERS) + set(VAR CWIPC_WITH_KINECT NO CACHE BOOL) + set(VAR CWIPC_WITH_REALSENSE NO CACHE BOOL) +else() + set(VAR CWIPC_WITH_KINECT YES CACHE BOOL "Include Azure Kinect support (if available)") + set(VAR CWIPC_WITH_REALSENSE YES CACHE BOOL "Include Realsense2 support (if available)") +endif() +set(VAR CWIPC_WITH_INSTALLER YES) # Add extension directories (for things like Find) set(CMAKE_MODULE_PATH diff --git a/CMakePresets.json b/CMakePresets.json index 240ee44..098450a 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -22,6 +22,16 @@ }, "hidden": true }, + { + "name" : "api-only", + "description" : "Build only native API libraries", + "generator" : "Unix Makefiles", + "inherits" : "non-vcpkg", + "cacheVariables" : { + "CMAKE_BUILD_TYPE" : "Release", + "CWIPC_API_ONLY" : "YES" + } + }, { "name" : "windows", "description" : "Build for production on Windows", From cd367e40c90f4d2c1ba494e3b4b3a12c59397e74 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 10 Oct 2024 13:44:02 +0200 Subject: [PATCH 03/34] Use vcpkg for api-only --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index 098450a..7d96efa 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -26,7 +26,7 @@ "name" : "api-only", "description" : "Build only native API libraries", "generator" : "Unix Makefiles", - "inherits" : "non-vcpkg", + "inherits" : "vcpkg", "cacheVariables" : { "CMAKE_BUILD_TYPE" : "Release", "CWIPC_API_ONLY" : "YES" From 94054d74269cf48443ad2ea5f53e319967065165 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 10 Oct 2024 16:40:24 +0200 Subject: [PATCH 04/34] Various fixes to build process with vcpkg. Still not complete. --- CMakeLists.txt | 51 ++++++++++++++++++++++++++++++++------------------ cwipc_codec | 2 +- cwipc_util | 2 +- vcpkg.json | 27 +++++++++++++++++++++----- 4 files changed, 57 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c07740c..74deb74 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,30 +3,45 @@ cmake_policy(SET CMP0074 NEW) cmake_policy(SET CMP0072 NEW) #cmake_policy(SET CMP0135 NEW) - -set(VAR CWIPC_API_ONLY NO CACHE BOOL "Only build libraries") +# +# Set auxiliary CMake variables that control which optional parts are built. +# These can be overridden on the command line, or through the CMake presets. +# +set(CWIPC_API_ONLY NO CACHE BOOL "Only build libraries") if(CWIPC_API_ONLY) - set(VAR CWIPC_WITH_APPS NO CACHE BOOL "Build command line apps") - set(VAR CWIPC_WITH_PYTHON NO CACHE BOOL "Build Python support and tests") - set(VAR CWIPC_WITH_GUI NO CACHE BOOL "Include cwipc_window() and other gui") - set(VAR CWIPC_WITH_TESTS NO CACHE BOOL "Include tests") - set(VAR CWIPC_WITH_DATA NO CACHE BOOL "Include data") + set(CWIPC_WITH_APPS NO CACHE BOOL "Build command line apps") + set(CWIPC_WITH_PYTHON NO CACHE BOOL "Build Python support and tests") + set(CWIPC_WITH_GUI NO CACHE BOOL "Include cwipc_window() and other gui") + set(CWIPC_WITH_TESTS NO CACHE BOOL "Include tests") + set(CWIPC_WITH_DATA NO CACHE BOOL "Include data") else() - set(VAR CWIPC_WITH_APPS YES CACHE BOOL) - set(VAR CWIPC_WITH_PYTHON YES CACHE BOOL) - set(VAR CWIPC_WITH_GUI YES CACHE BOOL) - set(VAR CWIPC_WITH_TESTS YES CACHE BOOL) - set(VAR CWIPC_WITH_DATA YES CACHE BOOL) + set(CWIPC_WITH_APPS YES CACHE BOOL "Build command line apps") + set(CWIPC_WITH_PYTHON YES CACHE BOOL "Build Python support and tests") + set(CWIPC_WITH_GUI YES CACHE BOOL "Include cwipc_window() and other gui") + set(CWIPC_WITH_TESTS YES CACHE BOOL "Include tests") + set(CWIPC_WITH_DATA YES CACHE BOOL "Include data") endif() -set(VAR CWIPC_WITH_CAPTURERS YES CACHE BOOL "Include camera capturers") +set(CWIPC_WITH_CAPTURERS YES CACHE BOOL "Include camera capturers") if(CWIPC_WITH_CAPTURERS) - set(VAR CWIPC_WITH_KINECT NO CACHE BOOL) - set(VAR CWIPC_WITH_REALSENSE NO CACHE BOOL) + set(CWIPC_WITH_KINECT YES CACHE BOOL "Include Azure Kinect capturer") + set(CWIPC_WITH_REALSENSE YES CACHE BOOL "Include Intel Realsense capturer") else() - set(VAR CWIPC_WITH_KINECT YES CACHE BOOL "Include Azure Kinect support (if available)") - set(VAR CWIPC_WITH_REALSENSE YES CACHE BOOL "Include Realsense2 support (if available)") + set(CWIPC_WITH_KINECT NO CACHE BOOL "Include Azure Kinect support (if available)") + set(CWIPC_WITH_REALSENSE NO CACHE BOOL "Include Realsense2 support (if available)") +endif() +set(CWIPC_WITH_INSTALLER YES) +# +# If we are using vcpkg we want to set some options based on the setting above. +# +if(CWIPC_WITH_CAPTURERS) + list(APPEND VCPKG_MANIFEST_FEATURES "capturers") +endif() +if(CWIPC_WITH_GUI) + list(APPEND VCPKG_MANIFEST_FEATURES "gui") +endif() +if(CWIPC_WITH_PYTHON) + list(APPEND VCPKG_MANIFEST_FEATURES "python") endif() -set(VAR CWIPC_WITH_INSTALLER YES) # Add extension directories (for things like Find) set(CMAKE_MODULE_PATH diff --git a/cwipc_codec b/cwipc_codec index fdc4eeb..12b6287 160000 --- a/cwipc_codec +++ b/cwipc_codec @@ -1 +1 @@ -Subproject commit fdc4eebb287c80fc2071b37727df78cba6444cd8 +Subproject commit 12b62878f72714df66ec18bdb988d266a7bcd7c7 diff --git a/cwipc_util b/cwipc_util index e1f8ab3..0c6e10a 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit e1f8ab3e1a93671fbb9741ad3bcbfa0be21bb329 +Subproject commit 0c6e10a9f9d393fbd6047773178014236ab71d06 diff --git a/vcpkg.json b/vcpkg.json index 03d6090..af08a1b 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -3,9 +3,26 @@ "version": "7.5.0", "dependencies": [ "libjpeg-turbo", - "opencv4", - "pcl", - "realsense2", - "glfw3" - ] + "pcl" + ], + "features" : { + "capturers": { + "description" : "Build camera capturers", + "dependencies" : [ + "realsense2" + ] + }, + "gui" : { + "description" : "Build GUI/window interfaces", + "dependencies" : [ + "glfw3" + ] + }, + "python": { + "description" : "Build Python interfaces and apps", + "dependencies" : [ + "opencv4" + ] + } + } } From a29e583577a800674570c835e89ffddbf460d084 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 10 Oct 2024 21:28:27 +0200 Subject: [PATCH 05/34] Added cmake preset for android. Currently fails when vcpkg is building pcl. --- CMakePresets.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CMakePresets.json b/CMakePresets.json index 7d96efa..0adc914 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -59,6 +59,21 @@ "inherits" : "windows" }, { + "name" : "android-production", + "description" : "Build for production for Android", + "inherits" : "api-only", + "cacheVariables" : { + "VCPKG_CHAINLOAD_TOOLCHAIN_FILE" : "${sourceDir}/vcpkg/scripts/toolchains/android.cmake", + "VCPKG_TARGET_TRIPLET" : "arm64-android", + "ANDROID_ABI" : "arm64-v8a", + "ANDROID_NATIVE_API_LEVEL" : "21" + }, + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Darwin" + } + },{ "name" : "mac-production", "description" : "Build for production on Mac", "generator" : "Unix Makefiles", From b5c1b1b6e4a4749b99318d53a8c4043dac55ef9c Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 10 Oct 2024 21:29:48 +0200 Subject: [PATCH 06/34] Pull vcpkg master --- vcpkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg b/vcpkg index cacf599..5a3e638 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit cacf5994341f27e9a14a7b8724b0634b138ecb30 +Subproject commit 5a3e638f449206ac10f82f2171a21333004d7306 From 85dba99696faf1b2ca5d077f24a891973b0eda21 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 11 Oct 2024 00:05:08 +0200 Subject: [PATCH 07/34] pcl now builds with vcpkg, after applying some patches to the pcl portsfile --- CMakePresets.json | 3 ++- vcpkg.json | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 0adc914..844145f 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -63,10 +63,11 @@ "description" : "Build for production for Android", "inherits" : "api-only", "cacheVariables" : { + "CWIPC_WITH_CAPTURERS" : "NO", "VCPKG_CHAINLOAD_TOOLCHAIN_FILE" : "${sourceDir}/vcpkg/scripts/toolchains/android.cmake", "VCPKG_TARGET_TRIPLET" : "arm64-android", "ANDROID_ABI" : "arm64-v8a", - "ANDROID_NATIVE_API_LEVEL" : "21" + "ANDROID_NATIVE_API_LEVEL" : "31" }, "condition": { "type": "equals", diff --git a/vcpkg.json b/vcpkg.json index af08a1b..790dd44 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -3,7 +3,10 @@ "version": "7.5.0", "dependencies": [ "libjpeg-turbo", - "pcl" + { + "name":"pcl", + "default-features" : false + } ], "features" : { "capturers": { From 72b574af0444fa100bd80e55b38b7195793371d5 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 11 Oct 2024 00:14:42 +0200 Subject: [PATCH 08/34] Switching to vcpkg clone, where pcl crosscompiling issue is worked around. --- .gitmodules | 2 +- vcpkg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 4538124..28e0081 100644 --- a/.gitmodules +++ b/.gitmodules @@ -20,4 +20,4 @@ update = merge [submodule "vcpkg"] path = vcpkg - url = https://github.com/Microsoft/vcpkg.git + url = https://github.com/jackjansen/vcpkg.git diff --git a/vcpkg b/vcpkg index 5a3e638..9aab970 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 5a3e638f449206ac10f82f2171a21333004d7306 +Subproject commit 9aab970d57c1ca02312358852153e78b014ca36f From 0a1a4d338fbe7e90849222d4eadcb938c57cec80 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 11 Oct 2024 22:49:01 +0200 Subject: [PATCH 09/34] Submodule commits. --- .gitmodules | 2 +- cwipc_util | 2 +- vcpkg | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 28e0081..57f3367 100644 --- a/.gitmodules +++ b/.gitmodules @@ -20,4 +20,4 @@ update = merge [submodule "vcpkg"] path = vcpkg - url = https://github.com/jackjansen/vcpkg.git + url = git@github.com:jackjansen/vcpkg.git diff --git a/cwipc_util b/cwipc_util index 0c6e10a..3850f78 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit 0c6e10a9f9d393fbd6047773178014236ab71d06 +Subproject commit 3850f78db3178eae5eefe8d20141cec00ad7f219 diff --git a/vcpkg b/vcpkg index 9aab970..dab3852 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 9aab970d57c1ca02312358852153e78b014ca36f +Subproject commit dab385267f4c0a6ccb1aa4d85345acb8bd6c0337 From 6e0923d02e7a58ec599b63f86b59a61fa4da56a8 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 21:59:35 +0200 Subject: [PATCH 10/34] Linking against a static pcl will miss the pcl_io_ply library. Workaround to include it, at least for Android builds. --- CMakeLists.txt | 2 +- cwipc_util | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74deb74..339eba3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux) else() find_package(libjpeg-turbo REQUIRED) endif() -find_package(PCL REQUIRED COMPONENTS common io octree filters features geometry kdtree) +find_package(PCL REQUIRED COMPONENTS common io octree filters features geometry kdtree OPTIONAL_COMPONENTS io_ply) # diff --git a/cwipc_util b/cwipc_util index 3850f78..1d63fdf 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit 3850f78db3178eae5eefe8d20141cec00ad7f219 +Subproject commit 1d63fdf94093c8cbac8a304bf691a6ac339fec51 From f513cfb329f28c058b7d4c070b9b29df92acb60f Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 22:23:08 +0200 Subject: [PATCH 11/34] Build Android installer. --- CMakeFiles/CwipcInstallers.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeFiles/CwipcInstallers.cmake b/CMakeFiles/CwipcInstallers.cmake index 43e3af2..e953741 100644 --- a/CMakeFiles/CwipcInstallers.cmake +++ b/CMakeFiles/CwipcInstallers.cmake @@ -1,6 +1,9 @@ # Creating installers -if(APPLE) +if(ANDROID) + set(CPACK_GENERATOR TGZ) + set(CPACK_SOURCE_GENERATOR TGZ) +elseif(APPLE) set(CPACK_GENERATOR TGZ) set(CPACK_SOURCE_GENERATOR TGZ) elseif(UNIX) From 6ac40f13571355f0650e89b77d5db1f0e935547a Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:08:08 +0200 Subject: [PATCH 12/34] Documented android package. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6761a75..21aae01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Realsense capturer can now record during live capture, using `system.record_to_directory` config setting. (#119) - Debian packages for Ubuntu 24.04 (#143), for the time being without Kinect and Realsense support. +- Android-arm64 build added (#91), untested for now. ### Changed From 4f9246802c05433586dfc1e535df494c0fd18e4b Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:08:25 +0200 Subject: [PATCH 13/34] Added workflow for Android build. --- .github/workflows/build.yml | 73 +++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fd4c17a..3a0ed26 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -303,6 +303,63 @@ jobs: if-no-files-found: error include-hidden-files: true + build-android: + name: build-android + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + submodules: 'recursive' + lfs: 'true' + fetch-depth: 0 + - name: Get all tags + run: | + git show-ref --tags + git log -40 + git describe --debug + git describe --tags --debug + - name: Install Android NDK + uses: nttld/setup-ndk@v1 + id: setup-ndk + with: + ndk-version: r27 + add-to-path: true + + - name: Build & Test + uses: ashutoshvarma/action-cmake-build@master + with: + build-dir: ${{ github.workspace }}/build + configure-options: --preset android-production -Wno-dev + build-options: --preset android-production + run-test: false + install-build: false + install-options: --prefix ${{ github.workspace }}/installed + env: + ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} + - name: Create installer + shell: bash + run: | + cpack --config build/CPackConfig.cmake" + ls -l build/package + + - name: Capture build folder as artifact + if: ${{ failure() }} + shell: bash + run: tar cfz build.tgz build + - name: Upload build folder + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: android-build-folder + path: build.tgz + + - name: Upload installer package + uses: actions/upload-artifact@v3 + with: + name: cwipc_android_arm64_${{ github.ref_name }}.tar.gz + path: build/package/*.tar.gz + build-ubuntu2404: name: build-ubuntu2404 runs-on: ubuntu-24.04 @@ -390,6 +447,7 @@ jobs: - build-macos - build-ubuntu2204 - build-ubuntu2404 + - build-android steps: - name: Checkout code uses: actions/checkout@v2 @@ -450,6 +508,11 @@ jobs: with: name: windows-installer.exe path: ../Assets/ + - name: Download Android installer + uses: actions/download-artifact@v3 + with: + name: cwipc_android_arm64_${{ github.ref_name }}.tar.gz + path: ../Assets/ - name: Find Artefact names run: | windows_exe_path=$(ls ../Assets/*.exe | head -n 1) @@ -512,6 +575,16 @@ jobs: asset_path: ../Assets/${{ github.ref_name }}-complete.tar.gz asset_name: cwipc-${{ github.ref_name }}-source-including-submodules.tar.gz asset_content_type: application/zip + + - name: Upload Android package + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ github.token }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ../Assets/cwipc_android_arm64_${{ github.ref_name }}.tar.gz + asset_name: cwipc_android_arm64_${{ github.ref_name }}.tar.gz + asset_content_type: application/zip - name: Upload complete source (zip) uses: actions/upload-release-asset@v1 env: From 625c9526fb5a7f41420ff0ed232f2586efe92365 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:12:24 +0200 Subject: [PATCH 14/34] Android builds can in principle run on any platform. --- CMakePresets.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 844145f..97e51a5 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -68,12 +68,7 @@ "VCPKG_TARGET_TRIPLET" : "arm64-android", "ANDROID_ABI" : "arm64-v8a", "ANDROID_NATIVE_API_LEVEL" : "31" - }, - "condition": { - "type": "equals", - "lhs": "${hostSystemName}", - "rhs": "Darwin" - } + } },{ "name" : "mac-production", "description" : "Build for production on Mac", From 147070b02a5b8449e5de88586f80565a2bc03508 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:18:09 +0200 Subject: [PATCH 15/34] Android build fails on ubuntu-latest. Let's see if it works on macos-latest. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3a0ed26..d51a18f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -305,7 +305,7 @@ jobs: build-android: name: build-android - runs-on: ubuntu-latest + runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v3 From 6415b32b6154275728a55c1cedebd14b66b2e51b Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:21:09 +0200 Subject: [PATCH 16/34] build-preset for android-production was missing. Added. --- CMakePresets.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index 97e51a5..425e37e 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -186,7 +186,12 @@ "lhs": "${hostSystemName}", "rhs": "Linux" } - } + }, + { + "name" : "android-production", + "configurePreset" : "android-production", + "configuration" : "Release" + } ], "testPresets" : [ { From beee3d0434cd1516002eaf8fa5a04aa0c529b034 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:33:23 +0200 Subject: [PATCH 17/34] Ubuntu versus macos was not the issue for vcpkg failure: qhull still refuses to build. Reverting. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d51a18f..3a0ed26 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -305,7 +305,7 @@ jobs: build-android: name: build-android - runs-on: macos-latest + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 From 27cdfa7a82b65891ac818f906a1000896d5c19e4 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:37:30 +0200 Subject: [PATCH 18/34] vcpkg update --- vcpkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg b/vcpkg index dab3852..b88895d 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit dab385267f4c0a6ccb1aa4d85345acb8bd6c0337 +Subproject commit b88895d3afc855b5eb70fdc74224318f02af9024 From 988c1f1c159a590aff8083d62ae69be9f94326cb Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 13 Oct 2024 23:56:29 +0200 Subject: [PATCH 19/34] vcpkg update --- vcpkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg b/vcpkg index b88895d..0a2e17f 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit b88895d3afc855b5eb70fdc74224318f02af9024 +Subproject commit 0a2e17f46447a3ade3600d5d3b7f315af6ef8588 From 7c300072b91ec7387ccf2e77a44decc9c9301fe9 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Mon, 14 Oct 2024 15:09:04 +0200 Subject: [PATCH 20/34] Set ANDROID_NATIVE_API_LEVEL=32 and ndk-version=r27b. This should hopefully make the builds work. --- .github/workflows/build.yml | 2 +- CMakePresets.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3a0ed26..9846056 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -323,7 +323,7 @@ jobs: uses: nttld/setup-ndk@v1 id: setup-ndk with: - ndk-version: r27 + ndk-version: r27b add-to-path: true - name: Build & Test diff --git a/CMakePresets.json b/CMakePresets.json index 425e37e..99265ec 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -67,7 +67,7 @@ "VCPKG_CHAINLOAD_TOOLCHAIN_FILE" : "${sourceDir}/vcpkg/scripts/toolchains/android.cmake", "VCPKG_TARGET_TRIPLET" : "arm64-android", "ANDROID_ABI" : "arm64-v8a", - "ANDROID_NATIVE_API_LEVEL" : "31" + "ANDROID_NATIVE_API_LEVEL" : "32" } },{ "name" : "mac-production", From d63d70f7855adc32e91ca1d6c0eb9895aec2e70a Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Mon, 14 Oct 2024 16:07:49 +0200 Subject: [PATCH 21/34] Use overlay-ports to ensure our modified pcl portfile is picked up --- vcpkg-configuration.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index a3a55d4..8cb41cd 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -10,5 +10,8 @@ "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip", "name": "microsoft" } + ], + "overlay-ports" : [ + "./vcpkg/ports/pcl" ] } From c153245f77657a3693c3ee54e1ba92d5606acc06 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 15 Oct 2024 01:32:24 +0200 Subject: [PATCH 22/34] Next problem: github runner running out of space. Try to free some. --- .github/workflows/build.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9846056..4cd7982 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -319,6 +319,25 @@ jobs: git log -40 git describe --debug git describe --tags --debug + - name: Free some space + run: | + dh -h / + # Remove software and language runtimes we're not using + sudo rm -rf \ + "$AGENT_TOOLSDIRECTORY" \ + /opt/google/chrome \ + /opt/microsoft/msedge \ + /opt/microsoft/powershell \ + /opt/pipx \ + /usr/lib/mono \ + /usr/local/julia* \ + /usr/local/lib/android \ + /usr/local/lib/node_modules \ + /usr/local/share/chromium \ + /usr/local/share/powershell \ + /usr/share/dotnet \ + /usr/share/swift + df -h / - name: Install Android NDK uses: nttld/setup-ndk@v1 id: setup-ndk From a7246ed6c3ae1cd750473005c4d4f99d19755ee6 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 15 Oct 2024 10:17:59 +0200 Subject: [PATCH 23/34] Typo. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4cd7982..37b483e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -321,7 +321,7 @@ jobs: git describe --tags --debug - name: Free some space run: | - dh -h / + df -h # Remove software and language runtimes we're not using sudo rm -rf \ "$AGENT_TOOLSDIRECTORY" \ @@ -337,7 +337,7 @@ jobs: /usr/local/share/powershell \ /usr/share/dotnet \ /usr/share/swift - df -h / + df -h - name: Install Android NDK uses: nttld/setup-ndk@v1 id: setup-ndk From cd69612d37560ee72eceb09ef9b21d7d29e44eb2 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 15 Oct 2024 10:52:55 +0200 Subject: [PATCH 24/34] Use vcpkg overlay port to do release-only builds. This cuts disk space usage in half, and probably build time too. --- CMakePresets.json | 5 +++-- vcpkg-additions/triplets/arm64-android-release.cmake | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 vcpkg-additions/triplets/arm64-android-release.cmake diff --git a/CMakePresets.json b/CMakePresets.json index 99265ec..8462436 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -39,7 +39,7 @@ "inherits" : "vcpkg", "cacheVariables": { "VCPKG_TARGET_TRIPLET": "x64-windows" - }, + }, "installDir": "${sourceDir}/../installed", "condition": { "type": "equals", @@ -65,7 +65,8 @@ "cacheVariables" : { "CWIPC_WITH_CAPTURERS" : "NO", "VCPKG_CHAINLOAD_TOOLCHAIN_FILE" : "${sourceDir}/vcpkg/scripts/toolchains/android.cmake", - "VCPKG_TARGET_TRIPLET" : "arm64-android", + "VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/vcpkg-additions/triplets", + "VCPKG_TARGET_TRIPLET" : "arm64-android-release", "ANDROID_ABI" : "arm64-v8a", "ANDROID_NATIVE_API_LEVEL" : "32" } diff --git a/vcpkg-additions/triplets/arm64-android-release.cmake b/vcpkg-additions/triplets/arm64-android-release.cmake new file mode 100644 index 0000000..1dd0114 --- /dev/null +++ b/vcpkg-additions/triplets/arm64-android-release.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-linux-android") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=arm64-v8a) +set(VCPKG_BUILD_TYPE release) \ No newline at end of file From 8e6bca200672291918b860f2c2bbc7ff704f25f0 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 15 Oct 2024 11:22:47 +0200 Subject: [PATCH 25/34] Typo. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 37b483e..0db2e36 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -359,7 +359,7 @@ jobs: - name: Create installer shell: bash run: | - cpack --config build/CPackConfig.cmake" + cpack --config build/CPackConfig.cmake ls -l build/package - name: Capture build folder as artifact From 5fdc8a25b4cb06af39923ec6f8252fd1872c36d8 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 15 Oct 2024 12:51:22 +0200 Subject: [PATCH 26/34] Enable vcpkg build caching. --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0db2e36..928e4c1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -355,7 +355,8 @@ jobs: install-build: false install-options: --prefix ${{ github.workspace }}/installed env: - ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} + ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} + VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" - name: Create installer shell: bash run: | From 299266d5bc821ea9c1d17e43bad19f79c1ce59a8 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 15 Oct 2024 15:57:30 +0200 Subject: [PATCH 27/34] Fix package name. --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 928e4c1..7563bb6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -360,7 +360,7 @@ jobs: - name: Create installer shell: bash run: | - cpack --config build/CPackConfig.cmake + cpack --config build/CPackConfig.cmake -D CPACK_PACKAGE_FILE_NAME="cwipc_${{ github.ref_name }}_android_arm64.tar.gz" ls -l build/package - name: Capture build folder as artifact @@ -377,7 +377,7 @@ jobs: - name: Upload installer package uses: actions/upload-artifact@v3 with: - name: cwipc_android_arm64_${{ github.ref_name }}.tar.gz + name: cwipc_${{ github.ref_name }}_android_arm64.tar.gz path: build/package/*.tar.gz build-ubuntu2404: @@ -531,7 +531,7 @@ jobs: - name: Download Android installer uses: actions/download-artifact@v3 with: - name: cwipc_android_arm64_${{ github.ref_name }}.tar.gz + name: cwipc_${{ github.ref_name }}_android_arm64.tar.gz path: ../Assets/ - name: Find Artefact names run: | @@ -602,8 +602,8 @@ jobs: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ../Assets/cwipc_android_arm64_${{ github.ref_name }}.tar.gz - asset_name: cwipc_android_arm64_${{ github.ref_name }}.tar.gz + asset_path: ../Assets/cwipc_${{ github.ref_name }}_android_arm64.tar.gz + asset_name: cwipc_${{ github.ref_name }}_android_arm64.tar.gz asset_content_type: application/zip - name: Upload complete source (zip) uses: actions/upload-release-asset@v1 From 8011c47b2e942fb17c4dd8d2fce3c5b9421dad18 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 16 Oct 2024 12:12:42 +0200 Subject: [PATCH 28/34] Another fix to the package name. --- .github/workflows/build.yml | 4 ++-- cwipc_realsense2 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7563bb6..78e09d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -377,7 +377,7 @@ jobs: - name: Upload installer package uses: actions/upload-artifact@v3 with: - name: cwipc_${{ github.ref_name }}_android_arm64.tar.gz + name: android-arm64-package path: build/package/*.tar.gz build-ubuntu2404: @@ -531,7 +531,7 @@ jobs: - name: Download Android installer uses: actions/download-artifact@v3 with: - name: cwipc_${{ github.ref_name }}_android_arm64.tar.gz + name: android-arm64-package path: ../Assets/ - name: Find Artefact names run: | diff --git a/cwipc_realsense2 b/cwipc_realsense2 index 6b9a5ad..3fc48dc 160000 --- a/cwipc_realsense2 +++ b/cwipc_realsense2 @@ -1 +1 @@ -Subproject commit 6b9a5ad9079f0b8d76de635667d7294d593e5e21 +Subproject commit 3fc48dc323f1b046bcacc2b0a9412d552d1ad811 From 542bc0c554369625725260c2cf97f50e08ceebd0 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 16 Oct 2024 14:52:02 +0200 Subject: [PATCH 29/34] Third package name fix. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78e09d5..36de4db 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -360,7 +360,7 @@ jobs: - name: Create installer shell: bash run: | - cpack --config build/CPackConfig.cmake -D CPACK_PACKAGE_FILE_NAME="cwipc_${{ github.ref_name }}_android_arm64.tar.gz" + cpack --config build/CPackConfig.cmake -D CPACK_PACKAGE_FILE_NAME="cwipc_${{ github.ref_name }}_android_arm64" ls -l build/package - name: Capture build folder as artifact From e9bf4fa850e2611eff67fe5315405cb0c81c5128 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 17 Oct 2024 11:54:46 +0200 Subject: [PATCH 30/34] Undid cwipc_realsense commit that was for another branch. Together with previous commits this closes #91. --- cwipc_realsense2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cwipc_realsense2 b/cwipc_realsense2 index 3fc48dc..6b9a5ad 160000 --- a/cwipc_realsense2 +++ b/cwipc_realsense2 @@ -1 +1 @@ -Subproject commit 3fc48dc323f1b046bcacc2b0a9412d552d1ad811 +Subproject commit 6b9a5ad9079f0b8d76de635667d7294d593e5e21 From 2213211e8c95f35986373f1a70204f79d060dde5 Mon Sep 17 00:00:00 2001 From: "BEELZEBUB\\DIS" Date: Thu, 17 Oct 2024 23:36:57 +0200 Subject: [PATCH 31/34] Use RUNTIME_DEPENDENCIES to install needed DLLs. Closes #150. --- cwipc_codec | 2 +- cwipc_kinect | 2 +- cwipc_realsense2 | 2 +- cwipc_util | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cwipc_codec b/cwipc_codec index 12b6287..058c937 160000 --- a/cwipc_codec +++ b/cwipc_codec @@ -1 +1 @@ -Subproject commit 12b62878f72714df66ec18bdb988d266a7bcd7c7 +Subproject commit 058c937fdb70f35a9ef555274de9b13f8831546d diff --git a/cwipc_kinect b/cwipc_kinect index ceeb465..3296fac 160000 --- a/cwipc_kinect +++ b/cwipc_kinect @@ -1 +1 @@ -Subproject commit ceeb465529a8b240ec90ca84da694461286c7140 +Subproject commit 3296facba7ddc1d5c5886053d0a78432b7de7bb5 diff --git a/cwipc_realsense2 b/cwipc_realsense2 index 6b9a5ad..4a3372a 160000 --- a/cwipc_realsense2 +++ b/cwipc_realsense2 @@ -1 +1 @@ -Subproject commit 6b9a5ad9079f0b8d76de635667d7294d593e5e21 +Subproject commit 4a3372a6fb2bc0e6ecc43d7f5ab61864e252a69b diff --git a/cwipc_util b/cwipc_util index 1d63fdf..3cd8398 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit 1d63fdf94093c8cbac8a304bf691a6ac339fec51 +Subproject commit 3cd83988c05d251024c7d815916aa0b0c2425414 From fcb6853adbe3abeb58d2f43a771aac74b9029228 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 18 Oct 2024 00:03:30 +0200 Subject: [PATCH 32/34] Only use RUNTIME_DEPENDENCIES on Windows. --- cwipc_codec | 2 +- cwipc_kinect | 2 +- cwipc_realsense2 | 2 +- cwipc_util | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cwipc_codec b/cwipc_codec index 058c937..b0ac4b2 160000 --- a/cwipc_codec +++ b/cwipc_codec @@ -1 +1 @@ -Subproject commit 058c937fdb70f35a9ef555274de9b13f8831546d +Subproject commit b0ac4b24a28414b3c80b44928b1a04514ec50f38 diff --git a/cwipc_kinect b/cwipc_kinect index 3296fac..4b40a6d 160000 --- a/cwipc_kinect +++ b/cwipc_kinect @@ -1 +1 @@ -Subproject commit 3296facba7ddc1d5c5886053d0a78432b7de7bb5 +Subproject commit 4b40a6d31f91f768ff60b5e6d0743bedb070d9b7 diff --git a/cwipc_realsense2 b/cwipc_realsense2 index 4a3372a..0e9ee0b 160000 --- a/cwipc_realsense2 +++ b/cwipc_realsense2 @@ -1 +1 @@ -Subproject commit 4a3372a6fb2bc0e6ecc43d7f5ab61864e252a69b +Subproject commit 0e9ee0b53bd260f2ef0a6a01b0b770556c1c45c2 diff --git a/cwipc_util b/cwipc_util index 3cd8398..005eee5 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit 3cd83988c05d251024c7d815916aa0b0c2425414 +Subproject commit 005eee5f834dc574d1259fe8827f4b1c4cfc4ad7 From baf429d24d8b69f599671f52ca0489ea00622fa6 Mon Sep 17 00:00:00 2001 From: "VRTINY\\DIS" Date: Fri, 18 Oct 2024 11:53:36 +0200 Subject: [PATCH 33/34] Submodule commits.It's WIN32, not WINDOWS --- cwipc_codec | 2 +- cwipc_kinect | 2 +- cwipc_realsense2 | 2 +- cwipc_util | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cwipc_codec b/cwipc_codec index b0ac4b2..c23fb7f 160000 --- a/cwipc_codec +++ b/cwipc_codec @@ -1 +1 @@ -Subproject commit b0ac4b24a28414b3c80b44928b1a04514ec50f38 +Subproject commit c23fb7fe0cbcdbb6c648d68478f51c948b26ad5d diff --git a/cwipc_kinect b/cwipc_kinect index 4b40a6d..14ae16e 160000 --- a/cwipc_kinect +++ b/cwipc_kinect @@ -1 +1 @@ -Subproject commit 4b40a6d31f91f768ff60b5e6d0743bedb070d9b7 +Subproject commit 14ae16e28ce3b946be88856c2ef7a02db619b69b diff --git a/cwipc_realsense2 b/cwipc_realsense2 index 0e9ee0b..1d57f58 160000 --- a/cwipc_realsense2 +++ b/cwipc_realsense2 @@ -1 +1 @@ -Subproject commit 0e9ee0b53bd260f2ef0a6a01b0b770556c1c45c2 +Subproject commit 1d57f58298c08b50a15ee13f8b7ab561bc216ad9 diff --git a/cwipc_util b/cwipc_util index 005eee5..f6a3e20 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit 005eee5f834dc574d1259fe8827f4b1c4cfc4ad7 +Subproject commit f6a3e203ae368107a0613554796316d238018f54 From ae8b9494ba619cd08d68d084a424765858d5fe5a Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 29 Oct 2024 11:56:28 +0100 Subject: [PATCH 34/34] cwipc_forward can now serve streams to multiple connections at the same time. Closes #151. --- CHANGELOG.md | 11 ++++++----- cwipc_util | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21aae01..8d3f480 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,15 +18,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Minor documentation fixes - More resilience against incomplete installations (#108) - Don't use numpy 2.0 until issues with open3d are fixed (#109) -- Fixed colors for cwipc_view --rgb with RealSense camera (#115) -- Fixed cwipc_register for multiple RealSense cameras (#106) -- Fixed cwipc_synthetic reader to not wait on available(False) (#117) -- Realsense cameraconfig.json file rationalized. Major code cleanup. (#137, #125, #118) +- Fixed colors for `cwipc_view --rgb` with RealSense camera (#115) +- Fixed `cwipc_register` for multiple RealSense cameras (#106) +- Fixed `cwipc_synthetic` reader to not wait on available(False) (#117) +- Realsense `cameraconfig.json` file rationalized. Major code cleanup. (#137, #125, #118) - Calibration of Realsense D455 cameras fixed. (#127) - Use cmake presets for building (#120) -- Use pyproject.toml for Python package generation (#79) +- Use `pyproject.toml` for Python package generation (#79) - Implemented recording while capturing for both Realsense and Kinect (#139) - Glfw is now used via normal dependencies, no longer slurped (#123) +- `cwipc_forward` can now serve streams to multiple connections at the same time (#151) ## [7.5.3] - 2024-04-30 diff --git a/cwipc_util b/cwipc_util index f6a3e20..d2e08d2 160000 --- a/cwipc_util +++ b/cwipc_util @@ -1 +1 @@ -Subproject commit f6a3e203ae368107a0613554796316d238018f54 +Subproject commit d2e08d28f0831388b04a4767ffb28341ba773177