Commit graph

244 commits

Author SHA1 Message Date
alex-z
35721cf746 Set CXX Standard 17.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
allexzander
9270d401e8 Move URI scheme variable from Nextcloud.cmake to root CmakeListst.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-08-04 11:50:58 +03:00
alex-z
3400df461d Move CFAPI shell extensions variables to root CMakeLists.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-08-03 14:55:31 +03:00
Claudio Cambra
9dd9c46493 Do not compile things that require the app bundle when building the client without the app bundle on macOS
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-06-10 10:43:36 +02:00
Matthieu Gallien
75bcc9a24e require cmake 3.16
close #3572

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-09 13:07:48 +00:00
alex-z
0776df65c3 Always build with updater. Use 'beta/stable' channel seletor in 'General Settins' dialog with default 'stable'.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-02 10:46:11 +00:00
nextch
b4d6c90c62
Merge branch 'master' into bug/4153-cloudproviders-dbus-build 2022-01-24 15:21:39 +02:00
Matthieu Gallien
18be0e88dc do not activate quick compiler by default
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-01-12 11:37:13 +00:00
nextch
e48879555b
Check for dbus-1 when building with cloudproviders
Resolves: 4153
Signed-off-by: nextch <97217716+nextch@users.noreply.github.com>
2022-01-08 16:56:40 +02:00
Claudio Cambra
044cf7ee13 Add QUICK_COMPILER option to drone builds, set quick compiler on by default
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-01-07 17:48:31 +00:00
Claudio Cambra
a1d42b4177 Make compiler required when option is on, removed unused def
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-01-07 17:48:31 +00:00
Claudio Cambra
e25140d72e Add option of enabling QtQuick compiler
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-01-07 17:48:31 +00:00
Antonio Rojas
9d4d11df61 Unbreak loading translations
Commit 18ddb9df4a changed SHAREDIR to point to CMAKE_INSTALL_DATADIR, which is a relative path by default. This prevents the C++ code from finding the translations at runtime.

Signed-off-by: Antonio Rojas <arojas@archlinux.org>
2021-12-28 08:07:04 +00:00
Felix Weilbach
ec64246dc7 Only build app bundle if requested
For development a app bundle is not needed. The app bundle is only
needed for distribution and macdeployqt takes a lot of time.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-23 11:41:29 +00:00
Felix Weilbach
0074d6c40a Disable Qt deprecation warnings
They don't help us during regular development and some of them are not
fixable (e.g. QNetworkMangerConfiguration) in the open source variant
of Qt5.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-17 13:32:26 +00:00
Nicolas Fella
18ddb9df4a Use CMAKE_INSTALL_DATADIR instead of custom DATADIR
CMake provides what we wan out of the box

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-09-01 11:43:03 +00:00
Felix Weilbach
b5b235c75f Color compile ouput when using Ninja build file generator
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-20 13:20:55 +00:00
Nicolas Fella
43cccb0a73 Don't use variables for CMake target identifiers
This makes the code a bit nicer to read and maybe a bit more robust.

