Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ports/cudnn/FindCUDNN.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ file(GLOB CUDNN_VERSION_DIRS
)
find_path(CUDNN_INCLUDE_DIR NAMES cudnn.h cudnn_v8.h cudnn_v7.h
HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} ${CUDNN_VERSION_DIRS} /usr/include /usr/include/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/
PATH_SUFFIXES cuda/include include include/11.8 include/12.0 include/12.1 include/12.2 include/12.3 include/12.4 include/12.5 include/12.6 include/12.7 include/12.8 include/12.9)
PATH_SUFFIXES cuda/include include include/11.8 include/12.0 include/12.1 include/12.2 include/12.3 include/12.4 include/12.5 include/12.6 include/12.7 include/12.8 include/12.9 include/13.0 include/13.1 include/13.2)
find_library(CUDNN_LIBRARY NAMES cudnn cudnn8 cudnn7
HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} ${CUDNN_VERSION_DIRS} /usr/lib/x86_64-linux-gnu/ /usr/lib/aarch64-linux-gnu/ /usr/
PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64 cuda/lib/x64 lib/11.8/x64 lib/12.0/x64 lib/12.1/x64 lib/12.2/x64 lib/12.3/x64 lib/12.4/x64 lib/12.5/x64 lib/12.6/x64 lib/12.7/x64 lib/12.8/x64 lib/12.9/x64)
PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64 cuda/lib/x64 lib/11.8/x64 lib/12.0/x64 lib/12.1/x64 lib/12.2/x64 lib/12.3/x64 lib/12.4/x64 lib/12.5/x64 lib/12.6/x64 lib/12.7/x64 lib/12.8/x64 lib/12.9/x64 lib/13.0/x64 lib/13.1/x64 lib/13.2/x64)

if(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn.h")
file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS)
Expand Down
2 changes: 1 addition & 1 deletion ports/cudnn/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "cudnn",
"version": "7.6.5",
"port-version": 16,
"port-version": 17,
"description": "NVIDIA's cuDNN deep neural network acceleration library.",
"homepage": "https://developer.nvidia.com/cudnn",
"license": null,
Expand Down
28 changes: 20 additions & 8 deletions ports/openmvs/cmake.diff
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 920e4c3..5f7e936 100644
index 920e4c3..3e62a68 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -87,8 +87,8 @@ if(OpenMVS_USE_OPENMP)
Expand Down Expand Up @@ -46,7 +46,7 @@ index 920e4c3..5f7e936 100644
endif()

