-
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
[reflectcpp] Update to 0.17.0 #43135
base: master
Are you sure you want to change the base?
Conversation
reflectcpp 0.17.0 adds Cap'n Proto, so I have added this as a feature. When I submitted version 0.16.0, there was some discussion on the way I was linking CBOR and TOML. Back then, I decided to just leave them out for now, fix the issues you had raised and then include them with the next release. I have done just that, so now CBOR and TOML are included as features as well. Moreover, I have improved the package description. |
@liuzicheng1987, Thanks for your PR, when I tested the features by command
|
Hi @JonLiu1993 , that's a problem with the TOML port. It doesn't provide a cmake.config, just a PkgConfig, so you need PkgConfig to link the TOML port. This was in fact the solution that was suggested by the vcpkg reviewers the last time, otherwise we cannot support TOML. |
@JonLiu1993, let me point you to PR #42461. You will see that I have done exactly what the reviewers suggested the last time and also what the usage file in the TOML package suggests. If you are not happy with that, then we won't be able to support TOML until someone adds a cmake.config to the TOML port. |
@JonLiu1993, here is the usage file of the TOML port: I have integrated these lines into my own CMakeLists.txt upstream. We can either live with the fact that you would need PkgConfig or I could just take out the TOML feature again. I would personally prefer leaving it in...I think the error message you have posted is pretty clear. But, of course, you're the reviewer, so it's your call. |
If I install pkgconf port first, all features are tested successfully in the following triplet:
|
@JonLiu1993, thanks. |
Just skimming through this but I think you should be able to add I was able to build just fine after adding that. |
@JavierMatosD , wouldn't I have to make upstream changes for that? |
@JavierMatosD This doesn't help.
|
Actually there is also the problem with building the port. It can be resolved by the proposal by @JavierMatosD. This part doesn't need upstream changes. |
@JavierMatosD @dg0yt, how much effort would it be to just add a cmake.config to the TOML port? Just to be clear: This is only a problem if you want TOML support...and if the rule is that you don't want people to have to use PkgConfig, wouldn't it be the cleanest solution to just fix the root cause of the problem? If it isn't too much effort, I would be happy to write a patch for tomlplusplus... |
It might be possible and desirable to use tomlplusplus' CMake build system. But IIUC you would have to add back pkgconfig support. |
@JonLiu1993 @JavierMatosD @dg0yt , since I don't think the problem can be fully resolved without upstream changes, I have decided to once again remove TOML support. This removes the need for PkgConfig and thus avoids the problem altogether. I will take a look at what I can do to fix the problem upstream, either by writing some kind of workaround in reflect-cpp or submitting a PR to tomlplusplus. |
If this PR is ready for review, please let me know, thanks. |
@JonLiu1993 , sorry, my mistake. I forgot to hit the "Ready for Review" button. I have resolved the PkgConfig issue by simply removing the TOML feature once again. I will find a solution by either submitting a PR to tomlplusplus or by simply using something like toml11 instead. But I won't do that until the next release of reflect-cpp. |
when I tested the features by command
|
@JonLiu1993 , this must be an issue with your compiler. What compiler and what version are you using here?
|
Even though this may be the most hackneyed thing for a developer to say: It works perfectly fine on my Linux machine. (And I am also very sure that the automated tests wouldn't have passed if there were an actual issue.) |
The "supports" clause reflects platforms that may be fixed by this new version.Any fixed CI baseline entries are removed from that file.Any patches that are no longer applied are deleted from the port's directory../vcpkg x-add-version --all
and committing the result.