cameron314 / cameron314/concurrentqueue

Vcpkg install differs from a CMake-based manual install

Open
#392 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
12.5k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

Vcpkg includes concurrentqueue among its libraries and it installs it - like most of its libraries - through CMake to be consumed also with CMake. The way Vcpkg has client CMake scripts use the library is the following

find_package(unofficial-concurrentqueue CONFIG REQUIRED)
# ...
target_link_libraries(my_target PRIVATE unofficial::concurrentqueue::concurrentqueue)

It turns out that concurrentqueue has its own CMake support that differs in the naming.

find_package(concurrentqueue CONFIG REQUIRED)
# ...
target_link_libraries(my_target PRIVATE concurrentqueue::concurrentqueue)

I would suggest to correct the Vcpkg port so that it exploits the "official" way to use the library with CMake.
I can address the change in Vcpkg. Is this something desirable for other stakeholders?

NOTE:
The two implementations also differ in the include paths (see issue #391). In this respect I find Vcpkg approach more natural and I would suggest to correct that first, then address the Vcpkg change.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start by comparing the Vcpkg port's CMake client usage with concurrentqueue's own CMake support, then read issue #391 about the differing include paths. Confirm the desired order with stakeholders before changing the port. Done means the Vcpkg integration follows the agreed CMake package and target naming and handles the include paths consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.