Hacker News new | ask | show | jobs
by danpalmer 849 days ago
Out of interest what's difficult about it to build? In my experience CMake isn't exactly a great developer experience, and many projects of this size take similar times to build. Is the problem specific to Skia or Google open source projects, or is it more based on the (necessary) size of the project?
2 comments

The difficult parts change all the time and usually boil down to some sort of undocumented or poorly-documented dependency, especially if you're trying to enable the GPU backends. Every time someone I know tries to get it building it takes them a week to figure out how to do it.
I used to do that when I started out with C/C++...15 years ago. Now my patience is running out after 10 minutes. Tooling has become so much better, but it seems not that much with some C/C++ projects. At least the build times are better, I remember big libs would could take hours to build.
Meson and ninja improved a lot in this area for C/C++.
Does Skia have a continuous build somewhere? Is there any way to piggyback off the config for that?

I found this:

https://github.com/google/skia-buildbot

Assuming that the Skia maintainers keep that working, it might be easier to build the buildbot and use that to build Skia, than to build Skia directly!

Yes, it's built as part of Chrome IIRC.
Took me less than an hour to figure out how to build it just reading the instructions they have on their website for building.

Skia really isn't that hard to use IMO even for GPU accelerated stuff.

> In my experience CMake isn't exactly a great developer experience

o_O unlike GN?

Have you used it much?

https://gn.googlesource.com/gn/

Yes GN IMO is a much better experience than CMake. Its fully self-contained in a single binary that you can easily just distribute with your code. I have a small python script I use with it to regen files, and then to run Ninja to do the actual builds.

I've been using it for years and have no complaints.

I haven't used GN, I'm mostly thinking of Bazel, but was also just interested in the specifics.