-FIND_PACKAGE(Eigen3 3.4 REQUIRED)
+FIND_PACKAGE(Eigen3 3.4...5 CONFIG REQUIRED)
+FIND_PACKAGE(Eigen3 CONFIG REQUIRED)
+set(EIGEN3_FOUND 1)
if(EIGEN3_FOUND)
- LIST(APPEND OpenMVS_EXTRA_INCLUDES ${EIGEN3_INCLUDE_DIR})
Expand Down Expand Up @@ -202,21 +202,33 @@ index 18899af..258ada0 100644
# Install
SET_TARGET_PROPERTIES(Common PROPERTIES
diff --git a/libs/MVS/CMakeLists.txt b/libs/MVS/CMakeLists.txt
index 8533865..2a13923 100644
index 8533865..8b3100d 100644
--- a/libs/MVS/CMakeLists.txt
+++ b/libs/MVS/CMakeLists.txt
@@ -48,7 +48,13 @@ endif()
if(_USE_CUDA)
SET_TARGET_PROPERTIES(MVS PROPERTIES CUDA_ARCHITECTURES "50;72;75")
@@ -45,20 +45,19 @@ IF(CMAKE_VERSION VERSION_GREATER_EQUAL 3.16.0)
endif()
-TARGET_LINK_LIBRARIES(MVS PRIVATE Common Math IO CGAL::CGAL ${CERES_LIBRARIES} ${CUDA_CUDA_LIBRARY})

# Link its dependencies
-if(_USE_CUDA)
- SET_TARGET_PROPERTIES(MVS PROPERTIES CUDA_ARCHITECTURES "50;72;75")
+TARGET_LINK_LIBRARIES(MVS PRIVATE Math IO CGAL::CGAL ${CERES_LIBRARIES} ${CUDA_CUDA_LIBRARY})
+TARGET_LINK_LIBRARIES(MVS PUBLIC Common)
+TARGET_LINK_LIBRARIES(MVS PRIVATE $<BUILD_INTERFACE:Boost::graph>)
+if(OpenMVS_USE_OPENMP)
+ target_link_libraries(MVS PRIVATE "$<INSTALL_INTERFACE:OpenMP::OpenMP_CXX>")
+endif()
endif()
-TARGET_LINK_LIBRARIES(MVS PRIVATE Common Math IO CGAL::CGAL ${CERES_LIBRARIES} ${CUDA_CUDA_LIBRARY})
+TARGET_INCLUDE_DIRECTORIES(MVS PUBLIC "$<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>")

if(OpenMVS_USE_PYTHON)
# Create the Python wrapper
cxx_library_with_type(pyOpenMVS "Libs" "SHARED" "${cxx_default}"
${PATH_PythonWrapper_cpp}
)
- # Link its dependencies
- if(_USE_CUDA)
- SET_TARGET_PROPERTIES(pyOpenMVS PROPERTIES CUDA_ARCHITECTURES "50;72;75")
- endif()
TARGET_LINK_LIBRARIES(pyOpenMVS PRIVATE MVS ${OpenMVS_EXTRA_LIBS})
# Suppress prefix "lib" because Python does not allow this prefix
SET_TARGET_PROPERTIES(pyOpenMVS PROPERTIES PREFIX "")
41 changes: 41 additions & 0 deletions ports/openmvs/cuda-13.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
diff --git a/libs/Common/UtilCUDA.cpp b/libs/Common/UtilCUDA.cpp
index dddc6d5..54590a5 100644
--- a/libs/Common/UtilCUDA.cpp
+++ b/libs/Common/UtilCUDA.cpp
@@ -181,7 +181,12 @@ CUresult initDevice(int deviceID)
return CUDA_ERROR_INVALID_DEVICE;
}
devices.Insert(device);
+ #if defined(CUDA_VERSION) && CUDA_VERSION >= 13000
+ CUctxCreateParams params {};
+ checkCudaError(cuCtxCreate(&devices.Last().ctx, &params, 1, device.ID));
+ #else
checkCudaError(cuCtxCreate(&devices.Last().ctx, CU_CTX_SCHED_AUTO, device.ID));
+ #endif

#if TD_VERBOSE != TD_VERBOSE_OFF
char name[2048];
diff --git a/libs/Common/UtilCUDA.h b/libs/Common/UtilCUDA.h
index 44d869d..21ad594 100644
--- a/libs/Common/UtilCUDA.h
+++ b/libs/Common/UtilCUDA.h
@@ -19,7 +19,6 @@
// CUDA toolkit
#include <cuda_runtime.h>
#include <cuda_runtime_api.h>
-#include <cuda_texture_types.h>
#include <curand_kernel.h>
#include <vector_types.h>

diff --git a/libs/MVS/PatchMatchCUDA.inl b/libs/MVS/PatchMatchCUDA.inl
index 349cc33..a23c5f5 100644
--- a/libs/MVS/PatchMatchCUDA.inl
+++ b/libs/MVS/PatchMatchCUDA.inl
@@ -49,7 +49,6 @@
// CUDA toolkit
#include <cuda_runtime.h>
#include <cuda_runtime_api.h>
-#include <cuda_texture_types.h>
#include <curand_kernel.h>
#include <vector_types.h>

2 changes: 2 additions & 0 deletions ports/openmvs/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ vcpkg_from_github(
interface-metashape.diff
missing-include.diff
no-absolute-paths.patch
cuda-13.diff
)

