Source file ("unique.c") includes header file from subdirectory
("gui/gimpdbusservice.h") which includes generated header file
("gimpdbusservice-generated.h").
In off-root builds this file isn't created in the same directory,
therefore the directory needs to be explicitly added as an include path.
And along with it a lot of stuff like the drawable preview cache, the
gegl tile manager backend, temporary gimp_gegl_buffer_foo() stuff, and
the remaining bits of performance.
The projection is in an evil semi-ported state which makes it work
ok-ish for stuff like layer moving, but absolutely unbearable for
painting, there is also an off-by-one rendering glitch at some zoom
levels.
gimpdir goes to ~/Library/Gimp/x.y
thumbnails go to ~/Library/Caches/org.freedesktop.thumbnails
The thumbnail location is not standardized yet, but is the only
location that makes sense. Also fix user install to search old
gimpdirs to migrate in both Library and the classic location.
Remove the obsolete CABON_CFLAGS from all makefiles.
We must only generate a git-version.h if we have a .git dir or if we
have no git-version.h at all. Otherwise building from a tarball will
destroy the distributed git-version.h.
Also remove #define GIMP_GIT_LAST_COMMIT_YEAR, we don't use it.
Use `git describe` for verbose version, it provides more info than
just the commit ID, and it feels sane to use an existing command for
this. Note that the commit ID is prefixed with 'g'.
This step moves the %.rc.o pattern rule to a small include file in the
build/windows/ directory. Michael Natterer suggested this approach in
order to minimize the changes done to each executable's Makefile.am.
Eventually all executables will have the manifest and version resources
linked. In this initial step, the current resources are moved from the
app/ directory to a global build/windows directory.
Previously, git-version.h always recorded the latest commit on the
master branch. This change should record the current commit (which is
what gets built) regardless of the branch.
I've checked that it does "the right thing" regarding multi-parent
merges by checking out such a merge commit, generating git-version.h and
comparing it to the commit sha1 in the log.