-
Notifications
You must be signed in to change notification settings - Fork 366
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
C++ package manager request tracking issue #4579
Comments
@abey79 , @Wumpf I've started work on conan recipe (#4420 ) in our local conan system and faced a few things. Maybe, we could discuss it here or in discord or have a call. Here are the topics: C++ SDK provided in assets has good and clear process of integration with just couple lines of code in CMake, but it seems to be very important that own code is compiled along with some Rerun sources (*.c - files). However, the classical package should contain only pre-built libraries (lib or dll) and header files. I tried to create conan package and it contains only hpp files with these libs:
Next, when I try to link rerun conan package to existing project XXXX I'm getting these linker errors - apparently libs don't contain all code:
I would like to understand better the structure of C++ code, how to make it compilable into self-sufficient library and how did you get I'm thinking of maybe forcing linker to produce all symbols by adding following options (not sure it will resolve all linker problems though): MSVC: What do you think? |
@rgolovanov the missing symbols you hit there are from a bunch of very common system dependencies. These to be accurate |
…un_c library (#5374) When building the C++ SDK with the `BUILD_SHARED_LIBS` option set to `ON`, it is not compulsory to also install the `rerun_c` static library. This PR adds a CMake option `RERUN_INSTALL_RERUN_C` (enabled by default), that can be disabled when `rerun_sdk` is not compiled as static library. This is useful when packaging the rerun C++ SDK if you want to avoid to also install the rerun_c static library (related to #4579). ### What ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using newly built examples: [app.rerun.io](https://app.rerun.io/pr/5374/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/5374/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [app.rerun.io](https://app.rerun.io/pr/5374/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! - [PR Build Summary](https://build.rerun.io/pr/5374) - [Docs preview](https://rerun.io/preview/538c4c8eaad0963eaa2a6915c1179106d5acc111/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/538c4c8eaad0963eaa2a6915c1179106d5acc111/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
For what regards C++ SDK support for conda-forge, this is now solved (at least on Linux/macOS) with the |
@traversaro awesome! Would you mind creating a PR that adds this to the docs somewhere in here https://github.com/rerun-io/rerun/tree/main/rerun_cpp#build--distribution ? |
Sure, there are a bit of aspects that I would to tackle before (support for it in the opencv/eigen example, Windows support, general dogfooding it to understand if it works fine), and then I think we can can add it there, does it make sense? |
Of course, whenever you feel comfortable with it :) |
Now that we have the Windows package as well, I think it is fine to add it: #6381 . |
For the moment we decided to not support additional build systems and package management for C++, since there's simply too many to choose from and this becomes a bit of a maintenance burden that we're not ready for yet.
This ticket collects the various requests that came up so far and what state they're in:
The text was updated successfully, but these errors were encountered: