target names used to be variable depending on branding
now the target names are always constant but generated output file names
are set according to active branding
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
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>
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>
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>
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>
These changes are necessary because of changing the compilation
process for the gui from a single executable to static lib +
executable in commit 0521dce174.
Otherwise the version and icon information will be lost.
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
Compiling nextcoud gui as a separate library. This is needed to more
easily write tests. The whole nextcloud application can now be linked
against the tests.
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
Installing to lib/${APPLICATION_EXECUTABLE} has caused a bunch of
irritations in the past and subtle annoying to fix bugs. To avoid name
clashes with branded clients ${APPLICATION_EXECUTABLE} becomes now
part of the filename instead of the subfolder.
The concrete motivation to change this now is that on Windows there
is no RPATH and it's not possible to run owncloud directly from the
Craft Root folder, which is nice when you're developing on Windows.
It would have been possible to change this just for Windows but as
written earlier this has caused lots of issues and thus I think it's
a good idea to just stay consistent accross platforms when touching it.
QtKeychain provides Qt5KeychainConfig.cmake and friends nowadays, so no
need to have a less reliable and outdated find module on our end.
Also this shows that we were including keychain.h in the wrong way and
were not using the link target, so both got fixed as well.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
The socket api move and delete commands are not strictly about conflicts
since they also deal with files which couldn't be uploaded for some
other reason. Still the new ConflictSolver could be used in those cases.
This opens the door at reusing that logic in other places.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>