Skip to content

migrate dependencies to vcpkg#777

Merged
tgauth merged 32 commits into
PowerShell:latestw_allfrom
tgauth:vcpkg-test
Sep 8, 2025
Merged

migrate dependencies to vcpkg#777
tgauth merged 32 commits into
PowerShell:latestw_allfrom
tgauth:vcpkg-test

Conversation

@tgauth
Copy link
Copy Markdown
Collaborator

@tgauth tgauth commented Mar 19, 2025

PR Summary

  • update build to consume dependencies (libcbor, libfido2, libressl, and zlib) from vcpkg
  • update CI to clone vcpkg repo, parse warnings from build logs, and check that libressl version in resource.h file (version used for populating DLL properties) matches version in vcpkg.json (actual version being built)
  • update build instructions wiki page to include vcpkg install instructions as a pre-requisite

PR Context

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Mar 19, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Mar 19, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth tgauth changed the title [WIP] migrate dependencies to vcpkg migrate dependencies to vcpkg Mar 20, 2025
@tgauth tgauth requested review from Copilot and vthiebaut10 March 20, 2025 14:16
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the project’s dependency management to use vcpkg, updating the build and CI processes accordingly. Key changes include:

  • Cloning and bootstrapping vcpkg for dependency management.
  • Adding build steps for ARM architectures (arm64 and arm).
  • Parsing and surfacing additional warnings from build logs for all supported platforms.
Files not reviewed (19)
  • contrib/win32/openssh/AzDOBuildTools/AzDOBuildTools.psm1: Language not supported
  • contrib/win32/openssh/OpenSSHBuildHelper.psm1: Language not supported
  • contrib/win32/openssh/config.vcxproj: Language not supported
  • contrib/win32/openssh/keygen.vcxproj: Language not supported
  • contrib/win32/openssh/libssh.vcxproj: Language not supported
  • contrib/win32/openssh/libssh.vcxproj.filters: Language not supported
  • contrib/win32/openssh/openbsd_compat.vcxproj: Language not supported
  • contrib/win32/openssh/paths.targets: Language not supported
  • contrib/win32/openssh/scp.vcxproj: Language not supported
  • contrib/win32/openssh/sftp-server.vcxproj: Language not supported
  • contrib/win32/openssh/sftp.vcxproj: Language not supported
  • contrib/win32/openssh/ssh-add.vcxproj: Language not supported
  • contrib/win32/openssh/ssh-agent.vcxproj: Language not supported
  • contrib/win32/openssh/ssh-keyscan.vcxproj: Language not supported
  • contrib/win32/openssh/ssh-pkcs11-helper.vcxproj: Language not supported
  • contrib/win32/openssh/ssh-shellhost.vcxproj: Language not supported
  • contrib/win32/openssh/ssh-sk-helper.vcxproj: Language not supported
  • contrib/win32/openssh/ssh.vcxproj: Language not supported
  • contrib/win32/openssh/sshd-session.vcxproj: Language not supported

Comment thread .azdo/ci.yml
@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Apr 10, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Apr 10, 2025

/azp run

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented May 13, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented May 14, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Jun 3, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Jun 3, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Jun 3, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Jun 3, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tgauth
Copy link
Copy Markdown
Collaborator Author

tgauth commented Jun 3, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Collaborator

@vthiebaut10 vthiebaut10 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tgauth tgauth merged commit 935a911 into PowerShell:latestw_all Sep 8, 2025
4 checks passed
@tgauth tgauth deleted the vcpkg-test branch September 30, 2025 19:24
hazelduvall pushed a commit to hazelduvall/openssh-portable that referenced this pull request May 6, 2026
* modify dependency retrieval to support vcpkg switch

* start transition to vcpkg

* start transition to vcpkg 2

* add vcpkg folder to .gitignore - build working for static zlib consumption

* add custom triplets for static/dynamic dependency specification

* point build to custom triplet file

* start transition to libressl vcpkg - build not working yet

* temp workaround for config.ps1 bug

* add libcrypto patch

* add working poc for all dependencies

* update custom triplet naming in proj files

* add libressl patch for arm arch

* use static build for libfido2 and remove unused libressl artifacts

* update CI to build all 4 architectures

* add vcpkg repo clone to ci

* revert config.ps1 workaround

* remove dependency version from paths.targets as they are in vcpkg.json instead

* Update OpenSSHBuildHelper.psm1

* revert accidental change to filters file

* add comp flags

* update build files

* Delete OpenSSH-arm_symbols/OpenSSHUtils.psm1

* update build script libcrypto onecore steps

* Update fix_cmakelists.patch

* Update x64-custom.cmake

* update libressl port

* revert libcbor version update for now

* fix typo

* Delete contrib/win32/openssh/vcpkg_overlay_ports/libressl/modify-name-libcrypto.patch

* fix path to version file

* Update AzDOBuildTools.psm1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants