Skip to content

Conversation

@servantftransperfect
Copy link
Contributor

@servantftransperfect servantftransperfect commented Aug 22, 2025

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

  • Refactored the Windows CI job in .github/workflows/continuous-integration.yml to 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]
  • Updated the build step to use the new prebuilt dependency archive and toolchain file location, and improved the Python test invocation for better compatibility. [1] [2]

Dependency Management Overhaul

  • Added vcpkg.json and vcpkg-configuration.json to declare all project dependencies, their versions, and registry settings, enabling manifest-based vcpkg builds and easier dependency updates. [1] [2]
  • Introduced overlay ports for custom dependencies (e.g., 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

  • Updated INSTALL.md to 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

  • Added patches for liblemon to 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

  • Added a custom overlay port for cctag with a dedicated portfile.cmake and vcpkg.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.

@servantftransperfect servantftransperfect force-pushed the dev/cleanVcpkgManifest branch 6 times, most recently from 06b4ac5 to 4f7e0fc Compare August 26, 2025 14:32
@servantftransperfect servantftransperfect changed the title wip Improving vcpkg using manifest mode Aug 26, 2025
@servantftransperfect servantftransperfect marked this pull request as ready for review August 26, 2025 17:00
@cbentejac cbentejac added this to the 3.4.0 milestone Aug 27, 2025
@cbentejac cbentejac changed the title Improving vcpkg using manifest mode [vcpkg] Use manifest mode for dependencies Aug 28, 2025
@cbentejac cbentejac merged commit c5c719f into develop Aug 28, 2025
4 checks passed
@cbentejac cbentejac deleted the dev/cleanVcpkgManifest branch August 28, 2025 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants