mitchcurtis / slate

Pixel Art Editor
GNU General Public License v3.0
1.07k stars 103 forks source link

QBS build is not so familiar #110

Closed FabriceSalvaire closed 5 years ago

FabriceSalvaire commented 5 years ago

Just wanted to recompile this project but I had pain with qbs to setup it, to find where is the executable, and then with the library path. I had to tweak the LD_LIBRARY_PATH for slate and qt.

Maybe cmake would help to quickly compile and test this project. Well it do the job for my projects.

mitchcurtis commented 5 years ago

Did you take a look at the docs? I agree that it can be tricky to build from the command line with Qbs. Building with Qt Creator is much more convenient.

I don't have the interest in porting this to CMake at this point in time. I would want to wait until Qt gets proper CMake integration, right down to e.g. application icons on macOS, which Qbs (and qmake?) handles nicely.

hallarempt commented 5 years ago

Qbs is dead in the water, though. ECM (https://api.kde.org/frameworks/extra-cmake-modules/html/index.html) provides https://api.kde.org/ecm/module/ECMAddAppIcon.html which works nicely for macOS.

mitchcurtis commented 5 years ago

ECM (https://api.kde.org/frameworks/extra-cmake-modules/html/index.html) provides https://api.kde.org/ecm/module/ECMAddAppIcon.html which works nicely for macOS.

Nice, thanks for the info. Do you know what the following sentence means? The way it's written is very confusing...

Larger sizes are automatically used to substitute for smaller sizes on “Retina” (high-resolution) displays. For example, a 32px icon, if provided, will be used as a 32px icon on standard-resolution displays, and as a 16px-equivalent icon (with an “@2x” tag) on high-resolution displays. That is why you should provide 64px and 1024px icons although they are not supported anymore directly. Instead they will be used as 32px@2x and 512px@2x. ksvg2icns handles this internally.

Does it mean that it won't use the @2x variants? Downscaling a 32px icon to use as a 16px icon on a retina display does not sound good - that's what the 32@2x is for, after all.

mitchcurtis commented 5 years ago

Also, for Windows, it says:

One of the tools png2ico (See FindPng2Ico) or icotool (see FindIcoTool) is required.

I assume that these can be pulled in with CMake automatically as part of the build process?

mitchcurtis commented 5 years ago

Qbs is dead in the water, though.

The next Creator release has a new version of Qbs, but yes, it won't be developed by the company after that as far as I understand it. The community can still look after it, of course, but eventually I will probably port to CMake. For now though, I'm not exactly jumping with excitement at the thought of it. It's just extra work. Patches are welcome though!

wow2006 commented 5 years ago

Please help me with #117

mitchcurtis commented 5 years ago

Thanks to @wow2006, this is fixed with #117.

mitchcurtis commented 5 years ago

Although note that tests aren't currently built, which is an important note for anyone wanting to submit patches to Slate, since the tests should be run to verify patches. Tests are now working: #118

Remaining stuff to do for CMake:

If anyone knows how to fix those issues, I'd be grateful for patches.