file(REMOVE "${SOURCE_PATH}/build/Modules/FindEigen3.cmake")

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
Expand Down
1 change: 1 addition & 0 deletions ports/openmvs/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "openmvs",
"version": "2.3.0",
"port-version": 1,
"description": "OpenMVS: open Multi-View Stereo reconstruction library",
"homepage": "https://cdcseacave.github.io/",
"license": "AGPL-3.0-only",
Expand Down
9 changes: 9 additions & 0 deletions ports/sqlite3/vcpkg-cmake-wrapper.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,13 @@ if(SQLite3_FOUND)
if(TARGET SQLite::SQLite3)
set_target_properties(SQLite::SQLite3 PROPERTIES INTERFACE_LINK_LIBRARIES "${z_vcpkg_sqlite3_link_libs}")
endif()
if(TARGET SQLite3::SQLite3)
get_target_property(z_vcpkg_sqlite3_is_alias SQLite3::SQLite3 ALIASED_TARGET)
if(NOT z_vcpkg_sqlite3_is_alias)
set_target_properties(SQLite3::SQLite3 PROPERTIES INTERFACE_LINK_LIBRARIES "${z_vcpkg_sqlite3_link_libs}")
endif()
elseif(TARGET SQLite::SQLite3)
add_library(SQLite3::SQLite3 INTERFACE IMPORTED)
set_target_properties(SQLite3::SQLite3 PROPERTIES INTERFACE_LINK_LIBRARIES SQLite::SQLite3)
endif()
endif()
1 change: 1 addition & 0 deletions ports/sqlite3/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "sqlite3",
"version": "3.53.0",
"port-version": 1,
"description": "SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.",
"homepage": "https://sqlite.org/",
"license": "blessing",
Expand Down
4 changes: 2 additions & 2 deletions scripts/azure-pipelines/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ parameters:
- name: x64LinuxDockerImage
displayName: 'Linux Docker Image to use for the x64 Linux build'
type: string
default: 'vcpkgandroidwus.azurecr.io/vcpkg-linux:2026-01-20'
default: 'vcpkgandroidwus.azurecr.io/vcpkg-linux:2026-04-20'
- name: arm64LinuxDockerImage
displayName: 'Linux Docker Image to use for the arm64 Linux build'
type: string
default: 'vcpkgandroidwus.azurecr.io/vcpkg-arm64-linux:2026-03-18'
default: 'vcpkgandroidwus.azurecr.io/vcpkg-arm64-linux:2026-04-20'
- name: tripletPattern
displayName: 'Enable triplets which contain this substring (^ matches begin, $ matches end)'
type: string
Expand Down
195 changes: 111 additions & 84 deletions scripts/azure-pipelines/linux-arm64/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,90 +1,117 @@
FROM ubuntu:noble-20251013
FROM ubuntu:noble-20260410

ARG BUILD_DATE
ARG POWERSHELL_VERSION=7.6.0
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get install --no-install-recommends -y curl gnupg ca-certificates && \
curl -L -o packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb && \
dpkg -i packages-microsoft-prod.deb && \
rm -f packages-microsoft-prod.deb
RUN <<EOF
set -eux

