diff --git a/.ci/azure/linux_arm64.yml b/.ci/azure/linux_arm64.yml index 6f3557e3a61..da966d97e5e 100644 --- a/.ci/azure/linux_arm64.yml +++ b/.ci/azure/linux_arm64.yml @@ -61,6 +61,7 @@ jobs: BUILD_OPENVINO: $(WORK_DIR)/build BUILD_OPENVINO_PYTHON: $(WORK_DIR)/build_python BUILD_OPEN_MODEL_ZOO: $(WORK_DIR)/build_open_model_zoo + CROSSENV_DIR: $(WORK_DIR)/cross_env INSTALL_OPENVINO: $(WORK_DIR)/install_openvino INSTALL_PYTHON: $(INSTALL_OPENVINO)/extras/python INSTALL_ONETBB: $(WORK_DIR)/build/extras/oneTBB @@ -155,6 +156,16 @@ jobs: workingDirectory: $(BUILD_OPENVINO) displayName: 'Install dependencies' + - script: | + set -e + /usr/local/bin/$(PYTHON_EXEC) -m pip install -U pip + /usr/local/bin/$(PYTHON_EXEC) -m pip install crossenv + /usr/local/bin/$(PYTHON_EXEC) -m crossenv $(INSTALL_PYTHON)/bin/$(PYTHON_EXEC) $(CROSSENV_DIR) + source $(CROSSENV_DIR)/bin/activate + build-pip3 install -U pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt + cross-pip3 install -U pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt + workingDirectory: $(BUILD_OPENVINO) + displayName: 'Create crossenv' - task: CMake@1 inputs: @@ -163,20 +174,16 @@ jobs: -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF -DOpenCV_DIR=$(INSTALL_OPENCV)/cmake - -DPYTHON_INCLUDE_DIRS=$(INSTALL_PYTHON)/include/python3.10 - -DPYTHON_LIBRARY=$(INSTALL_PYTHON)/lib/libpython3.10.so - -DENABLE_PYTHON=ON - -DPYTHON_MODULE_EXTENSION=".cpython-310-x86_64-linux-gnu.so" + -DENABLE_PYTHON=OFF -DENABLE_TESTS=ON -DENABLE_DATA=OFF - -DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath-link,$(INSTALL_OPENCV)/lib -DENABLE_LTO=ON -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_INTEL_MYRIAD=OFF -DTHREADING=TBB -DTBB_DIR=$(INSTALL_ONETBB)/lib/cmake/TBB - -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON + -DCMAKE_VERBOSE_MAKEFILE=ON -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules/arm_plugin -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache @@ -202,32 +209,18 @@ jobs: workingDirectory: $(BUILD_OPENVINO) displayName: 'Install OpenVINO ARM plugin' - - task: CMake@1 - inputs: - cmakeArgs: > - -GNinja - -DOpenVINODeveloperPackage_DIR=$(BUILD_OPENVINO) - -DENABLE_PYTHON=ON - -DTHREADING=TBB - -DPYTHON_EXECUTABLE=$(INSTALL_PYTHON)/bin/python3.10 - -DPYTHON_INCLUDE_DIRS=$(INSTALL_PYTHON)/include/python3.10 - -DPYTHON_LIBRARIES=$(INSTALL_PYTHON)/lib - -DPYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.10/site-packages/numpy/core/include - -DPYTHON_MODULE_EXTENSION=".so" - -DPYBIND11_FINDPYTHON=OFF - -DPYBIND11_NOPYTHON=OFF - -DPYTHONLIBS_FOUND=TRUE - -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) - -DENABLE_DATA=OFF - -DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath-link,$(INSTALL_OPENCV)/lib - -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_CXX_LINKER_LAUNCHER=ccache - -DCMAKE_C_LINKER_LAUNCHER=ccache - -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) - $(OPENVINO_REPO_DIR)/src/bindings/python - workingDirectory: $(BUILD_OPENVINO_PYTHON) + - script: | + source $(CROSSENV_DIR)/bin/activate + cmake \ + -GNinja \ + -DENABLE_PYTHON=ON \ + -DENABLE_WHEEL=ON \ + -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake \ + -DOpenVINODeveloperPackage_DIR=$(BUILD_OPENVINO) \ + -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) \ + -S $(OPENVINO_REPO_DIR)/src/bindings/python \ + -B $(BUILD_OPENVINO_PYTHON) + deactivate displayName: 'CMake OpenVINO python binding' - script: | @@ -250,15 +243,15 @@ jobs: -GNinja -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_PYTHON=ON - -DPYTHON_EXECUTABLE=/usr/local/bin/python3.10 - -DPYTHON_INCLUDE_DIR=$(INSTALL_PYTHON)/include/python3.10 + -DPYTHON_EXECUTABLE=/usr/local/bin/$(PYTHON_EXEC) + -DPYTHON_INCLUDE_DIR=$(INSTALL_PYTHON)/include/$(PYTHON_EXEC) -DPYTHON_LIBRARY=$(INSTALL_PYTHON)/lib -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake -DOpenVINO_DIR=$(BUILD_OPENVINO) -DOpenCV_DIR=$(INSTALL_OPENCV)/cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPEN_MODEL_ZOO) - $(OPENVINO_REPO_DIR)/thirdparty/open_model_zoo/demos - workingDirectory: $(BUILD_OPEN_MODEL_ZOO) + -S $(OPENVINO_REPO_DIR)/thirdparty/open_model_zoo/demos + -B $(BUILD_OPEN_MODEL_ZOO) displayName: 'CMake Open Model Zoo demos' - script: ninja diff --git a/thirdparty/protobuf/CMakeLists.txt b/thirdparty/protobuf/CMakeLists.txt index fb9f310d1bf..ac0fed13184 100644 --- a/thirdparty/protobuf/CMakeLists.txt +++ b/thirdparty/protobuf/CMakeLists.txt @@ -84,7 +84,9 @@ if(NOT protobuf_BUILD_PROTOC_BINARIES) CONFIGURE_FLAGS CFLAGS CXXFLAGS LDFLAGS CPPFLAGS KCFLAGS OECORE_DISTRO_VERSION OECORE_SDK_VERSION ARCH CROSS_COMPILE OE_CMAKE_TOOLCHAIN_FILE OPENSSL_CONF OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_PATH) - list(APPEND cmake_env --unset=${var}) + if(DEFINED ENV{${var}}) + list(APPEND cmake_env --unset=${var}) + endif() endforeach() # filter out PATH from yocto locations @@ -103,7 +105,10 @@ if(NOT protobuf_BUILD_PROTOC_BINARIES) NO_DEFAULT_PATH) else() set(HOST_CMAKE_COMMAND "${CMAKE_COMMAND}") - # if env has CMAKE_TOOLCHAIN_FILE, we need to skip it + endif() + + # if env has CMAKE_TOOLCHAIN_FILE, we need to skip it + if(DEFINED ENV{CMAKE_TOOLCHAIN_FILE}) list(APPEND cmake_env --unset=CMAKE_TOOLCHAIN_FILE) endif()