Conversation
|
Generated file structure: <need update> |
|
Relevant logs on failures from x64-windows:
|
Co-authored-by: Kai Pastor <dg0yt@darc.de>
|
@microsoft-github-policy-service agree |
Co-authored-by: Bret Brown <mail@bretbrownjr.com>
|
@nickelpro make us great |
|
I did some digging, error comes down to these: x64_windows/ x84_windows/ x64_uwp: I have no expertise here, @nickelpro @bretbrownjr can you come and see if the DLL thing is a desired behavior? |
|
It's not, Beman needs to decide on a policy for how we're going to handle symbol export. We're relying on the default behavior of *Nix platforms of the moment. |
|
Oh but for exemplar it is. Why does exemplar even produce a library? Just to demonstrate how it's done? |
|
Yes. It's an example and a project template. The other beman projects will use this as a starting point. |
|
Sure but exemplar doesn't export anything, and therefore isn't demonstrating how to export anything. Exemplar isn't using Exemplar should have something in it that says, "and if you need to export a symbol this is how you do it". That would fix this bug and serve exemplar's purpose of being a demonstrator for other Beman projects. |
|
Anyway, none of this is vcpkg's fault and this isn't a vcpkg discussion. Recommend benching this until we figure this out upstream. Nominally this problem can be solved with |
It is not appropriate to discuss here, but there's a scope question on what exactly beman.exemplar is, because if it's just a bootstrap template library, I think it's very likely that beman will be shipping header only libraries or libraries that is essentially a series of templated struct definitions that won't produce significant symbol tables for the majority of its use case. |
|
AFAIU this should be just header-only, exporting a CMake interface target. |
|
If this were a real library, I would agree. Honestly I don't even think this belongs in the builtin registry. Beman can maintain it's own registry for things like exemplar. There's no reason anyone would want exemplar as a dependency, it's purely a template/demo repo. Recommend closing this and we can revisit with the actually useful Beman repos. |
This is in principle serve as an example of how beman projects based on exemplar would look like when they're published. I think for consistency and model service there is value in pushing this to central. |
|
It doesn't need to be in vcpkg's curated registry to serve as an example. In addition, it is not a good example when its implementation (binary lib) doesn't match its nature (header-only). |
| # See: | ||
| # https://github.com/bemanproject/exemplar/issues/161 | ||
| # https://github.com/bemanproject/exemplar/issues/163 | ||
| set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) |
There was a problem hiding this comment.
Which symbols are provided by the DLLs, and how are they used?
find_packagecalls are REQUIRED, are satisfied byvcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.vcpkg.jsonmatches what upstream says.vcpkg.jsonmatches what upstream says../vcpkg x-add-version --alland committing the result.CC @bretbrownjr