early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,13 @@
diff --git a/tools/k4aviewer/k4alogdockcontrol.cpp b/tools/k4aviewer/k4alogdockcontrol.cpp
index 4289f71..407e912 100644
--- a/tools/k4aviewer/k4alogdockcontrol.cpp
+++ b/tools/k4aviewer/k4alogdockcontrol.cpp
@@ -161,7 +161,7 @@ K4ADockControlStatus K4ALogDockControl::Show()
if (updated)
{
- ImGui::SetScrollHere(1.0f);
+ ImGui::SetScrollHereY(1.0f);
}
ImGui::EndChild();

View File

@@ -0,0 +1,618 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4f002b5..d48f3f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,8 +27,6 @@ option(K4A_BUILD_DOCS "Build K4A doxygen documentation" OFF)
option(K4A_MTE_VERSION "Skip FW version check" OFF)
option(K4A_SOURCE_LINK "Enable source linking on MSVC" OFF)
-include(GitCommands)
-
# Set the project version
include(K4AProjectVersion)
@@ -100,6 +98,43 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
endif()
+find_package(azure_c_shared_utility CONFIG REQUIRED)
+find_package(glfw3 CONFIG REQUIRED)
+find_package(cJSON CONFIG REQUIRED)
+find_package(GTest CONFIG REQUIRED)
+find_package(imgui CONFIG REQUIRED)
+find_package(EBML CONFIG REQUIRED)
+find_path(TURBOJPEG_INCLUDE_DIR NAMES turbojpeg.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH REQUIRED)
+find_library(TURBOJPEG_LIBRARY_RELEASE NAMES turbojpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH REQUIRED)
+add_library(libjpeg-turbo::libjpeg-turbo UNKNOWN IMPORTED)
+set_property(TARGET libjpeg-turbo::libjpeg-turbo PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${TURBOJPEG_INCLUDE_DIR})
+set_property(TARGET libjpeg-turbo::libjpeg-turbo PROPERTY IMPORTED_LOCATION_RELEASE ${TURBOJPEG_LIBRARY_RELEASE})
+if(EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib")
+ find_library(TURBOJPEG_LIBRARY_DEBUG NAMES turbojpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH REQUIRED)
+ set_property(TARGET libjpeg-turbo::libjpeg-turbo PROPERTY IMPORTED_LOCATION_DEBUG ${TURBOJPEG_LIBRARY_DEBUG})
+endif()
+find_package(Matroska CONFIG REQUIRED)
+add_definitions(-DMATROSKA_VERSION=2)
+find_package(libsoundio CONFIG REQUIRED)
+if (NOT WIN32)
+ find_package(libusb CONFIG REQUIRED)
+ find_package(libuvc CONFIG REQUIRED)
+ add_library(libuvc::libuvc ALIAS LibUVC::UVCStatic)
+ find_package(OpenSSL REQUIRED)
+ find_package(ZLIB REQUIRED)
+else()
+ find_library(LibUSB libusb-1.0 REQUIRED)
+endif()
+find_package(libyuv CONFIG REQUIRED)
+find_package(spdlog CONFIG REQUIRED)
+if (BUILD_TOOLS)
+ find_package(gl3w CONFIG REQUIRED)
+endif()
+# Fix embl error
+if ("MSVC")
+add_compile_options(/wd4828 /wd4251 /wd4275)
+endif()
+
# Find all dependencies
add_subdirectory(extern)
@@ -161,10 +196,16 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
endif()
endif()
-add_subdirectory(examples)
-add_subdirectory(src)
-add_subdirectory(tests)
-add_subdirectory(tools)
+if (BUILD_EXAMPLES)
+ add_subdirectory(examples)
+endif()
+ add_subdirectory(src)
+if (WITH_TEST)
+ add_subdirectory(tests)
+endif()
+if (BUILD_TOOLS)
+ add_subdirectory(tools)
+endif()
if (K4A_BUILD_DOCS)
find_package(Doxygen 1.8.14 EXACT)
diff --git a/examples/viewer/opengl/CMakeLists.txt b/examples/viewer/opengl/CMakeLists.txt
index 166fe2a..a3db07f 100644
--- a/examples/viewer/opengl/CMakeLists.txt
+++ b/examples/viewer/opengl/CMakeLists.txt
@@ -14,6 +14,6 @@ add_executable(viewer_opengl
target_link_libraries(viewer_opengl PRIVATE
k4a::k4a
- glfw::glfw
+ glfw
imgui::imgui
${OPENGL_LIBRARIES})
\ No newline at end of file
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index cb4f7b4..3d00084 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -1,7 +1,6 @@
# External dependencies are pulled in via submodules. Lets make sure the user
# has updated all the submodules
-if ((NOT K4A_TURNED_ON_GIT_SUBMODULES_RECURSE) OR
- (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/azure_c_shared/src/CMakeLists.txt"))
+if (0)
find_package(Git REQUIRED QUIET)
if (Git_FOUND)
get_git_dir(${K4A_SOURCE_DIR} GIT_DIR)
@@ -57,18 +56,4 @@ endif()
# lower than CMake 3.3
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
-add_subdirectory(azure_c_shared)
-add_subdirectory(cjson)
-add_subdirectory(glfw)
-add_subdirectory(googletest)
-add_subdirectory(imgui)
-add_subdirectory(libebml)
-add_subdirectory(libjpeg-turbo)
-add_subdirectory(libmatroska)
-add_subdirectory(libsoundio)
-add_subdirectory(libyuv)
-add_subdirectory(libuvc)
-add_subdirectory(spdlog)
-if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore")
- add_subdirectory(libusb)
-endif()
+
diff --git a/src/allocator/CMakeLists.txt b/src/allocator/CMakeLists.txt
index 7140274..3bb6747 100644
--- a/src/allocator/CMakeLists.txt
+++ b/src/allocator/CMakeLists.txt
@@ -11,7 +11,7 @@ target_include_directories(k4a_allocator PUBLIC
# Dependencies of this library
target_link_libraries(k4a_allocator PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
k4ainternal::image
k4ainternal::logging)
diff --git a/src/calibration/CMakeLists.txt b/src/calibration/CMakeLists.txt
index e96b7d0..ed69f41 100644
--- a/src/calibration/CMakeLists.txt
+++ b/src/calibration/CMakeLists.txt
@@ -11,7 +11,7 @@ target_include_directories(k4a_calibration PUBLIC
# Dependencies of this library
target_link_libraries(k4a_calibration PUBLIC
- cJSON::cJSON
+ cjson
k4ainternal::logging)
# Define alias for other targets to link against
diff --git a/src/calibration/calibration.c b/src/calibration/calibration.c
index bf5f34a..d37c4e6 100644
--- a/src/calibration/calibration.c
+++ b/src/calibration/calibration.c
@@ -6,7 +6,7 @@
// Dependent libraries
#include <k4ainternal/common.h>
-#include <cJSON.h>
+#include <cjson/cJSON.h>
#include <locale.h> //cJSON.h need this set correctly.
// System dependencies
diff --git a/src/capturesync/CMakeLists.txt b/src/capturesync/CMakeLists.txt
index a434593..bcb19ba 100644
--- a/src/capturesync/CMakeLists.txt
+++ b/src/capturesync/CMakeLists.txt
@@ -11,7 +11,7 @@ target_include_directories(k4a_capturesync PUBLIC
# Dependencies of this library
target_link_libraries(k4a_capturesync PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
k4ainternal::logging)
# Define alias for other targets to link against
diff --git a/src/dewrapper/CMakeLists.txt b/src/dewrapper/CMakeLists.txt
index 2756e43..f736fd1 100644
--- a/src/dewrapper/CMakeLists.txt
+++ b/src/dewrapper/CMakeLists.txt
@@ -10,7 +10,7 @@ target_include_directories(k4a_dewrapper PUBLIC
${K4A_PRIV_INCLUDE_DIR})
target_link_libraries(k4a_dewrapper PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
k4ainternal::allocator
k4ainternal::calibration
k4ainternal::logging
diff --git a/src/image/CMakeLists.txt b/src/image/CMakeLists.txt
index c40999b..82406e2 100644
--- a/src/image/CMakeLists.txt
+++ b/src/image/CMakeLists.txt
@@ -11,7 +11,7 @@ target_include_directories(k4a_image PUBLIC
# Dependencies of this library
target_link_libraries(k4a_image PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
k4ainternal::allocator
k4ainternal::logging)
diff --git a/src/logging/CMakeLists.txt b/src/logging/CMakeLists.txt
index cbf0e4d..ca81c41 100644
--- a/src/logging/CMakeLists.txt
+++ b/src/logging/CMakeLists.txt
@@ -11,7 +11,7 @@ target_include_directories(k4a_logging PUBLIC
# Dependencies of this library
target_link_libraries(k4a_logging PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
spdlog::spdlog
k4ainternal::rwlock
k4ainternal::global
diff --git a/src/logging/logging.cpp b/src/logging/logging.cpp
index 05264c5..41185de 100644
--- a/src/logging/logging.cpp
+++ b/src/logging/logging.cpp
@@ -24,6 +24,9 @@
#pragma warning(disable : 4702)
#endif
#include <spdlog/spdlog.h>
+#include <spdlog/sinks/stdout_color_sinks.h>
+#include <spdlog/sinks/rotating_file_sink.h>
+#include <spdlog/sinks/stdout_sinks.h>
#ifdef _MSC_VER
#pragma warning(default : 4702)
#endif
diff --git a/src/queue/CMakeLists.txt b/src/queue/CMakeLists.txt
index 03d15f4..a42a135 100644
--- a/src/queue/CMakeLists.txt
+++ b/src/queue/CMakeLists.txt
@@ -10,7 +10,7 @@ target_include_directories(k4a_queue PUBLIC
${K4A_PRIV_INCLUDE_DIR})
target_link_libraries(k4a_queue PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
k4ainternal::allocator
k4ainternal::logging
)
diff --git a/src/record/internal/CMakeLists.txt b/src/record/internal/CMakeLists.txt
index 97c6cf3..e9f5b1a 100644
--- a/src/record/internal/CMakeLists.txt
+++ b/src/record/internal/CMakeLists.txt
@@ -22,16 +22,16 @@ target_include_directories(k4a_playback PUBLIC
target_link_libraries(k4a_record PUBLIC
k4a::k4a
k4ainternal::logging
- ebml::ebml
- matroska::matroska
+ EBML::ebml
+ Matroska::matroska
)
target_link_libraries(k4a_playback PUBLIC
k4a::k4a
k4ainternal::logging
- ebml::ebml
- matroska::matroska
- libyuv::libyuv
+ EBML::ebml
+ Matroska::matroska
+ yuv
libjpeg-turbo::libjpeg-turbo
)
diff --git a/src/record/sdk/CMakeLists.txt b/src/record/sdk/CMakeLists.txt
index 2e23295..d150e70 100644
--- a/src/record/sdk/CMakeLists.txt
+++ b/src/record/sdk/CMakeLists.txt
@@ -40,8 +40,8 @@ target_link_libraries(k4arecord PRIVATE
k4ainternal::record
k4ainternal::playback
k4ainternal::logging
- ebml::ebml
- matroska::matroska
+ EBML::ebml
+ Matroska::matroska
)
target_link_libraries(k4arecord PUBLIC
diff --git a/src/tewrapper/CMakeLists.txt b/src/tewrapper/CMakeLists.txt
index e4a696e..6ee6696 100644
--- a/src/tewrapper/CMakeLists.txt
+++ b/src/tewrapper/CMakeLists.txt
@@ -10,7 +10,7 @@ target_include_directories(k4a_tewrapper PUBLIC
${K4A_PRIV_INCLUDE_DIR})
target_link_libraries(k4a_tewrapper PUBLIC
- azure::aziotsharedutil
+ aziotsharedutil
k4ainternal::logging
k4ainternal::deloader)
diff --git a/src/usbcommand/CMakeLists.txt b/src/usbcommand/CMakeLists.txt
index f75bd55..5403216 100644
--- a/src/usbcommand/CMakeLists.txt
+++ b/src/usbcommand/CMakeLists.txt
@@ -12,8 +12,8 @@ target_include_directories(k4a_usb_cmd PUBLIC
# Dependencies of this library
target_link_libraries(k4a_usb_cmd PUBLIC
- azure::aziotsharedutil
- LibUSB::LibUSB
+ aziotsharedutil
+ ${LibUSB}
k4ainternal::allocator
k4ainternal::image
k4ainternal::logging)
diff --git a/src/usbcommand/usb_cmd_priv.h b/src/usbcommand/usb_cmd_priv.h
index 0aa502c..0405b58 100644
--- a/src/usbcommand/usb_cmd_priv.h
+++ b/src/usbcommand/usb_cmd_priv.h
@@ -20,7 +20,7 @@
#include <azure_c_shared_utility/threadapi.h>
// Exteranl dependencis
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
// Ensure we have LIBUSB_API_VERSION defined if not defined by libusb.h
#ifndef LIBUSB_API_VERSION
diff --git a/tests/Calibration/CMakeLists.txt b/tests/Calibration/CMakeLists.txt
index ea6a9dd..c107269 100644
--- a/tests/Calibration/CMakeLists.txt
+++ b/tests/Calibration/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(calibration_ut calibration.cpp)
target_link_libraries(calibration_ut PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::calibration
k4ainternal::utcommon)
diff --git a/tests/CaptureSync/CMakeLists.txt b/tests/CaptureSync/CMakeLists.txt
index 0a9a8e2..f7bff42 100644
--- a/tests/CaptureSync/CMakeLists.txt
+++ b/tests/CaptureSync/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(capturesync_ut capturesync.cpp)
target_link_libraries(capturesync_ut PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::allocator
k4ainternal::capturesync
k4ainternal::image
diff --git a/tests/ColorTests/FunctionalTest/CMakeLists.txt b/tests/ColorTests/FunctionalTest/CMakeLists.txt
index 1e65ad7..709dfb0 100644
--- a/tests/ColorTests/FunctionalTest/CMakeLists.txt
+++ b/tests/ColorTests/FunctionalTest/CMakeLists.txt
@@ -6,7 +6,7 @@ add_executable(color_ft color_ft.cpp)
target_link_libraries(color_ft PRIVATE
k4a::k4a
k4ainternal::utcommon
- gtest::gtest
- azure::aziotsharedutil)
+ GTest::gtest
+ aziotsharedutil)
k4a_add_tests(TARGET color_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL)
diff --git a/tests/DepthTests/FunctionalTest/CMakeLists.txt b/tests/DepthTests/FunctionalTest/CMakeLists.txt
index 469c125..00f15f8 100644
--- a/tests/DepthTests/FunctionalTest/CMakeLists.txt
+++ b/tests/DepthTests/FunctionalTest/CMakeLists.txt
@@ -6,7 +6,7 @@ add_executable(depth_ft depth_ft.cpp)
target_link_libraries(depth_ft PRIVATE
k4a::k4a
k4ainternal::utcommon
- gtest::gtest
- azure::aziotsharedutil)
+ GTest::gtest
+ aziotsharedutil)
k4a_add_tests(TARGET depth_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL)
diff --git a/tests/ExternLibraries/azure_c_shared/CMakeLists.txt b/tests/ExternLibraries/azure_c_shared/CMakeLists.txt
index a487cde..44170f4 100644
--- a/tests/ExternLibraries/azure_c_shared/CMakeLists.txt
+++ b/tests/ExternLibraries/azure_c_shared/CMakeLists.txt
@@ -6,7 +6,7 @@ add_executable(azure_c_shared_test
threading.cpp)
target_link_libraries(azure_c_shared_test PRIVATE
- azure::aziotsharedutil
- gtest::gtest)
+ aziotsharedutil
+ GTest::gtest)
k4a_add_tests(TARGET azure_c_shared_test TEST_TYPE UNIT)
diff --git a/tests/IMUTests/FunctionalTest/CMakeLists.txt b/tests/IMUTests/FunctionalTest/CMakeLists.txt
index cc6b3c2..d8762f6 100644
--- a/tests/IMUTests/FunctionalTest/CMakeLists.txt
+++ b/tests/IMUTests/FunctionalTest/CMakeLists.txt
@@ -6,7 +6,7 @@ add_executable(imu_ft imu_ft.cpp)
target_link_libraries(imu_ft PRIVATE
k4a::k4a
k4ainternal::utcommon
- gtest::gtest
- azure::aziotsharedutil)
+ GTest::gtest
+ aziotsharedutil)
k4a_add_tests(TARGET imu_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL)
diff --git a/tests/Transformation/CMakeLists.txt b/tests/Transformation/CMakeLists.txt
index 7f11a2f..c4ddaf8 100644
--- a/tests/Transformation/CMakeLists.txt
+++ b/tests/Transformation/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(transformation_ut transformation.cpp)
target_link_libraries(transformation_ut PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::image
k4ainternal::transformation
k4ainternal::utcommon
diff --git a/tests/UnitTests/allocator_ut/CMakeLists.txt b/tests/UnitTests/allocator_ut/CMakeLists.txt
index 913a7d8..0b7baeb 100644
--- a/tests/UnitTests/allocator_ut/CMakeLists.txt
+++ b/tests/UnitTests/allocator_ut/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(allocator_ut allocator.cpp)
target_link_libraries(allocator_ut PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::allocator
k4ainternal::image
k4ainternal::utcommon)
diff --git a/tests/UnitTests/dynlib_ut/CMakeLists.txt b/tests/UnitTests/dynlib_ut/CMakeLists.txt
index fbecc17..af73be2 100644
--- a/tests/UnitTests/dynlib_ut/CMakeLists.txt
+++ b/tests/UnitTests/dynlib_ut/CMakeLists.txt
@@ -34,7 +34,7 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
endif()
target_link_libraries(dynlib_ut PRIVATE
- gtest::gtest
+ GTest::gtest
k4ainternal::dynlib
k4ainternal::utcommon)
diff --git a/tests/UnitTests/queue_ut/CMakeLists.txt b/tests/UnitTests/queue_ut/CMakeLists.txt
index cf9b040..ec4a024 100644
--- a/tests/UnitTests/queue_ut/CMakeLists.txt
+++ b/tests/UnitTests/queue_ut/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(queue_ut queue.cpp)
target_link_libraries(queue_ut PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::allocator
k4ainternal::image
k4ainternal::queue
diff --git a/tests/UnitTests/utcommon/CMakeLists.txt b/tests/UnitTests/utcommon/CMakeLists.txt
index cca52c6..dfdd13d 100644
--- a/tests/UnitTests/utcommon/CMakeLists.txt
+++ b/tests/UnitTests/utcommon/CMakeLists.txt
@@ -4,8 +4,8 @@
add_library(utcommon STATIC utcommon.cpp)
target_link_libraries(utcommon PUBLIC
- gtest::gtest
- gtest::gmock
+ GTest::gtest
+ GTest::gmock
k4ainternal::logging
)
diff --git a/tests/example/CMakeLists.txt b/tests/example/CMakeLists.txt
index 3305a1a..be0b667 100644
--- a/tests/example/CMakeLists.txt
+++ b/tests/example/CMakeLists.txt
@@ -3,6 +3,6 @@
add_executable(k4a_example_test test.cpp)
target_link_libraries(k4a_example_test PRIVATE k4a::k4a)
-target_link_libraries(k4a_example_test PRIVATE gtest::gtest)
+target_link_libraries(k4a_example_test PRIVATE GTest::gtest)
k4a_add_tests(TARGET k4a_example_test HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL)
diff --git a/tests/executables/CMakeLists.txt b/tests/executables/CMakeLists.txt
index 7b03d15..6c070ee 100644
--- a/tests/executables/CMakeLists.txt
+++ b/tests/executables/CMakeLists.txt
@@ -17,12 +17,12 @@ target_compile_definitions(executables_ft_custom PRIVATE -DUSE_CUSTOM_TEST_CONFI
target_link_libraries(executables_ft PRIVATE
k4a::k4a
k4ainternal::utcommon
- gtest::gtest)
+ GTest::gtest)
target_link_libraries(executables_ft_custom PRIVATE
k4a::k4a
k4ainternal::utcommon
- gtest::gtest)
+ GTest::gtest)
k4a_add_tests(TARGET executables_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL)
k4a_add_tests(TARGET executables_ft_custom HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL_CUSTOM)
diff --git a/tests/global/CMakeLists.txt b/tests/global/CMakeLists.txt
index ea0a0e5..d85728d 100644
--- a/tests/global/CMakeLists.txt
+++ b/tests/global/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(global_ft global.cpp)
target_link_libraries(global_ft PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::global
k4ainternal::utcommon)
diff --git a/tests/multidevice/CMakeLists.txt b/tests/multidevice/CMakeLists.txt
index 3fe044b..85f3058 100644
--- a/tests/multidevice/CMakeLists.txt
+++ b/tests/multidevice/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(multidevice_ft multidevice.cpp)
target_link_libraries(multidevice_ft PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4a::k4a
k4ainternal::utcommon)
diff --git a/tests/projections/cpp/CMakeLists.txt b/tests/projections/cpp/CMakeLists.txt
index 2fdfa2c..09b5303 100644
--- a/tests/projections/cpp/CMakeLists.txt
+++ b/tests/projections/cpp/CMakeLists.txt
@@ -6,6 +6,6 @@ add_executable(cpp_projection_ft cpp_projection_ft.cpp)
target_link_libraries(cpp_projection_ft PRIVATE
k4a::k4a
k4ainternal::utcommon
- gtest::gtest)
+ GTest::gtest)
k4a_add_tests(TARGET cpp_projection_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL)
diff --git a/tests/rwlock/CMakeLists.txt b/tests/rwlock/CMakeLists.txt
index 5889435..c6c1f73 100644
--- a/tests/rwlock/CMakeLists.txt
+++ b/tests/rwlock/CMakeLists.txt
@@ -4,8 +4,8 @@
add_executable(rwlock_ft rwlock.cpp)
target_link_libraries(rwlock_ft PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4ainternal::rwlock
k4ainternal::utcommon)
diff --git a/tests/throughput/CMakeLists.txt b/tests/throughput/CMakeLists.txt
index c544e1e..9489bf8 100644
--- a/tests/throughput/CMakeLists.txt
+++ b/tests/throughput/CMakeLists.txt
@@ -6,8 +6,8 @@ add_executable(throughput_perf throughput_perf.cpp)
target_compile_definitions(throughput_perf PRIVATE _CRT_SECURE_NO_WARNINGS)
target_link_libraries(throughput_perf PRIVATE
- azure::aziotsharedutil
- gtest::gtest
+ aziotsharedutil
+ GTest::gtest
k4a::k4a
k4ainternal::logging
k4ainternal::utcommon)
diff --git a/tools/k4aviewer/CMakeLists.txt b/tools/k4aviewer/CMakeLists.txt
index 98578c0..6ab38d9 100644
--- a/tools/k4aviewer/CMakeLists.txt
+++ b/tools/k4aviewer/CMakeLists.txt
@@ -60,10 +60,11 @@ set(EXTERNAL_LIBRARIES
imgui::imgui
libjpeg-turbo::libjpeg-turbo
libsoundio::libsoundio
- LibUSB::LibUSB
- libyuv::libyuv
- glfw::glfw
+ ${LibUSB}
+ yuv
+ glfw
${OPENGL_LIBRARIES}
+ unofficial::gl3w::gl3w
)
# On Windows, we need to call into setupapi to get USB container ID information
diff --git a/tools/k4aviewer/k4aaudiomanager.cpp b/tools/k4aviewer/k4aaudiomanager.cpp
index 243c800..ef85d45 100644
--- a/tools/k4aviewer/k4aaudiomanager.cpp
+++ b/tools/k4aviewer/k4aaudiomanager.cpp
@@ -11,7 +11,7 @@
// Library headers
//
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
// Project headers
//

View File

@@ -0,0 +1,70 @@
diff --git a/src/calibration/calibration.c b/src/calibration/calibration.c
index d37c4e6..ec477f5 100644
--- a/src/calibration/calibration.c
+++ b/src/calibration/calibration.c
@@ -7,7 +7,6 @@
// Dependent libraries
#include <k4ainternal/common.h>
#include <cjson/cJSON.h>
-#include <locale.h> //cJSON.h need this set correctly.
// System dependencies
#include <stdlib.h>
@@ -637,27 +636,6 @@ k4a_result_t calibration_create_from_raw(char *raw_calibration,
k4a_result_t result = K4A_RESULT_SUCCEEDED;
-#ifdef _WIN32
- int previous_thread_locale = -1;
- if (K4A_SUCCEEDED(result))
- {
- previous_thread_locale = _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
- result = K4A_RESULT_FROM_BOOL(previous_thread_locale == _ENABLE_PER_THREAD_LOCALE ||
- previous_thread_locale == _DISABLE_PER_THREAD_LOCALE);
- }
-
- if (K4A_SUCCEEDED(result))
- {
- result = K4A_RESULT_FROM_BOOL(setlocale(LC_ALL, "C") != NULL);
- }
-
-#else // NOT _WIN32
-
- locale_t thread_locale = newlocale(LC_ALL_MASK, "C", (locale_t)0);
- locale_t previous_locale = uselocale(thread_locale);
-
-#endif
-
if (K4A_SUCCEEDED(result) && depth_calibration != NULL)
{
result = get_camera_calibration(raw_calibration, depth_calibration, "CALIBRATION_CameraLocationD0");
@@ -680,29 +658,6 @@ k4a_result_t calibration_create_from_raw(char *raw_calibration,
"CALIBRATION_InertialSensorType_Accelerometer");
}
-#ifdef _WIN32
- if (previous_thread_locale == _ENABLE_PER_THREAD_LOCALE || previous_thread_locale == _DISABLE_PER_THREAD_LOCALE)
- {
- if (K4A_FAILED(K4A_RESULT_FROM_BOOL(_configthreadlocale(previous_thread_locale) != -1)))
- {
- // Only set result to failed, don't let this call succeed and clear a failure that might have happened
- // already.
- result = K4A_RESULT_FAILED;
- }
- }
-#else // NOT _WIN32
- if ((previous_locale != NULL) && (K4A_FAILED(K4A_RESULT_FROM_BOOL(uselocale(previous_locale) != NULL))))
- {
- // Only set result to failed, don't let this call succeed and clear a failure that might have happened
- // already.
- result = K4A_RESULT_FAILED;
- }
- if (thread_locale)
- {
- freelocale(thread_locale);
- }
-#endif
-
return result;
}

View File

@@ -0,0 +1,35 @@
diff --git a/tools/k4aviewer/CMakeLists.txt b/tools/k4aviewer/CMakeLists.txt
index 6ab38d9..f31f570 100644
--- a/tools/k4aviewer/CMakeLists.txt
+++ b/tools/k4aviewer/CMakeLists.txt
@@ -54,6 +54,8 @@ include_directories(
${CMAKE_CURRENT_LIST_DIR}
)
+find_package(GLEW REQUIRED)
+
set(EXTERNAL_LIBRARIES
k4a::k4a
k4a::k4arecord
@@ -65,6 +67,7 @@ set(EXTERNAL_LIBRARIES
glfw
${OPENGL_LIBRARIES}
unofficial::gl3w::gl3w
+ GLEW::GLEW
)
# On Windows, we need to call into setupapi to get USB container ID information
diff --git a/tools/k4aviewer/k4asoundio_util.h b/tools/k4aviewer/k4asoundio_util.h
index c9c2718..011a76e 100644
--- a/tools/k4aviewer/k4asoundio_util.h
+++ b/tools/k4aviewer/k4asoundio_util.h
@@ -16,7 +16,7 @@
// This disables that behavior.
//
#define NOMINMAX
-#include <soundio.h>
+#include <soundio/soundio.h>
// Project headers
//

View File

@@ -0,0 +1,39 @@
diff --git a/cmake/k4aCompilerFlags.cmake b/cmake/k4aCompilerFlags.cmake
index e938c907..ccea0a8e 100644
--- a/cmake/k4aCompilerFlags.cmake
+++ b/cmake/k4aCompilerFlags.cmake
@@ -34,22 +34,16 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
list(APPEND CLANG_ALL_WARNINGS "-Wno-extra-semi-stmt") # Allow semi-colons to be used after #define's
list(APPEND CLANG_ALL_WARNINGS "-Wno-atomic-implicit-seq-cst") # Allow use of __sync_add_and_fetch() atomic
endif()
- set(CLANG_WARNINGS_AS_ERRORS "-Werror")
add_compile_options(${CLANG_ALL_WARNINGS})
- add_compile_options(${CLANG_WARNINGS_AS_ERRORS})
elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
set(GNU_ALL_WARNINGS "-Wall" "-Wextra")
list(APPEND GNU_ALL_WARNINGS "-Wno-missing-field-initializers") # Allow c structs without all fields initialized
- set(GNU_WARNINGS_AS_ERRORS "-Werror")
add_compile_options(${GNU_ALL_WARNINGS})
- add_compile_options(${GNU_WARNINGS_AS_ERRORS})
elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(MSVC_ALL_WARNINGS "/W4" "/wd4200") #Note: allow zero length arrays
- set(MSVC_WARNINGS_AS_ERRORS "/WX")
string(REGEX REPLACE " /W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REGEX REPLACE " /W[0-4]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
add_compile_options(${MSVC_ALL_WARNINGS})
- add_compile_options(${MSVC_WARNINGS_AS_ERRORS})
else()
message(FATAL_ERROR "Unknown C++ compiler: ${CMAKE_CXX_COMPILER_ID}")
endif()
diff --git a/src/logging/logging.cpp b/src/logging/logging.cpp
index 05264c5f..6cd41d32 100644
--- a/src/logging/logging.cpp
+++ b/src/logging/logging.cpp
@@ -15,6 +15,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <stdarg.h>
// External dependencies

View File

@@ -0,0 +1,10 @@
# Note: This function signature and behavior is depended upon by applocal.ps1
function deployAzureKinectSensorSDK([string]$targetBinaryDir, [string]$installedDir, [string]$targetBinaryName) {
if ($targetBinaryName -like "k4a.dll") {
if(Test-Path "$installedDir\tools\azure-kinect-sensor-sdk\depthengine_2_0.dll") {
Write-Verbose " Deploying Azure Kinect Sensor SDK Initialization"
deployBinary "$targetBinaryDir" "$installedDir\tools\azure-kinect-sensor-sdk\" "depthengine_2_0.dll"
}
}
}

View File

@@ -0,0 +1,91 @@
set(VERSION 1.4.1)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO microsoft/Azure-Kinect-Sensor-SDK
REF v${VERSION}
SHA512 ef94c072caae43b0a105b192013e09082d267d4064e6676fac981b52e7576a663f59fcb53f0afe66b425ef2cea0cb3aa224ff7be6485c0b5543ff9cdabd82d4d
HEAD_REF master
PATCHES
fix-builds.patch
fix-dependency-imgui.patch
fix-linux.patch
fix-calibration-c.patch
fix-build-imgui.patch
)
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
vcpkg_add_to_path("${PYTHON3_DIR}")
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
docs K4A_BUILD_DOCS
tool BUILD_TOOLS
)
# .rc file needs windows.h, so do not use PREFER_NINJA here
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS ${FEATURE_OPTIONS}
-DK4A_SOURCE_LINK=OFF
-DK4A_MTE_VERSION=ON
-DBUILD_EXAMPLES=OFF
-DWITH_TEST=OFF
-DIMGUI_EXTERNAL_PATH="${CURRENT_INSTALLED_DIR}/include/bindings"
)
vcpkg_cmake_install()
# Avoid deleting debug/lib/cmake when fixing the first cmake
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/share")
file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/share")
vcpkg_cmake_config_fixup(PACKAGE_NAME k4a CONFIG_PATH share/k4a)
vcpkg_cmake_config_fixup(PACKAGE_NAME k4arecord CONFIG_PATH share/k4arecord)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
if ("tool" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES k4arecorder k4aviewer AzureKinectFirmwareTool AUTO_CLEAN)
endif()
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
# Install Depth Engine
vcpkg_download_distfile(ARCHIVE
URLS "https://www.nuget.org/api/v2/package/Microsoft.Azure.Kinect.Sensor/${VERSION}"
FILENAME "azure-kinect-sensor-sdk_17630a00.zip"
SHA512 17630a00f4e9ff3ef68945b62021f6d0390030b43c120c207afe934075a7a87c5848be1f46f4c35c7ecd5698012452ffcbb67f739e9048857410ec7077e5e8c6
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH PACKAGE_PATH
ARCHIVE ${ARCHIVE}
NO_REMOVE_ONE_LEVEL
)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
set(ARCHITECTURE "x86")
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(ARCHITECTURE "amd64")
else ()
message(FATAL_ERROR "this architecture is not supported.")
endif ()
if (VCPKG_TARGET_IS_LINUX)
file(COPY "${PACKAGE_PATH}/linux/lib/native/${VCPKG_TARGET_ARCHITECTURE}/release/libdepthengine.so.2.0" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(COPY "${PACKAGE_PATH}/linux/lib/native/${VCPKG_TARGET_ARCHITECTURE}/release/libdepthengine.so.2.0" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
else()
file(COPY "${PACKAGE_PATH}/lib/native/${ARCHITECTURE}/release/depthengine_2_0.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/azure-kinect-sensor-sdk")
file(COPY "${PACKAGE_PATH}/lib/native/${ARCHITECTURE}/release/depthengine_2_0.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/azure-kinect-sensor-sdk")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/k4adeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/azure-kinect-sensor-sdk")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/k4adeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/azure-kinect-sensor-sdk")
endif()
# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@@ -0,0 +1,53 @@
{
"name": "azure-kinect-sensor-sdk",
"version": "1.4.1",
"port-version": 4,
"description": "Azure Kinect SDK is a cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device.",
"homepage": "https://github.com/microsoft/Azure-Kinect-Sensor-SDK",
"supports": "linux | windows",
"dependencies": [
"azure-c-shared-utility",
"cjson",
"ebml",
"glfw3",
"gtest",
"imgui",
"libjpeg-turbo",
"libsoundio",
"libusb",
{
"name": "libuvc",
"platform": "linux"
},
"libyuv",
"matroska",
"spdlog",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"docs": {
"description": "Build K4A doxygen documentation."
},
"tool": {
"description": "Build tools.",
"dependencies": [
"gl3w",
"glew",
{
"name": "imgui",
"features": [
"glfw-binding",
"opengl3-binding"
]
}
]
}
}
}