microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[mp-units] Add feature to use ms-gsl or gsl-lite

wongjk opened this issue · comments

Is your feature request related to a problem? Please describe.

A project of mine uses ms-gsl, which will conflict with the gsl-lite dependency in mp-units.

Proposed solution

Add a feature choose between ms-gsl and gsl-lite.

Describe alternatives you've considered

No response

Additional context

No response

Add a feature choose between ms-gsl and gsl-lite.

There can't be such a feature. https://learn.microsoft.com/en-us/vcpkg/contributing/maintainer-guide#do-not-use-features-to-implement-alternatives

I see. I will have to use an overlay port then.

Thank you,

Do I understand correctly that we already have two alternative implmentations of the GSL which cannot be used at the same time? Maybe we don't need a feature but must force all ports to use the same variant. AFAIU the ban of alternatives is intented to prevent the situation which is reported here.

Do I understand correctly that we already have two alternative implmentations of the GSL which cannot be used at the same time?

Yes. Both ms-gsl and gsl-lite define things under the gsl namespace, which causes type conflicts and ODR violations.

It seems like only one of them should be used in vcpkg.