-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
[sqlite-orm] enable C++17 and C++20 #43168
Comments
@trueqbit, Some users hope that vcpkg can enable these two C++ standards,
but I noticed that when the upstream added it, it was disabled by default because some configurations could not be satisfied. I wonder if we can turn on these two options normally now? If so, I will turn them on in vcpkg. |
The options might not be supported by old compilers. Maybe it is also not possible to combine source code which is written for C++11 with the library when compiled with C++20. It is possible already now to customize the triplet file: if(PORT STREQUAL "sqlite-orm")
list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DSQLITE_ORM_ENABLE_CXX_17=ON")
endif() https://learn.microsoft.com/en-us/vcpkg/users/triplets#per-port-customization |
@dg0yt Thanks for the tip! I did not know about that possibility of modifying a port through the triplet file. I expected to have to do a overlay port. I would argue that the options was added long ago, 2019 and 2021, so I think compiler support should not be much of an issue anymore. And one can also disable the settings in a triplet file in the same way. If one builds with a compiler that has c++20 support. I think the option should be on by default. Keeping them off to defend against potential issues that we don't even know if they exists seems overly defensive. |
There is no need to stick to limitations of the past when also CI was at diffent compiler versions.
upa-url uses C++17 by default, and it carries an extra patch to lock the C++ level "so that consuming code gets what matches the feature selection; otherwise there will be ABI breaks", #40964 (comment). |
Downgrading the version to c++11 from c++17 with a "feature" can hardly be considered additive... |
Is your feature request related to a problem? Please describe.
Currently sqlite-orm disables features from c++17 and c++20
vcpkg/ports/sqlite-orm/portfile.cmake
Lines 23 to 24 in 314700a
Is there any reason for this? I would like to enable them.
And if not as default can one add it as a feature?
Or should this depend on the triplet used?
Proposed solution
Remove the mentioned lines above
Describe alternatives you've considered
Derive this from the triplet used
Additional context
No response
The text was updated successfully, but these errors were encountered: