Comments (10)
Thank you for the suggestion.
Unfortunately I don't have time for it right now,
but I am grateful for any help.
from liblava.
I'm strapped for time as well but I'd be able to give this a shot in a month or so (possibly add vcpkg support, too). If anyone else is impatient and wants to try it themselves: https://docs.conan.io/en/latest/creating_packages.html
from liblava.
Had some free time (or rather procrastination time) and gave it a try 🤠
https://github.com/pezcode/conan-liblava
Tested on Win 10 with MSVC (v142 and clang-cl) and Ubuntu WSL with GCC 8 and Clang 9 (pending #22).
For now, there is no shared option, you can only build as a static library. This would require changes to liblava's CMakeLists.txt.
Integration into conan-center-index would be nice but requires a few changes. I tried following their guidelines as closely as possible, but using conandata.yml to specify sources seems impossible since github's zip/tar.gz link doesn't include subrepositories.
Would appreciate some feedback, especially from @markusgod. I'm not much of a Conan user so I might have missed something important.
from liblava.
Looks perfect to me. But i'm far from packaging expert. I believe if you just send pull request to cci, guys will point out what need to be fixed.
The only thing url must point to CCI, and current url content should be "homepage".
https://github.com/conan-io/conan-center-index/blob/374a1f4ee8707146822bc48d733aaf07a88f25f5/recipes/volk/all/conanfile.py
from liblava.
Thanks for the feedback 👌
I just noticed a mistake with the library order. Didn't notice until I actually called some useful functions in test_package. Going to fix that in a bit. fixed
Looks perfect to me. But i'm far from packaging expert. I believe if you just send pull request to cci, guys will point out what need to be fixed.
I'll tackle that a little later once I have access there (if that's still a thing with their early access).
from liblava.
🚀 I'm also waiting for EAP
from liblava.
I forked and cloned https://github.com/liblava/conan-center-index (I deleted it)
But still figuring out how to config conandata.yml
and conanfile.py
because of missing git submodules in source releases. 🤔
from liblava.
One way to do this is to specify every single submodule, at which point you can only hope that the submodules don't have submodules themselves. Also a pain to maintain for each release. Maybe there's a way to automate this part with a script 🤔
The 'official' way to do this (and I suppose the first comment you'll get on a PR at CCI) is to use existing conan packages for every dependency. For some dependencies that's probably not too problematic, but some fast-moving ones (imgui, Vulkan headers) could be a bit of a pain because you have to wait for the packages to update before integrating into lava. Add a vcpkg port to this and you have to watch two places. This also would require changes to how dependencies are found and linked in CMakeLists.txt, but that should be comparably straight-forward.
from liblava.
Thanks for your summary of the two ways, but how about just releasing source files with checked out submodules? okay that will break the whole packaging idea and some submodules could be not ready for official release. Like you said, I'm guessing it doesn't go through either. And as you already mentioned, adding other ports (like vcpkg) can take much more effort than desired. A script will help a lot, no matter what way we go. I'm curious what conan would suggest to do. ❔
from liblava.
i think the best and simplest solution is to stick with the current recipe. I always want to keep liblava up to date and the effort involved with CCI is too great. If anyone has a better suggestion, please let me know here.
from liblava.
Related Issues (20)
- Please support MSYS2 MINGW64 HOT 10
- Queue creation improvements HOT 7
- Independent Project Build Fails - freetype not found HOT 2
- Install Instructions are Incorrect HOT 1
- Optional Dependencies HOT 2
- FBX Loading HOT 4
- HLSL Examples HOT 1
- RAII Abstractions HOT 1
- Latest release can not be built from Release downloads HOT 1
- Single validation error, not critical Linux Nvidia HOT 1
- Outputting fps to a text file? HOT 10
- PresentMon-like frametime logging HOT 2
- Request for compute example HOT 1
- Request for imgui docking HOT 2
- Does cmake ver need to be that high? Raspberry OS on 3.18 HOT 5
- How do I set up a cmake project? HOT 3
- Why can't I see Shader edits reflected in the program? HOT 2
- Add support to supply semaphores to renderer HOT 1
- Unable to take screenshots (how to best extend create methods) HOT 2
- Resize causes crash on Linux (tested with AMD gpu)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from liblava.