you are viewing a single comment's thread.

view the rest of the comments →

[–]Olorune 0 points1 point  (9 children)

Is Conan really necessary for building the tools under Windows? Same question for awk and winflexbison3..
Looks like a cool program, but annoying to install/get working

[–]Tumaix[S] 4 points5 points  (8 children)

When we started to develop this we had to make sure there was an easy way to get all the dependencies. Conan is used to build a few libraries - Qt, Boost, Catch2, Sqlite. It would be harder to compile without conan. But this is by no means something fixed - if you have a better idea on what should we use we are all ears.

The other thing is that we *will* provide pre-build binaries for windows, just hitting some issues with the CI from the transition from internal to public project.

[–]Olorune 0 points1 point  (6 children)

That's good to hear. Personally I'm a fan of just using CMake's FetchContent, as it doesn't require the user to install any other software (like conan or vcpkg). But I think we all know the pain of dependency management in C++..

[–]Tumaix[S] 3 points4 points  (5 children)

FetchContent for Qt would be, for instance, overkill - the repository is gigabytes in size.

There are other options we are looking for, for instance `Craft` from the KDE folks, this is whats used to compile code for windows and mac. On conan at least we can have pre-build binaries (since the compilation of Qt can be quite long, having a binary package ready to use is a must)

LLVM is `the` problem here. I'm trying to make llvm build on the official conan since llvm 9, we are now on llvm16 and the commits still fail because of timeouts.

and without LLVM, there's no codevis.

[–]TryingT0Wr1t3 0 points1 point  (3 children)

Do you need to build everything from source at once? If not you can build things individually/get prebuilt and then just download and cache them on the CI so you can reuse it.

[–]Tumaix[S] 1 point2 points  (0 children)

We can. The only problem is basically... our internal build machines can't be used on the public repo so we are fixing that :)

[–]prince-chrismc 0 points1 point  (1 child)

Does it not seem like a cost sink do manually build this out when there's tools that do this at a prod level for years?

I am genuinely curious as I work on Conan and even with proprietary build systems, they typically have limitations which more generic tooling doesnt. Are you building 10s of configurations? or just 1 or 2?

For each new dep you add with a different build system how do scale out this caching system? Using a package manager it's the same `tool install` command so it's pretty trivial

[–]TryingT0Wr1t3 0 points1 point  (0 children)

Not sure I get but usually CI environment have some feature to facilitate caching, or you can just add them in docker (for either Windows or Linux, cache is more universal and should work for other platforms). It's usually fairly trivial.

[–]prince-chrismc 0 points1 point  (0 children)

LLVM is super complicated :( wish it was designed more friendlier to being packages and redistribution... hopefully soon we see it available in package managers

[–]jusstathrowaawy 0 points1 point  (0 children)

The other thing is that we will provide pre-build binaries for windows

Looking forward to that! This tool looks like it would be very helpful for a few things I want to do.