RUN echo "Build date: ${BUILD_DATE}" && \
apt-get update && \
apt-get upgrade -y && \
apt-get install --no-install-recommends -y \
powershell \
build-essential \
gcc-13-aarch64-linux-gnu \
g++-13-aarch64-linux-gnu \
gfortran-13-aarch64-linux-gnu \
cmake \
autoconf \
autoconf-archive \
automake \
autopoint \
libtool \
libtool-bin \
libltdl-dev \
m4 \
gfortran \
libnuma1 \
libnuma-dev \
libudev-dev \
libtirpc-dev \
libx11-dev \
libxcursor-dev \
libxtst-dev \
libxi-dev \
libxrandr-dev \
libxxf86vm-dev \
libxext-dev \
libxfixes-dev \
libxrender-dev \
libxcb1-dev \
libx11-xcb-dev \
libxcb-glx0-dev \
libxcb-util0-dev \
libxkbcommon-dev \
libxcb-keysyms1-dev \
libxcb-image0-dev \
libxcb-shm0-dev \
libxcb-icccm4-dev \
libxcb-sync-dev \
libxcb-xfixes0-dev \
libxcb-shape0-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-xinerama0-dev \
libxcb-xkb-dev \
libxcb-xinput-dev \
libxcb-cursor-dev \
libxkbcommon-x11-dev \
libxinerama-dev \
libglu1-mesa-dev \
libgl1-mesa-dev \
libgl-dev \
libxmu-dev \
xorg-dev \
mesa-common-dev \
gettext \
ninja-build \
unzip \
git \
pkg-config \
bison \
flex \
nasm \
yasm \
gperf \
zip \
python3 \
python3-setuptools \
python3-venv \
gnupg \
python3-pip && \
rm -rf /var/lib/apt/lists/*
apt-get update
apt-get install --no-install-recommends -y curl gnupg ca-certificates

RUN update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-13 100 && \
update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-13 100 && \
update-alternatives --install /usr/bin/aarch64-linux-gnu-gfortran aarch64-linux-gnu-gfortran /usr/bin/aarch64-linux-gnu-gfortran-13 100
UBUNTU_VERSION_ID=$(. /etc/os-release && echo "$VERSION_ID")
curl -L -o packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/${UBUNTU_VERSION_ID}/packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm -f packages-microsoft-prod.deb

echo "Build date: ${BUILD_DATE}"
DEBIAN_ARCHITECTURE=$(dpkg --print-architecture)

apt-get update
apt-get upgrade -y
apt-get install --no-install-recommends -y \
build-essential \
gcc-13-aarch64-linux-gnu \
g++-13-aarch64-linux-gnu \
gfortran-13-aarch64-linux-gnu \
cmake \
autoconf \
autoconf-archive \
automake \
autopoint \
libtool \
libtool-bin \
libltdl-dev \
m4 \
gfortran \
libnuma1 \
libnuma-dev \
libudev-dev \
libtirpc-dev \
libx11-dev \
libxcursor-dev \
libxtst-dev \
libxi-dev \
libxrandr-dev \
libxxf86vm-dev \
libxext-dev \
libxfixes-dev \
libxrender-dev \
libxcb1-dev \
libx11-xcb-dev \
libxcb-glx0-dev \
libxcb-util0-dev \
libxkbcommon-dev \
libxcb-keysyms1-dev \
libxcb-image0-dev \
libxcb-shm0-dev \
libxcb-icccm4-dev \
libxcb-sync-dev \
libxcb-xfixes0-dev \
libxcb-shape0-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-xinerama0-dev \
libxcb-xkb-dev \
libxcb-xinput-dev \
libxcb-cursor-dev \
libxkbcommon-x11-dev \
libxinerama-dev \
libglu1-mesa-dev \
libgl1-mesa-dev \
libgl-dev \
libxmu-dev \
xorg-dev \
mesa-common-dev \
gettext \
ninja-build \
unzip \
git \
pkg-config \
bison \
flex \
nasm \
yasm \
gperf \
zip \
python3 \
python3-setuptools \
python3-venv \
gnupg \
tar \
python3-pip

case "$DEBIAN_ARCHITECTURE" in
amd64)
apt-get install --no-install-recommends -y powershell
;;
arm64)
curl -L -o /tmp/powershell-linux-arm64.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-arm64.tar.gz
mkdir -p /opt/microsoft/powershell/7
tar zxf /tmp/powershell-linux-arm64.tar.gz -C /opt/microsoft/powershell/7
chmod +x /opt/microsoft/powershell/7/pwsh
ln -sf /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
rm -f /tmp/powershell-linux-arm64.tar.gz
;;
*)
echo "Unsupported PowerShell architecture: $DEBIAN_ARCHITECTURE" >&2
exit 1
;;
esac

update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-13 100
update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-13 100
update-alternatives --install /usr/bin/aarch64-linux-gnu-gfortran aarch64-linux-gnu-gfortran /usr/bin/aarch64-linux-gnu-gfortran-13 100
rm -rf /var/lib/apt/lists/*
EOF
18 changes: 8 additions & 10 deletions scripts/azure-pipelines/linux/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# syntax=docker/dockerfile:1.4
# DisableDockerDetector "Used to build the container deployed to Azure Container Registry"
FROM ubuntu:noble-20260113
ADD provision-image.sh /provision-image.sh
RUN apt-get update && \
apt-get install --no-install-recommends -y curl gnupg ca-certificates
# The BUILD_DATE argument forces cache invalidation so we get updated apt dependencies
ARG BUILD_DATE
RUN echo "Build date: ${BUILD_DATE}"
RUN chmod +x /provision-image.sh && /provision-image.sh
# syntax=docker/dockerfile:1.4
# DisableDockerDetector "Used to build the container deployed to Azure Container Registry"
FROM ubuntu:noble-20260410
ADD provision-image.sh /provision-image.sh
# The BUILD_DATE argument forces cache invalidation so we get updated apt dependencies
ARG BUILD_DATE
RUN echo "Build date: ${BUILD_DATE}"
RUN chmod +x /provision-image.sh && /provision-image.sh
Loading
Loading