Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About setting features after Crow is installed #380

Closed
The-EDev opened this issue Apr 1, 2022 · 4 comments · Fixed by #384
Closed

About setting features after Crow is installed #380

The-EDev opened this issue Apr 1, 2022 · 4 comments · Fixed by #384
Labels
discussion The viability / implementation of the issue is up for debate question Issue can be closed by providing information task Non code related issue

Comments

@The-EDev
Copy link
Member

The-EDev commented Apr 1, 2022

@autoantwort wrote this. (Below is a copy)

Hm I don't know if that is a good idea. If vcpkg installs the package with openssl and zlib enabled the consuming user still have to set CROW_ENABLE_COMPRESSION and CROW_ENABLE_SSL before the find_package call?

@luca-schlecker what's your opinion on this?

@The-EDev The-EDev added question Issue can be closed by providing information task Non code related issue discussion The viability / implementation of the issue is up for debate labels Apr 1, 2022
@luca-schlecker
Copy link
Collaborator

Vcpkg has "features", it enables ports to specify different configurations with additional dependencies.
Microsoft DevBlog about vcpkg "features"

My current plan for the vcpkg port of Crow is having two such configurations (compression and ssl) pulling in the according dependencies (ZLib and OpenSSL). When installed in a specific configuration, these parts of Crow should be automatically available and thus the according flags (e. g. CROW_ENABLE_SSL) need to be set automatically.

This is not reflected by the current behavior but it seems like a quick fix.

My proposed change, which I will spin up a PR with if you agree, would make the default feature-set of a Crow installation (basically the default values for CROW_ENABLE_* flags) be the one it was installed with. One would still be able to manually enable or disable it.

@autoantwort
Copy link

Sounds good

@The-EDev
Copy link
Member Author

The-EDev commented Apr 2, 2022

My proposed change, which I will spin up a PR with if you agree, would make the default feature-set of a Crow installation (basically the default values for CROW_ENABLE_* flags) be the one it was installed with. One would still be able to manually enable or disable it.

The idea is good, but we would probably need to figure out how to do this for all package managers (VCPKG, AUR, and Conan).

@luca-schlecker
Copy link
Collaborator

I guess you have to specify it somewhere, either in code, in cmake or during install, but maybe CROW_ENABLE_* should be hidden by a variable like CROW_FEATURES where a possible value could be "ssl compression". Then all features could be set by just one call in cmake.

The-EDev added a commit that referenced this issue Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion The viability / implementation of the issue is up for debate question Issue can be closed by providing information task Non code related issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants