--- a/depthai-core/CMakeLists.txt +++ b/depthai-core/CMakeLists.txt @@ -113,7 +113,7 @@ endif() set(PROJECT_EXPORT_GROUP "${PROJECT_NAME}Targets") ## Check if cloned or sources -find_package(Git) +# find_package(Git) if(GIT_FOUND) execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree @@ -292,50 +292,50 @@ if($ENV{CI}) set(DEPTHAI_BOOTLOADER_SHARED_COMMIT_HASH_ENFORCE ON) endif() +if(DEPTHAI_BINARIES_RESOURCE_COMPILE) -# Then get the Depthai device side binaries (local or download) -if(DEPTHAI_CMD_PATH OR DEPTHAI_USB2_CMD_PATH OR DEPTHAI_USB2_PATCH_PATH) - # Atleast one of the paths is set. include binaries locally - message(STATUS "Using local Depthai device side binaries...") + # Then get the Depthai device side binaries (local or download) + if(DEPTHAI_CMD_PATH OR DEPTHAI_USB2_CMD_PATH OR DEPTHAI_USB2_PATCH_PATH) + # Atleast one of the paths is set. include binaries locally + message(STATUS "Using local Depthai device side binaries...") - DepthaiLocal( - PATCH_ONLY ${DEPTHAI_USB2_PATCH_ONLY_MODE} - "${DEPTHAI_RESOURCES_OUTPUT_DIR}" # Output folder - DEPTHAI_RESOURCE_LIST # List of output resources - "${DEPTHAI_CMD_PATH}" # depthai.cmd - "${DEPTHAI_USB2_CMD_PATH}" # depthai-usb2.cmd - "${DEPTHAI_USB2_PATCH_PATH}" # depthai-usb2-patch.patch - ) + DepthaiLocal( + PATCH_ONLY ${DEPTHAI_USB2_PATCH_ONLY_MODE} + "${DEPTHAI_RESOURCES_OUTPUT_DIR}" # Output folder + DEPTHAI_RESOURCE_LIST # List of output resources + "${DEPTHAI_CMD_PATH}" # depthai.cmd + "${DEPTHAI_USB2_CMD_PATH}" # depthai-usb2.cmd + "${DEPTHAI_USB2_PATCH_PATH}" # depthai-usb2-patch.patch + ) -else() - # No user specified paths, download from server - message(STATUS "Downloading Depthai device side binaries from server...") - - DepthaiDownload( - "${DEPTHAI_SHARED_COMMIT_HASH}" "${DEPTHAI_SHARED_COMMIT_HASH_ENFORCE}" - PATCH_ONLY ${DEPTHAI_USB2_PATCH_ONLY_MODE} - "${DEPTHAI_RESOURCES_OUTPUT_DIR}" # Output folder - DEPTHAI_RESOURCE_LIST # List of output resources - "${DEPTHAI_DEVICE_SIDE_MATURITY}" # Maturity - "${DEPTHAI_DEVICE_SIDE_COMMIT}" # commit hash - "${DEPTHAI_DEVICE_SIDE_VERSION}" # Optional version + else() + # No user specified paths, download from server + message(STATUS "Downloading Depthai device side binaries from server...") + + DepthaiDownload( + "${DEPTHAI_SHARED_COMMIT_HASH}" "${DEPTHAI_SHARED_COMMIT_HASH_ENFORCE}" + PATCH_ONLY ${DEPTHAI_USB2_PATCH_ONLY_MODE} + "${DEPTHAI_RESOURCES_OUTPUT_DIR}" # Output folder + DEPTHAI_RESOURCE_LIST # List of output resources + "${DEPTHAI_DEVICE_SIDE_MATURITY}" # Maturity + "${DEPTHAI_DEVICE_SIDE_COMMIT}" # commit hash + "${DEPTHAI_DEVICE_SIDE_VERSION}" # Optional version + ) + endif() + list(APPEND RESOURCE_COMPILED_FILES ${DEPTHAI_RESOURCE_LIST}) + + # Add bootloader + DepthaiBootloaderDownload( + "${DEPTHAI_BOOTLOADER_SHARED_COMMIT_HASH}" "${DEPTHAI_BOOTLOADER_SHARED_COMMIT_HASH_ENFORCE}" + "${DEPTHAI_RESOURCES_OUTPUT_DIR}" # Output folder + DEPTHAI_BOOTLOADER_RESOURCE_LIST # List of output resources + "${DEPTHAI_BOOTLOADER_MATURITY}" # Maturity + "${DEPTHAI_BOOTLOADER_VERSION}" # if maturity == snapshot -> hash else version ) -endif() -list(APPEND RESOURCE_COMPILED_FILES ${DEPTHAI_RESOURCE_LIST}) + list(APPEND RESOURCE_COMPILED_FILES ${DEPTHAI_BOOTLOADER_RESOURCE_LIST}) -# Add bootloader -DepthaiBootloaderDownload( - "${DEPTHAI_BOOTLOADER_SHARED_COMMIT_HASH}" "${DEPTHAI_BOOTLOADER_SHARED_COMMIT_HASH_ENFORCE}" - "${DEPTHAI_RESOURCES_OUTPUT_DIR}" # Output folder - DEPTHAI_BOOTLOADER_RESOURCE_LIST # List of output resources - "${DEPTHAI_BOOTLOADER_MATURITY}" # Maturity - "${DEPTHAI_BOOTLOADER_VERSION}" # if maturity == snapshot -> hash else version -) -list(APPEND RESOURCE_COMPILED_FILES ${DEPTHAI_BOOTLOADER_RESOURCE_LIST}) - -message(STATUS "LIST OF RESOURCE COMPILED FILES: ${RESOURCE_COMPILED_FILES}") + message(STATUS "LIST OF RESOURCE COMPILED FILES: ${RESOURCE_COMPILED_FILES}") -if(DEPTHAI_BINARIES_RESOURCE_COMPILE) # Add RC and resource compile the binares include(CMakeRC) @@ -400,11 +400,11 @@ target_link_libraries(${TARGET_CORE_NAME} libnop PRIVATE Threads::Threads - BZip2::bz2 + BZip2::BZip2 FP16::fp16 - archive_static + LibArchive::LibArchive spdlog::spdlog - ZLIB::zlib + ZLIB::ZLIB ) # Add compile definitions @@ -559,8 +559,10 @@ configure_file("cmake/${PROJECT_NAME}Dependencies.cmake" ${PROJECT_NAME}Dependen write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY AnyNewerVersion) # Configure config file (one for exporting build directory, one for installation) +if(HUNTER_ENABLED) file(RELATIVE_PATH DEPTHAI_DEPENDENCIES_INSTALLATION_PATH_REL "${CMAKE_CURRENT_BINARY_DIR}" "${HUNTER_INSTALL_PREFIX}") configure_file(cmake/${PROJECT_NAME}Config.cmake.in ${PROJECT_NAME}Config.cmake @ONLY) +endif() # Config for installation set(DEPTHAI_DEPENDENCIES_INSTALLATION_PATH_REL "./dependencies") @@ -591,7 +593,10 @@ if(DEPTHAI_INSTALL) # Install depthai-bootloader-shared public headers install(DIRECTORY "${DEPTHAI_BOOTLOADER_SHARED_PUBLIC_INCLUDE}/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") # Install Hunter dependencies + if(HUNTER_ENABLED) install(DIRECTORY "${HUNTER_INSTALL_PREFIX}/" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/dependencies") + endif() + # Install resources if not RC'd if(NOT DEPTHAI_BINARIES_RESOURCE_COMPILE) install(DIRECTORY "${DEPTHAI_RESOURCES_OUTPUT_DIR}/" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}") diff --git a/depthai-core/cmake/GitCommitHash.cmake b/depthai-core/cmake/GitCommitHash.cmake index 0b1a406..87a4c39 100644 --- a/depthai-core/cmake/GitCommitHash.cmake +++ b/depthai-core/cmake/GitCommitHash.cmake @@ -1,5 +1,5 @@ # for commit hash -find_package(Git) +# find_package(Git) set(commit_version "unknown") diff --git a/depthai-core/cmake/depthaiDependencies.cmake b/depthai-core/cmake/depthaiDependencies.cmake index bbbd606..8c8387b 100644 --- a/depthai-core/cmake/depthaiDependencies.cmake +++ b/depthai-core/cmake/depthaiDependencies.cmake @@ -23,19 +23,19 @@ endif() if(NOT CONFIG_MODE OR (CONFIG_MODE AND NOT DEPTHAI_SHARED_LIBS)) # BZip2 (for bspatch) - find_package(BZip2 ${_QUIET} CONFIG REQUIRED) + find_package(BZip2 REQUIRED) # FP16 for conversions - find_package(FP16 ${_QUIET} CONFIG REQUIRED) + find_package(FP16 REQUIRED) # libarchive for firmware packages - find_package(archive_static ${_QUIET} CONFIG REQUIRED) - find_package(lzma ${_QUIET} CONFIG REQUIRED) + find_package(LibArchive REQUIRED) + find_package(LibLZMA REQUIRED) # ZLIB for compressing Apps - find_package(ZLIB CONFIG REQUIRED) + find_package(ZLIB REQUIRED) # spdlog for library and device logging - find_package(spdlog ${_QUIET} CONFIG REQUIRED) + find_package(spdlog REQUIRED) # Backward if(DEPTHAI_ENABLE_BACKWARD)