Use the FindInotify from ECM. It handles the case of Linux vs BSD
correctly automatically.
Also only find Inotify on Linux and BSD
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
Instead of using custom find modules.
This allows using imported targets which make the code much nicer.
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
By default, plugins are only searched next to the binary or next to the
other Qt plugins. This optional build variable allows another path to be
configured.
The idea is that on linux the oC packaging probably wants the binary in
something like /opt/owncloud/bin and the plugins in
/opt/owncloud/lib/plugins.
Similarly, distribution packagers probably don't want the plugins next
to the binary or next to the other Qt plugins. This flag allows them to
configure another path that the executable will look in.
The SANITIZE_ADDRESS option of our CMake configuration activates the
AddressSanitizer (and UBSan in a non-working way) for the whole project
(although, by the way, its documentation pretends that it is only enabled
for tests).
This commit introduces new options SANITIZE_LEAK, SANITIZE_MEMORY,
SANITIZE_UNDEFINED, SANITIZE_THREAD. Each of these options (including
SANITIZE_ADDRESS) enables only the corresponding sanitizer.
Moreover, we mark all sanitizer options as advanced options, because these
options are only interesting for developers.
Note that some sanitizers are conflicting, that is, not all options can
be enabled simultaneously. Also, not all sanitizers are available for
all compilers and versions. We, however, do not check for this, instead
we let the compiler throw its errors in such cases.
The explicit usage of the Google Linker is removed, because it is not
necessary and can lead to problems with clang.
The commit can be considered a rewrite of cmake/modules/SanitizerFlags.cmake.
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
- Default: BUILD_UPDATER = NO
To ease builds for distro packages and contributors (regardless of the specified update URL)
- Enable updater build for Drone CI and AppImage builds
Signed-off-by: Michael Schuster <michael@schuster.ms>
Mainly uses target_include_directories instead of include_directories
so libraries public include directory get automatically added when adding
the target in target_link_library
This commit integrates support for libcloudproviders
desktop integration API. If build with the library it
will check on startup if the DBus interface is available
and then use it instead of the legacy status icon.
Signed-off-by: Julius Härtl <jus@bitgrid.net>
For some reason, this was working untill I added a call
to X509_REQ_get_subject_name, then the linking suddenly
stopped working (even tougth I'm using a ton of other
OpenSSL calls)
Force to link against 1.0
Make admin folder optional. It is needed for osx, but it is deleted from Linux builds for the sake of easier license review as discussed in https://github.com/owncloud/client/issues/6005