### Install Requirements Source: https://github.com/luxonis/depthai-python/blob/main/examples/README.md Run this script to install all necessary Python packages for the DepthAI examples. ```bash python3 install_requirements.py ``` -------------------------------- ### Add Examples Subdirectory Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Adds the 'examples' subdirectory to the build if examples are enabled. These can also function as tests. ```cmake if (DEPTHAI_PYTHON_ENABLE_EXAMPLES) add_subdirectory(examples) endif() ``` -------------------------------- ### Add Python Example: rgb_isp_scale Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'rgb_isp_scale.py' example script. ```cmake add_python_example(rgb_isp_scale ColorCamera/rgb_isp_scale.py) ``` -------------------------------- ### Add Python Example: calibration_reader Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'calibration_reader.py' example script. ```cmake add_python_example(calibration_reader calibration/calibration_reader.py) ``` -------------------------------- ### Add Python Example: bootloader_version Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'bootloader_version.py' example script. ```cmake add_python_example(bootloader_version bootloader/bootloader_version.py) ``` -------------------------------- ### Add Python Example: calibration_load Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'calibration_load.py' example script. ```cmake add_python_example(calibration_load calibration/calibration_load.py) ``` -------------------------------- ### Add Python Example: rgb_preview Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'rgb_preview.py' example script. ```cmake add_python_example(rgb_preview ColorCamera/rgb_preview.py) ``` -------------------------------- ### Add Python Example: feature_detector Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'feature_detector.py' example script. ```cmake add_python_example(feature_detector FeatureTracker/feature_detector.py) ``` -------------------------------- ### Add Python Example: autoexposure_roi Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'autoexposure_roi.py' example script. ```cmake add_python_example(autoexposure_roi ColorCamera/autoexposure_roi.py) ``` -------------------------------- ### Add Python Example: rgb_video Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'rgb_video.py' example script. ```cmake add_python_example(rgb_video ColorCamera/rgb_video.py) ``` -------------------------------- ### Add Python Example: feature_tracker Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'feature_tracker.py' example script. ```cmake add_python_example(feature_tracker FeatureTracker/feature_tracker.py) ``` -------------------------------- ### Function to Add Python Examples Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Defines a function to create custom build targets for Python example scripts, including environment variable setup. ```cmake function(add_python_example example_name python_script_path) set(example_name "py_${example_name}") set(arguments ${ARGV}) list(REMOVE_AT arguments 0 1) add_custom_target(${example_name} ${CMAKE_COMMAND} -E env "PATH=${HUNTER_INSTALL_PREFIX}/bin${SYS_PATH_SEPARATOR}$ENV{PATH}" "PYTHONPATH=$${SYS_PATH_SEPARATOR}$ENV{PYTHONPATH}" "${ASAN_ENVIRONMENT_VARS}" ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/${python_script_path} ${ARGN} DEPENDS ${TARGET_NAME} install_requirements VERBATIM COMMAND_EXPAND_LISTS ) if(DEPTHAI_PYTHON_TEST_EXAMPLES) add_test(NAME ${example_name} COMMAND ${CMAKE_COMMAND} -E env "PATH=${HUNTER_INSTALL_PREFIX}/bin${SYS_PATH_SEPARATOR}$ENV{PATH}" "PYTHONPATH=$${SYS_PATH_SEPARATOR}$ENV{PYTHONPATH}" "${ASAN_ENVIRONMENT_VARS}" ${CMAKE_COMMAND} -DTIMEOUT_SECONDS=10 -P ${CMAKE_CURRENT_LIST_DIR}/cmake/ExecuteTestTimeout.cmake ${PYTHON_EXECUTABLE} -Werror "${CMAKE_CURRENT_LIST_DIR}/${python_script_path}" ${arguments} ) set_tests_properties (${example_name} PROPERTIES FAIL_REGULAR_EXPRESSION "\[warning\];\[error\];\[critical\]") endif() endfunction() ``` -------------------------------- ### Add Python Example: rgb_camera_control Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'rgb_camera_control.py' example script. ```cmake add_python_example(rgb_camera_control ColorCamera/rgb_camera_control.py) ``` -------------------------------- ### Build Documentation on Linux Source: https://github.com/luxonis/depthai-python/blob/main/README.md Build the documentation website on Linux after installing dependencies. This process involves installing Python packages, configuring CMake, and serving the documentation locally. Access the documentation at http://localhost:8000. ```bash python3 -m pip install -U pip python3 -m pip install -r docs/requirements.txt cmake -H. -Bbuild -D DEPTHAI_BUILD_DOCS=ON -D DEPTHAI_PYTHON_BUILD_DOCS=ON cmake --build build --target sphinx python3 -m http.server --bind 0.0.0.0 8000 --directory build/docs/sphinx ``` -------------------------------- ### Add Python Example: feature_tracker_color Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'feature_tracker_color.py' example script. ```cmake add_python_example(feature_tracker_color FeatureTracker/feature_tracker_color.py) ``` -------------------------------- ### Add Python Example: rgb_scene Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'rgb_scene.py' example script. ```cmake add_python_example(rgb_scene ColorCamera/rgb_scene.py) ``` -------------------------------- ### Build DepthAI with Tests and Examples Enabled Source: https://github.com/luxonis/depthai-python/blob/main/README.md Configures and builds the DepthAI library with testing and example functionalities enabled. This is a prerequisite for running tests. ```bash git submodule update --init --recursive cmake -H. -Bbuild -D DEPTHAI_PYTHON_ENABLE_TESTS=ON -D DEPTHAI_PYTHON_ENABLE_EXAMPLES=ON -D DEPTHAI_PYTHON_TEST_EXAMPLES=ON cmake --build build ``` -------------------------------- ### Add Python Example: edge_detector Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target for the 'edge_detector.py' example script. ```cmake add_python_example(edge_detector EdgeDetector/edge_detector.py) ``` -------------------------------- ### Install PyInstaller for Executable Building Source: https://github.com/luxonis/depthai-python/blob/main/utilities/README.md Install PyInstaller to build standalone executables. Use the appropriate command for your operating system. ```bash # Linux/macOS python3 -m pip install pyinstaller # Windows python -m pip install pyinstaller ``` -------------------------------- ### Enable Testing and Examples Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Includes CTest and enables testing if tests or examples are configured to be built. ```cmake if(DEPTHAI_PYTHON_ENABLE_TESTS OR DEPTHAI_PYTHON_ENABLE_EXAMPLES) include(CTest) enable_testing() endif() ``` -------------------------------- ### Build and Install DepthAI from Source with Pip Source: https://github.com/luxonis/depthai-python/blob/main/README.md Builds and installs the DepthAI Python library locally using pip. Add -v for verbose output. ```bash python3 -m pip install . ``` -------------------------------- ### Install DepthAI Python Library Source: https://github.com/luxonis/depthai-python/blob/main/README.md Installs the DepthAI Python library using pip. Ensure pip is upgraded first. ```bash python3 -m pip install -U pip python3 -m pip install --extra-index-url https://artifacts.luxonis.com/artifactory/luxonis-python-snapshot-local/ depthai ``` -------------------------------- ### Run Device Manager Cam Test Source: https://github.com/luxonis/depthai-python/blob/main/utilities/README.md Run the cam_test.py script to start the camera test with a GUI. Append arguments to run without the GUI. ```bash python3 cam_test.py ``` -------------------------------- ### Adding Install Requirements Test Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Configures a test for 'install_requirements' with a 5-minute timeout and regex for error catching. ```cmake if(DEPTHAI_PYTHON_TEST_EXAMPLES) add_test(NAME install_requirements COMMAND ${CMAKE_COMMAND} -E env "PATH=${HUNTER_INSTALL_PREFIX}/bin${SYS_PATH_SEPARATOR}$ENV{PATH}" "PYTHONPATH=$${SYS_PATH_SEPARATOR}$ENV{PYTHONPATH}" "${ASAN_ENVIRONMENT_VARS}" ${CMAKE_COMMAND} -DFORCE_TIMEOUT_SECONDS=300 -P ${CMAKE_CURRENT_LIST_DIR}/cmake/ExecuteTestTimeout.cmake ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/install_requirements.py" "--skip_depthai" ) set_tests_properties (install_requirements PROPERTIES FAIL_REGULAR_EXPRESSION "\[warning\];\[error\];\[critical\]") endif() ``` -------------------------------- ### Custom Target for Installing Requirements Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Adds a custom target 'install_requirements' that executes a Python script to install necessary dependencies. ```cmake add_custom_target(install_requirements ALL COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/install_requirements.py" "--skip_depthai" DEPENDS ${TARGET_NAME} VERBATIM COMMAND_EXPAND_LISTS ) ``` -------------------------------- ### Setting Build Options Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Defines build options such as enabling tests for Python examples. ```cmake option(DEPTHAI_PYTHON_TEST_EXAMPLES "Test examples - examples will be ran as a part of the test suite" OFF) ``` -------------------------------- ### Use Clang Compiler for DepthAI Build Source: https://github.com/luxonis/depthai-python/blob/main/README.md Alternative solution for LTO (link time optimization) errors by using the Clang compiler. This involves installing Clang and configuring CMake to use it for the build process. ```bash sudo apt install clang-10 mkdir build && cd build CC=clang-10 CXX=clang++-10 cmake .. cmake --build . --parallel ``` -------------------------------- ### Upgrade GCC on Ubuntu Source: https://github.com/luxonis/depthai-python/blob/main/README.md Solution for relocation link errors on Ubuntu 18.04 with GCC 7.4.0. This involves installing GCC 8 and updating the system's default GCC and G++ alternatives. ```bash sudo apt install g++-8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 70 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 70 ``` -------------------------------- ### Update Linker on Ubuntu 20.04 Source: https://github.com/luxonis/depthai-python/blob/main/README.md Fix LTO (link time optimization) internal compiler errors by updating the linker on Ubuntu 20.04. This involves adding a repository to `sources.list`, updating packages, and installing `binutils`. Remember to revert `sources.list` afterwards. ```bash # Add to the end of /etc/apt/sources.list: echo "deb http://ro.archive.ubuntu.com/ubuntu groovy main" >> /etc/apt/sources.list # Replace ro with your countries local cache server (check the content of the file to find out which is) # Not mandatory, but faster sudo apt update sudo apt install binutils # Should upgrade to 2.35.1 # Check version: /usr/bin/ld --version # Output should be: GNU ld (GNU Binutils for Ubuntu) 2.35.1 # Revert /etc/apt/sources.list to previous state (comment out line) to prevent updating other packages. sudo apt update ``` -------------------------------- ### Get Package Version Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Determines the package version using a Python script. It can fetch either the standard version or a development version based on a commit hash. ```cmake set(version_command "import find_version as v; print(v.get_package_version())") if(DEPTHAI_PYTHON_COMMIT_HASH) set(version_command "import find_version as v; print(v.get_package_dev_version('${DEPTHAI_PYTHON_COMMIT_HASH}'))") endif() execute_process(COMMAND ${PYTHON_EXECUTABLE} "-c" "${version_command}" OUTPUT_VARIABLE DEPTHAI_PYTHON_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} ) ``` -------------------------------- ### Build Documentation with Docker Compose Source: https://github.com/luxonis/depthai-python/blob/main/README.md Use this command to build the documentation when using Docker Compose. The container will automatically rebuild documentation upon changes in the `docs/source` directory. Access the documentation at http://localhost:8000. ```bash cd docs sudo docker-compose build sudo docker-compose up ``` -------------------------------- ### Build Bundled Executable for Cam Test Source: https://github.com/luxonis/depthai-python/blob/main/utilities/README.md Build a bundled executable for the cam_test.py script, including hidden imports for PyQt5.sip. The executable will be in the dist/cam_test folder. ```bash pyinstaller -w cam_test.py --hidden-import PyQt5.sip ``` -------------------------------- ### Build Standalone Executable for Device Manager Source: https://github.com/luxonis/depthai-python/blob/main/utilities/README.md Build a single-file standalone executable for the device_manager.py script. Optionally specify a runtime temporary directory. ```bash pyinstaller --onefile -w --icon=assets/icon.ico --add-data="assets/icon.ico;assets" --add-data="assets/icon.png;assets" device_manager.py ``` -------------------------------- ### AddressSanitizer (ASan) Environment Variables Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Sets up environment variables for AddressSanitizer if enabled. This involves finding the ASan library and configuring the preload path. ```cmake if(SANITIZE_ADDRESS OR SANITIZE_MEMORY OR SANITIZE_THREAD OR SANITIZE_UNDEFINED) # Get asan library to preload if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libclang_rt.asan-${CMAKE_HOST_SYSTEM_PROCESSOR}.so OUTPUT_VARIABLE LIBASAN_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libasan.so OUTPUT_VARIABLE LIBASAN_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) endif() # Set preload env variable if(APPLE) set(ASAN_ENVIRONMENT_VARS "DYLD_INSERT_LIBRARIES=${LIBASAN_PATH}" "ASAN_OPTIONS=leak_check_at_exit=0") elseif(UNIX) set(ASAN_ENVIRONMENT_VARS "LD_PRELOAD=${LIBASAN_PATH}" "ASAN_OPTIONS=leak_check_at_exit=0") endif() message(STATUS "ASAN environment variables: ${ASAN_ENVIRONMENT_VARS}") endif() ``` -------------------------------- ### List Test Files Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Defines a list of C++ and Python files that will be used for pybind11 testing. These files contain the actual test cases. ```cmake set(PYBIND11_TEST_FILES "xlink_exceptions_test.cpp" "utf8_support_test.py" "dai_path_conversion_test.py" ) ``` -------------------------------- ### Build DepthAI Wheel Package Source: https://github.com/luxonis/depthai-python/blob/main/README.md Builds a wheel package for the DepthAI library. The output wheel file will be placed in the 'wheelhouse' directory. ```bash python3 -m pip wheel . -w wheelhouse ``` -------------------------------- ### Update Documentation on Linux Source: https://github.com/luxonis/depthai-python/blob/main/README.md Run this command in a new terminal window to rebuild the documentation website if changes are made to the sources on Linux. Refresh your browser to see the updated website. ```bash cmake --build build --target sphinx ``` -------------------------------- ### Initialize Git Submodules Source: https://github.com/luxonis/depthai-python/blob/main/README.md Initializes and updates Git submodules required for building the DepthAI library from source. This is typically done once before the first build. ```bash git submodule update --init --recursive # Tip: You can ask Git to do that automatically: git config submodule.recurse true ``` -------------------------------- ### Add Documentation Subdirectory Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Adds the 'docs' subdirectory to the build if documentation generation is enabled. ```cmake if(DEPTHAI_PYTHON_BUILD_DOCS) add_subdirectory(docs) endif() ``` -------------------------------- ### Build Shared Library with Custom Python Executable Source: https://github.com/luxonis/depthai-python/blob/main/README.md Builds the shared library, specifying a custom Python executable path for the build process. ```bash cmake -H. -Bbuild -D PYTHON_EXECUTABLE=/full/path/to/python ``` -------------------------------- ### Run DepthAI Tests with CTest Source: https://github.com/luxonis/depthai-python/blob/main/README.md Navigates to the build directory and executes all configured tests using ctest. This assumes the library has been built with test support enabled. ```bash cd build ctest ``` -------------------------------- ### Build Shared Library from Source Source: https://github.com/luxonis/depthai-python/blob/main/README.md Configures and builds the shared library for the DepthAI Python bindings from source. Use parallel build options for faster compilation. ```bash cmake -H. -Bbuild cmake --build build ``` -------------------------------- ### Preventing Direct Configuration Source: https://github.com/luxonis/depthai-python/blob/main/examples/CMakeLists.txt Ensures that the project is configured using the root CMakeLists.txt to maintain a consistent build environment. ```cmake if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) message(FATAL_ERROR "Use projects root CMakeLists.txt to configure") endif() ``` -------------------------------- ### Set Compile Definitions Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Defines preprocessor macros for the target, including version information and build timestamps. ```cmake string(TIMESTAMP BUILD_DATETIME "%Y-%m-%d %H:%M:%S +0000" UTC) target_compile_definitions(${TARGET_NAME} PRIVATE DEPTHAI_PYTHON_VERSION="${DEPTHAI_PYTHON_VERSION}" DEPTHAI_PYTHON_COMMIT_HASH="${BUILD_COMMIT}" DEPTHAI_PYTHON_COMMIT_DATETIME="${BUILD_COMMIT_DATETIME}" DEPTHAI_PYTHON_BUILD_DATETIME="${BUILD_DATETIME}" ) ``` -------------------------------- ### Set Path Separator Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Determines the system's path separator, using ';' for Windows and ':' for Unix-like systems. This is crucial for constructing environment variables correctly. ```cmake set(SYS_PATH_SEPARATOR ";") if(UNIX) set(SYS_PATH_SEPARATOR ":") endif() ``` -------------------------------- ### Define pybind11_json Library Source: https://github.com/luxonis/depthai-python/blob/main/external/pybind11_json/CMakeLists.txt Defines the pybind11_json library as an INTERFACE library and sets its include directories. ```cmake add_library(pybind11_json INTERFACE) target_include_directories(pybind11_json INTERFACE "${CMAKE_CURRENT_LIST_DIR}/include") ``` -------------------------------- ### Add Pybind11 Module Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Creates the pybind11 module for the tests. It includes the specified C++ source files and test files, enabling Python to interact with C++ code. ```cmake pybind11_add_module(${TARGET_TEST_MODULE} THIN_LTO ${TARGET_TEST_MODULE}.cpp ${PYBIND11_TEST_FILES}) ``` -------------------------------- ### Link Libraries for Test Module Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Links the test module target against pybind11 and the DepthAI core library. This ensures that the test module has access to the necessary functionalities. ```cmake target_link_libraries(${TARGET_TEST_MODULE} PRIVATE pybind11::pybind11 depthai::core) ``` -------------------------------- ### Set C++ Standard and Extensions Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Configures the C++ standard to C++14 and disables compiler extensions for the target. ```cmake set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) set_property(TARGET ${TARGET_NAME} PROPERTY CXX_EXTENSIONS OFF) ``` -------------------------------- ### Generate Python Test File List Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Converts the list of C++ test files to their corresponding Python test file names by replacing the '.cpp' extension with '.py'. This is used for running pytest. ```cmake string(REPLACE ".cpp" ".py" PYBIND11_PYTEST_FILES "${PYBIND11_TEST_FILES}") ``` -------------------------------- ### Define Test Module Target Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Sets the name for the target test module. This is used when creating the pybind11 module. ```cmake set(TARGET_TEST_MODULE "depthai_pybind11_tests") ``` -------------------------------- ### Add Test Subdirectory Source: https://github.com/luxonis/depthai-python/blob/main/CMakeLists.txt Adds the 'tests' subdirectory to the build if tests are enabled. ```cmake if (DEPTHAI_PYTHON_ENABLE_TESTS) add_subdirectory(tests) endif() ``` -------------------------------- ### Run Specific DepthAI Test with Timeout Source: https://github.com/luxonis/depthai-python/blob/main/README.md Runs a specific DepthAI test, identified by a regular expression, with a custom timeout. Setting TEST_TIMEOUT to 0 runs the test indefinitely. ```bash TEST_TIMEOUT=0 ctest -R "01_rgb_preview" --verbose ``` -------------------------------- ### Custom Target for Running Pytest Source: https://github.com/luxonis/depthai-python/blob/main/tests/CMakeLists.txt Defines a custom CMake target named 'pytest' that compiles and runs all Python tests. It sets up necessary environment variables for PATH and PYTHONPATH, and includes sanitizers if configured. ```cmake add_custom_target( pytest COMMAND ${CMAKE_COMMAND} -E env # PATH (dlls) "PATH=${HUNTER_INSTALL_PREFIX}/bin${SYS_PATH_SEPARATOR}$ENV{PATH}" # Python path (to find compiled modules) "PYTHONPATH=$${SYS_PATH_SEPARATOR}$${SYS_PATH_SEPARATOR}$ENV{PYTHONPATH}" # ASAN in case of sanitizers ${ASAN_ENVIRONMENT_VARS} ${PYTHON_EXECUTABLE} -m pytest ${PYBIND11_PYTEST_FILES} DEPENDS ${TARGET_TEST_MODULE} # Compiled tests ${TARGET_NAME} # DepthAI Python Library WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}" USES_TERMINAL ) ``` -------------------------------- ### Clear Hunter Cache on Windows Source: https://github.com/luxonis/depthai-python/blob/main/README.md Troubleshoot errors related to external libraries managed by Hunter by clearing the Hunter cache. This command is for Windows systems. ```batch del C:/.hunter ``` -------------------------------- ### Clear Hunter Cache on Windows (User Specific) Source: https://github.com/luxonis/depthai-python/blob/main/README.md Troubleshoot errors related to external libraries managed by Hunter by clearing the Hunter cache. This command is for Windows systems where the cache might be user-specific. ```batch del C:/[user]/.hunter ``` -------------------------------- ### Clear Hunter Cache Source: https://github.com/luxonis/depthai-python/blob/main/README.md Troubleshoot errors related to external libraries managed by Hunter by clearing the Hunter cache. This command is for Linux and macOS systems. ```bash rm -r ~/.hunter ``` -------------------------------- ### Define Hedley as an Interface Library Source: https://github.com/luxonis/depthai-python/blob/main/external/hedley/CMakeLists.txt Defines the Hedley library as an interface library in CMake. This is typically used for header-only libraries or when the library itself doesn't produce object files but provides interfaces to other targets. ```cmake add_library(hedley INTERFACE) target_include_directories(hedley INTERFACE "${CMAKE_CURRENT_LIST_DIR}/include") ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.