microsoft / microsoft/vcpkg

vcpkg_copy_tools: Handle versioned executable installed by CMake

Open
#11,547 4 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

Dominant language
CMake
Stars
27.5k
Forks
7.7k
Avg merge
2d 19h
Merged PRs (30d)
321

Description

Is your feature request related to a problem? Please describe.
Some CMake ports set the VERSION target for the installed executable, that on Linux as the effect that executable_name is not a real executable, but just a symlink to the real executable called executable_name-version (see the NAMELINK-related options in https://cmake.org/cmake/help/v3.17/command/install.html#installing-targets for more details).
The current form of vcpkg_copy_tools ignores the real executable called executable_name-version, and just copy in tools/${PORT} the symlink executable_name.

Proposed solution
I do not have a solution, I opened the issue so we can have a space where to discuss a possible solution.

Possible solutions include:

  • Teach vcpkg_copy_tools to also find and install tools in the form toolsname-{version}
  • Patch all the affected ports to avoid that they set the VERSION properties in the executables

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.