[vcpkg] Use manifest mode for dependencies #1957
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the Windows build and dependency management for AliceVision, focusing on modernizing the CI workflow, simplifying installation instructions, and adding robust vcpkg configuration and overlays for custom dependencies. The changes streamline the build process, enhance reproducibility, and make it easier to manage and update dependencies, especially on Windows.
Continuous Integration and Build Workflow Modernization
.github/workflows/continuous-integration.ymlto use updated environment variable names, improved directory structure, switched to newer GitHub Actions versions, and simplified Python and dependency setup. The workflow now downloads and extracts a prebuilt dependency archive, uses CUDA 12.8, and builds with the new dependency layout. [1] [2] [3]Dependency Management Overhaul
vcpkg.jsonandvcpkg-configuration.jsonto declare all project dependencies, their versions, and registry settings, enabling manifest-based vcpkg builds and easier dependency updates. [1] [2]cctag,liblemon) including custom patches and portfiles to ensure compatibility and correct build configuration with modern compilers and CMake versions. [1] [2] [3] [4] [5] [6]Documentation Updates
INSTALL.mdto reflect the new Windows build process, including instructions for installing dependencies using vcpkg manifest mode and the precompiled archive, and revised CMake invocation to match the new workflow and dependency layout. [1] [2]Custom Dependency Patches
liblemonto fix CMake version requirements, installation targets, and compatibility with C++20 and MSVC, ensuring successful builds and proper integration with the project. [1] [2] [3] [4]Overlay Port for CCTag
cctagwith a dedicatedportfile.cmakeandvcpkg.json, enabling CUDA and sample application features, and cleaning up unnecessary files post-install. [1] [2]These changes collectively modernize and simplify the Windows build and dependency management for AliceVision, making it easier for developers to set up, build, and maintain the project.