These are also useful warnings that tend to find real bugs, so let's
enable then.
The downside is they require us to mark certain things so the compiler
knows if they were on purpose or not.
We need this function to deal with pkgconfig files properly, but
unfortunately it doesn't exist until CMake 3.13, and we need to support
CMake 3.10. So add a hacky compatibility function for older systems.
Enable this automatically for developers so we increase the chance of
these problems getting caught. There is a risk of overhead though so
keep them disabled for release builds.
It's difficult to support both old and new versions, so raise the
requirement to the oldest that is commonly used, which is CMake 3.10.2
on Ubuntu 18.04.
This sets up a more correct session as there are key tasks that
need to be performed by PAM. E.g. systemd will allocate cgroups
and start base services.
In order to easily handle this as a system service the mapping of
displays is now done via a configuration file.
It is the most common init system these days so it should not be
hidden in the contrib/ directory.
This also removes all old SysV files from the contrib packages.
because it is not only platform independent
but also allows to override the build date
This helps to make tigervnc builds reproducible
See https://reproducible-builds.org/ for why this is good
Also adds UTC flag, to be independent of timezone.
Also changes JAVA_DATE format to ISO-8601 date format.
Requires cmake-2.8.11+ from 2013
We don't modify the link interface directly so these warnings are
just useless noise. We could in theory use the new naming instead,
but at least CMake 2.8.12 is buggy and screws up the link when that
policy is active.
On some systems, the build was picking up jpeglib.h from the system
include directories, and if the system's version of libjpeg[-turbo] used
a different API/ABI version than the one specified in JPEG_LIBRARY, this
led to a "Wrong JPEG library version" error at run time.
Useful for debugging memory leaks and access violations. It is
not available on Windows though, and there is some problem compiling
ObjectiveC++ with it turned on.