Set the relevant OUTPUT_NAME target properties to keep the ability to
customize the names of the installed binaries.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-08-19 10:30:23 +00:00
Matthieu Gallien
f9bfd8adec takes ECMCoverageOption from ECM to enable code coverage analysis
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-07-28 09:26:40 +00:00
Felix Weilbach
7850551cad Start macOS app bundle name with uppercase letter
It's a convention on macOS that app bundle names start with an uppercase
letter. Also this aligns the app name with Windows and Linux.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-15 12:19:55 +00:00
Felix Weilbach
e7c65a71b8 Remove conditional logic for OEM.cmake
This file is not used in Brander and in the desktop client and just
confused people.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-14 10:14:28 +00:00
Felix Weilbach
e2d0481c64 Add CMake option to enable address sanitizers
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-17 11:43:55 +00:00
Nicolas Fella
2ad03d96ac Remove redundant CMake code
The same is done somewhere below

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-15 14:13:36 +00:00
Felix Weilbach
f3eed2ad1e Add feature summary to CMake
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-14 09:51:31 +02:00
Nicolas Fella
3bc66bea66 Improve Inotify cmake code
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>
2021-04-13 06:36:14 +00:00
Nicolas Fella
b34a901838 Use FindPkgConfig to find libcloudproviders and related libs
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>
2021-04-12 10:00:08 +00:00
Felix Weilbach
db0f1e245d Remove NO_SHIBBOLETH flag and dead code
Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2021-01-05 12:58:58 +01:00
Hannah von Reth
3a3ccb0834
Don't hardcode PLUGINDIR 2020-12-15 10:59:06 +01:00
Dominik Schmidt
3288a36da6
Add GUI testing SocketApi extension 2020-12-15 10:58:56 +01:00
Markus Goetz
32c60c2f5d
macOS: Fix vfs suffix plugin paths #7090 2020-12-15 10:58:44 +01:00
Christian Kamm
cc840534c0
Add PLUGINDIR cmake setting and define #7027
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.
2020-12-15 10:58:43 +01:00
Dominik Schmidt
539cef345e
Switch to standard opt-out BUILD_TESTING instead of opt-in UNIT_TESTING
Compare https://cmake.org/cmake/help/v3.0/module/CTest.html
Craft automatically handles BUILD_TESTING, so we don't need to handle it
in our own blueprint.
2020-12-15 10:58:36 +01:00
Dominik Schmidt
bd22caa5ec
Remove unused include directories 2020-12-15 10:58:24 +01:00
Christian Kamm
2b20985875
winvfs: initial work
Done by ckamm and dschmidt
2020-12-15 10:58:21 +01:00
Gerhard Gappmeier
6aead6425e
Add CMake option to disable GUI build 2020-12-15 10:58:18 +01:00
Olivier Goffart
ac24cdbde6
New Discovery Algo: Permsission check 2020-12-15 10:58:01 +01:00
Dominik Schmidt
07f331717f
Rename ocsync library to ${APPLICATION_EXECUTABLE}_csync 2020-12-15 10:57:56 +01:00
Christian Kamm
aa6f5f59c4
Rename Placeholders to Virtual Files in code #6531 2020-12-15 10:57:53 +01:00
Christian Kamm
6347aeeed2
CMake: Add a default placeholder_suffix
To make themes work that don't define it explicitly.
2020-12-15 10:57:51 +01:00
Christian Kamm
7dc65b060d
NSIS: Register placeholder extension
Also change the placeholder suffix config option to not include the dot,
the dotless form is needed in the nsis script.
2020-12-15 10:57:50 +01:00
Olivier Goffart
91f53521ae
Placeholder: The extension is now a branding option 2020-12-15 10:57:49 +01:00
Stephan Beyer
00574ef8b4 Make sanitizer options more fine-grained
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>
2020-05-19 10:57:02 +02:00
Michael Schuster
e833e86da6 Updater: Add CMake option BUILD_UPDATER to make the updater optional
- 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>
2020-03-09 02:34:55 +01:00
asapelkin
704e34fa99 enabled address sanitizing for tests
Signed-off-by: asapelkin <asapelkin0x01@ya.ru>
2019-10-22 01:13:59 +03:00
Dominique Fuchs
ba74c24d8f Added cmake preprocessor definitions when using msvc regarding the 'safe' versions of CRT functions
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 14:47:35 +02:00
Dominique Fuchs
78543deee4 Updated WINVER/_WIN32_WINNT from 0x0600 to 0x0601 (e.g. Server 2008/Vista to 7) as 7 is reasonable and noted everywhere as requirement
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 20:55:49 +02:00
Ronny Kunze
2b825a1748 rearange CMake find_package OpenSSL
the command seems to be malformed . The keyword VERSION is not valid .
And the version should follow direct after the packagename.
2018-08-04 16:53:06 +02:00
Roeland Jago Douma
c1bebd1253
We require openssl 1.1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-26 16:37:44 +02:00
Olivier Goffart
b0f539fc1f
cmake: Remove references of now unused WITH_TESTING
Issue #6318
2018-05-16 13:00:17 +02:00
Tomaz Canabrava
d24a1e542e Merge branch 'master' into clientSideEncryptionV3 2018-01-29 14:06:12 +01:00