Giter Club home page Giter Club logo

client-building's Introduction

How to build the Nextcloud desktop client on Windows

This allows you to easily build the desktop client for 64-bit and 32-bit Windows.

ℹ️ It assumes you have installed the dependencies as explained in nextcloud/desktop-client-blueprints/README.

💻 Included and fully automated

  • Build client for 64-bit and 32-bit Windows (+ installer package containing both)
  • Code Signing of the client binaries (exe + dll's), the installer and the uninstaller
  • Uploading the generated installer package via SSH connection (scp)
  • Script file to be invoked by the Windows Task Scheduler for automatic builds (e.g.: daily)

💙 Motivation

  • Everybody should be able to build the Windows client, the build scripts and guide here should help to make this a pain-free experience.
  • It's designed to be a drop-in replacement for the existing build scripts, used to create the official Nextcloud releases.

📕 System requirements

  • Windows 10 / 8 / 7, 64-bit (bare metal or virtual machine, Win 10 + Win 7 successfully tested)
  • All the tools from the Install list below
  • Internet connection for each build
  • At least 10 GB disk space for the build files and more gigs for the required tools

❓ Optional

  • Code Signing certificate, if you intend to sign the binaries (you may use a self-generated one for testing)
  • SSH server and credentials for the upload to work

☕ General

📝 Install list

To build MSI installers:

⚠️ NSIS is not required anymore since we use MSI, without NSIS set: BUILD_INSTALLER=0

To upload builds

❕ Don't forget to manually connect via ssh for the first time in order to trust the host key!

Build the client: Initial setup

This has to be done ONLY ONCE to create the build folder structure and fetch the required repos (qtkeychain, zlib and Nextcloud's desktop):

  1. Open Git Bash:
cd /c/Nextcloud
git clone https://github.com/nextcloud/client-building.git client-building
  1. Take a look at this file and adapt the environment variables to your needs. You may also define them in the Windows Environment Variables settings, if you don't want modify the file directly:
  • C:\Nextcloud\client-building\defaults.inc.bat
  1. Again in Git Bash:
cd client-building
./init.bat
  1. Recommended: Do a test run to check for all the required environment variables:
TEST_RUN=1 ./build.bat

⚠️ This only tests for the existence of all variables, no other file or folder checks will be perfomed.

💥 If the real build fails the scripts will stop and return an error code which is pretty helpful for automated builds. It appears for example in the Task Scheduler.

Build the client: Perform the actual build

When the initial setup is done, only the following needs to be done if you want to build the client at any time later:

  • In Git Bash again:

    ./build.bat
    
    • OR instead, if you want the output in a log file:
    ./task-build-log.bat
    
  • By default the commands above will build Release for 64-bit and 32-bit.

Specifying build types (Release, Debug)

  • ℹ️ Examples:

    ./build.bat Release
    
    ./task-build-log.bat Debug
    
  • To build Release, collect all files but build no installer, don't sign and don't upload:

    BUILD_INSTALLER=0 USE_CODE_SIGNING=0 UPLOAD_BUILD=0 ./build.bat Release
    

📎 Build scripts list

ℹ️ They need to be run in the correct order above and all the previous scripts should have succeeded. The parameter syntax is the same as for build.bat.

ℹ️ These scripts contain a loop which invoke their single-build-*.bat helpers and they also set the required environment variables you normally would have to specify manually. Exception: build-installer-exe.bat doesn't need a loop since it builds a combined installer package, so there is no single-build-installer-exe.bat. Of course you could do this, e.g. calling syntax to only build for 32-bit would be:

./single-build-desktop.bat Release Win32

Upon every new invocation the build scripts fetch the newest version of their repo.

How the scripts work

👀 Take a look at the scripts if you want to know how they work, which resources they collect and the CMake options and generators they use.

  • init.bat

    • clones the GitHub repos and creates required directories
  • defaults.inc.bat

    • sets all required variables if not already present in the environment
  • common.inc.bat

    • determines the build type (Release or Debug) and sets the CMake generator
  • datetime.inc.bat + datetime.inc.callee

    • provide a locale-independent way to get a unified build date instead of using %DATE%
  • build-installer-collect.bat

    • collects all required libraries and resources the client needs at runtime (Qt, Qt Keychain, zlib, OpenSSL, VC Redist, etc.)
  • task-build-log.bat

    • is intended to by used in conjunction with the Windows Task Scheduler but may also be run manually instead of build.bat, which shows all the output in the console window only
  • task-build-job.sh

    • is the actual script to be specified in the Windows Task Scheduler to be run by Git Bash
  • sign.bat

    • used for signing the binaries, the installer and the uninstaller
  • upload.bat

    • used for uploading the installer package to a server (using scp)

✒️ Which binaries get signed?

  • The following binaries get signed by build-installer-collect.bat as we're responsible for them or they're critical for security and privacy:
    • all the binaries we produce:
      • nextcloud/ocsync.dll
      • shellext/NCContextMenu.dll
      • shellext/NCOverlays.dll
      • nextcloud.exe
      • nextcloudcmd.exe
      • nextcloudsync.dll
      • ocsync.dll
      • OCUtil.dll
      • qt5keychain.dll
      • zlib.dll
    • the pre-compiled OpenSSL binaries (since they are not signed but integrity is crucial)
      • libcrypto*.dll
      • libssl*.dll
    • we don't sign Qt, as of version 5.12.4 binaries are now signed by the Qt team
    • VC Runtime DLL's are already signed by Microsoft

License

Copyright (c) 2019 Michael Schuster
Parts based on work at: https://github.com/nextcloud/client-building/tree/6b2d7d34f7d79ccb7fcbc6b285da1f6f8f2bbfc8

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

client-building's People

Contributors

allexzander avatar dogwolf avatar dominiquefuchs avatar fredericlespez avatar janl1 avatar mgallien avatar misch7 avatar rullzer avatar tobiaskaminsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

client-building's Issues

Help

"Has anyone successfully compiled this code on Windows? I could use some help."

Docker build

Is there any possibility to build NC desktop for windows / linux / mac automatically with docker?
I found admin/win/docker in nc desktop repo, but this outdated, right?

"*** Build FAILED: desktop Release Win64 (single-build-desktop.bat)"

Hi guys, I'm struggling to build the client on my win10 x64 machine. The build fails without a clear indication of what went wrong.

Here are the last line of the logs before it fails:
hydrationjob.cpp vfs_cfapi.cpp mocs_compilation_Release.cpp Generating Code... Creating library C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/Release/nextcloudsync_vfs_cfapi.lib and object C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/Release/nextcloudsync_vfs_cfapi.exp nextcloudsync_vfs_cfapi.vcxproj -> C:\Nextcloud\client-building\desktop\build\bin\Release\nextcloudsync_vfs_cfapi.dll Automatic MOC for target nextcloudsync_vfs_suffix Building Custom Rule C:/Nextcloud/client-building/desktop/src/libsync/vfs/suffix/CMakeLists.txt vfs_suffix.cpp mocs_compilation_Release.cpp Generating Code... Creating library C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/suffix/Release/nextcloudsync_vfs_suffix.lib and object C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/suffix/Release/nextcloudsync_vfs_suffix.exp nextcloudsync_vfs_suffix.vcxproj -> C:\Nextcloud\client-building\desktop\build\bin\Release\nextcloudsync_vfs_suffix.dll "*** Build FAILED: desktop Release Win64 (single-build-desktop.bat)" "***** Build FAILED (build.bat)"
I have installed QT5 v5.12.9, OpenSSL, GnuWin32, qtkeychain along with other required dependencies highlighted by previous failed builds.

Here are the environment variables I've added to path:
C:\OpenSSL\Win64\bin; C:\Program Files (x86)\GnuWin32\bin; C:\Program Files (x86)\GnuWin32\lib; C:\Qt\5.12.9\msvc2017_64\bin; C:\Qt\5.12.9\msvc2017_64\lib;
Environment variables:
CMAKE_MAKE_PROGRAM=C:\Qt\5.12.9\msvc2017_64\lib OPENSSL_CONF=C:\OpenSSL\Win64\bin\openssl.cfg QT_INSTALL_PREFIX=C:\Qt\5.12.9 QT_PATH=C:\Qt\5.12.9 QTDIR=C:\Qt\5.12.9
Any help or clarification would be much appreciated.

Issue in CMake Error at cmake/modules/ECMAddAppIcon.cmake:113

Hi, I'm trying to run the client-building for NC, but got the following error. May I know why and how do I solve it?
Many thanks.

Input:

In Git-Bash:  ../c/Nextcloud/client-building (master)
$ BUILD_INSTALLER=0 USE_CODE_SIGNING=0 UPLOAD_BUILD=0 ./task-build-log.bat

Output:

..
CMake Error at cmake/modules/ECMAddAppIcon.cmake:113 (message):
  No ICONS argument given to ecm_add_app_icon
Call Stack (most recent call first):
  src/gui/CMakeLists.txt:362 (ecm_add_app_icon)
..

...

-- Configuring incomplete, errors occurred!
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeOutput.log".
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeError.log".
"*** Build FAILED: desktop Release Win64 (single-build-desktop.bat)"
"***** Build FAILED (build.bat)"
--- END: C:\Nextcloud\client-building\task-build-log.bat - 2021-12-28 09:22:38 ---

Full build-log in: https://github.com/AkhmalFirdaus/CMake-Error-when-running-png2ico/blob/main/last-build-2021-12-28-09-18-22-Release.log

All help are highly appreciated. 🙏
Thanks!

Where is the p12 key?

Im Missing environment variable: P12_KEY_PASSWORD. But can anyone tell me what this is and how to find it

"*** Build: installer-collect (single-build-installer-collect.bat)" "* APP_NAME=Nextcloud" "* APP_NAME_SANITIZED=Nextcloud" "* USE_BRANDING=0" "* BUILD_TYPE=Release" "* BUILD_ARCH=Win64" "* PROJECT_PATH=c:/Nextcloud/client-building" "* WIN_GIT_PATH=C:\Program Files\Git" "* VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC" "* OPENSSL_ROOT_DIR=c:/OpenSSL/Win64" "* ZLIB_PATH=c:/Nextcloud/client-building/libs/Release/zlib/Win64" "* EXTRA_DEPLOY_PATH=c:/Nextcloud/client-building/deploy-extra/Release/Win64" "* DLL_SUFFIX=" "* MY_REPO=c:/Nextcloud/client-building/desktop" "* MY_BUILD_PATH=c:/Nextcloud/client-building/desktop/build" "* MY_INSTALL_PATH=c:/Nextcloud/client-building/install/Release/Win64" "* MY_QT_DEPLOYMENT_PATH=c:/Nextcloud/client-building/install/Release/Win64/qt-libs" "* MY_COLLECT_PATH=c:/Nextcloud/client-building/collect/Release/Win64" "* PATH=c:/Qt/5.12.5/msvc2017_64/bin;c:/Nextcloud/tools/cmake/bin;c:/Nextcloud/tools;C:/Program Files (x86)/NSIS;c:/Nextcloud/tools/cmake/bin;c:/Nextcloud/tools;C:/Program Files (x86)/NSIS;C:\Users\User\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\User\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\dotnet;C:\Program Files\MicroStrategy\Desktop\DataServices\180_192\64-bit\bin\server;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Users\User\AppData\Local\Programs\Python\Python38\Scripts;C:\OpenSSL\Win64\bin;C:\Program Files\Git\cmd;C:\Qt;C:\CMake\bin;C:\zlib\bin;C:\zlib\lib;C:\zlib\include;C:\qtkeychain-master;C:\Users\User\AppData\Local\Programs\Python\Python37\Scripts;C:\Users\User\AppData\Local\Programs\Python\Python37;C:\Users\User\AppData\Local\Microsoft\WindowsApps;C:\Program Files\CMake\bin;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl" "* USE_CODE_SIGNING=1" **"Missing environment variable: P12_KEY_PASSWORD"** "*** Build FAILED: installer-collect Release Win64 (single-build-installer-collect.bat)" "***** Build FAILED (build.bat)"

MSI doesn't build when application-name has space

Error information: "Error: SignerSign() failed." (-2146869243/0x80096005)
SignTool Error: An unexpected internal error has occurred.
"*** Sign FAILED for file: C:.../Temp/2/windows-4275/client-building/collect/Release/Win32/shellext/NCContextMenu.dll"
"*** Build FAILED: installer-collect Release Win32 (single-build-installer-collect.bat)"

Exception handling:
Error happened:

Exception: Exception
Message: build-installer-collect.bat failed. Please see log above
Code: 0
Trace: #0 C:...\brander\src\Brander\Worker\JobHandler.php(143): Brander\Worker\Desktop25WindowsJobHandler->build(Array)
#1 C:...\brander\worker\desktop-25-windows.php(30): Brander\Worker\JobHandler->run()
#2 {main}
File: C:...\Documents\brander\src\Brander\Worker\Desktop25WindowsJobHandler.php
Line: 666
CLEANUP: Try to remove temporary directories.
CLEANUP: Temporary directories removed.

PHP Notice: Undefined variable: assetURL_x86 in C:...\brander\src\Brander\Worker\Desktop25WindowsJobHandler.php on line 762
PHP Notice: Undefined variable: uploadFileName_x86 in C:...\brander\src\Brander\Worker\Desktop25WindowsJobHandler.php on line 763
PHP Notice: Undefined variable: assetURL_x64 in C:...\brander\src\Brander\Worker\Desktop25WindowsJobHandler.php on line 764
PHP Notice: Undefined variable: uploadFileName_x64 in C:...\brander\src\Brander\Worker\Desktop25WindowsJobHandler.php on line 765
INFO: Finished {
"assetURL": null,
"fileName": null,
"assetURL-x64": null,
"fileName-x64": null,
"finishedAt": 1608130708,
"logs": "...truncated..."
}
Error while running job:

Exception: GuzzleHttp\Exception\ClientException
Message: Client error: POST https://portal.nextcloud.com/brander/job/4275/finish resulted in a 413 Request Entity Too Large response
Code: 413

Build script fails to build nextcloud client on Windows 10 - Qt 5.15.2

Hello Everyone,

It seems the current release is missing some important packages or it may lack some critical undocument steps.

Here is my enviroment versions:

  • Windows 10 64bit
  • Qt 5.15.2 both 32 and 64 bit
  • Visual Studio 2019 both 32 and 64 bit

Steps to resolve some errors:

  • Install doxygen-1.9.5 since it's is required by build.bat but undocument
  • WIX variable is required example fix "export WIX="C:\Nextcloud\tools\wix""
  • WiX headers are required and fixed by adding to C:\Nextcloud\client-buildingdesktop\CMakeLists.txt :
set(INCLUDE_DIR "C:/Nextcloud/tools/wix/sdk/inc")
include_directories (${INCLUDE_DIR})
  • Latest inkspace is required and fixed by installing `inkscape-1.2.1.msi'
  • The last required component is KDE archive F5Archive and error is :
CMake Error at src/gui/CMakeLists.txt:3 (find_package):
  Could not find a configuration file for package "KF5Archive" that is
  compatible with requested version "".

  The following configuration files were considered but not accepted:

    C:/CraftRoot/lib/cmake/KF5Archive/KF5ArchiveConfig.cmake, version: 5.98.0 (64bit)

-- Configuring incomplete, errors occurred!
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeOutput.log".
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeError.log".
"*** Build FAILED: desktop Release Win32 (single-build-desktop.bat)"

I tried to compile F5Archive from source and tried using Craft binaries. Both ways results to the same thing Could not find a configuration file for package "KF5Archive .

I compiled F5archive with the follwoing steps from Qt website:

Building extra-cmake-modules

  • Install CMake for windows (http://www.cmake.org/) and remember to put it on path enviroment variable
  • git clone https://github.com/KDE/extra-cmake-modules.git
  • In extra-cmake-modules, use (x64 Native Tools Command Prompt for VS 2019)
  • mkdir build && cd build
  • cmake .. -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=C:\kderoot; -DCMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64
  • nmake install

Building karchive

Any idea on how to fix karchive issue ?

Best

Main dialog in system tray does not open

I am building the app from master and using the new changes to the build added for KDE Craft. The app builds just fine and everything works, except the main dialog from tray does not open. Clicking on the icon or menu (Open main dialog) does nothing.

Tagging @mgallien here if you experience the same after using the changes you provided. Or am I missing something here?

Craft is installed in C:\CraftRoot and changed in common.inc.bat.

ocsync.dll signing problme

I have a problem:
log:
[vcvarsall.bat] Environment initialized for: 'x64'
"** Found signtool.exe: C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\signtool.exe"
"** Code signing begins:"
"*** Sign file: c:/Nextcloud/client-building/collect/Release/Win64/Nextcloud/ocsync.dll."
"* PROJECT_PATH=c:/Nextcloud/client-building"
"* SIGNTOOL=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\signtool.exe"
"* VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC"
"* APPLICATION_VENDOR=Nextcloud GmbH"
"* P12_KEY=c:/Nextcloud/client-building\key\Nextcloud GmbH.p12"
"* SIGN_FILE_DIGEST_ALG=sha256"
"* SIGN_TIMESTAMP_URL=http://tsa.swisssign.net"
"* SIGN_TIMESTAMP_DIGEST_ALG=sha256"
"* USE_CODE_SIGNING=1"
"* PATH=c:/Nextcloud/tools/cmake/bin;c:/Nextcloud/tools;C:/Program Files (x86)/NSIS;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\x64;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools;C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools;c:/Qt/5.12.5/msvc2017_64/bin;c:/Nextcloud/tools/cmake/bin;c:/Nextcloud/tools;C:/Program Files (x86)/NSIS;c:/Nextcloud/tools/cmake/bin;c:/Nextcloud/tools;C:/Program Files (x86)/NSIS;c:/Nextcloud/tools/cmake/bin;c:/Nextcloud/tools;C:/Program Files (x86)/NSIS;C:\Users\cgis\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\cgis\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\Git\cmd;C:\Users\cgis\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja"
"* Run signtool on file: c:/Nextcloud/client-building/collect/Release/Win64/Nextcloud/ocsync.dll."
Error information: "Error: Store IsDiskFile() failed." (-2147024893/0x80070003)
SignTool Error: An unexpected internal error has occurred.
"*** Sign FAILED for file: c:/Nextcloud/client-building/collect/Release/Win64/Nextcloud/ocsync.dll"
"*** Build FAILED: installer-collect Release Win64 (single-build-installer-collect.bat)"
"***** Build FAILED (build.bat)"
--- END: C:\nextcloud\client-building\task-build-log.bat - 2019-11-03 10:14:35 ---
can you help me?

Build error: ocsync.dll No such file or directory

I have installed all the required libs and applications for building the Windows desktop client.

While building using ./build.bat I get the following error:

"* copy ocsync.dll."
cp: cannot stat 'c:/Nextcloud/client-building/install/Release/Win64/bin/Nextcloud/ocsync.dll': No such file or directory
"*** Build FAILED: installer-collect Release Win64 (single-build-installer-collect.bat)"
"***** Build FAILED (build.bat)"

Also there is no ocsync.dll in the collect/Release/Win64 directory, which means something is missing OR I have missed something in the process.

Inkscape requirement is undocumented?

If Inkscape is not installed on the machine/VM running the build, the following error is displayed:

CMake Error at src/gui/CMakeLists.txt:246 (message):
  Could not find inkscape.  Set INKSCAPE_DIR to the path of executable.


-- Configuring incomplete, errors occurred!
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeOutput.log".
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeError.log".
"*** Build FAILED: desktop Release Win64 (single-build-desktop.bat)"
"***** Build FAILED (build.bat)"

Should this be documented? Is there a reason it isn't already?
I've built on two separate VMs and in both cases installing Inkscape to the system resolves the error and results in a successful build.

Error 1083 when compiling on Windows 10

Error:C:\Nextcloud\client-building\desktop\src\gui\accountsettings.cpp(20): fatal error C1083: 无法打开包括文件: “ui_accountsettings.h”: No such file or directory

--- START: C:\Nextcloud\client-building\task-build-log.bat - 2023-11-02 15:13:06 ---
"***** Build started. (build.bat)"
"* BUILD_TYPE=Release"
"* BUILD_TARGETS=Win64"
"***** build desktop."
"**** build desktop for Win64 (build-desktop.bat)."
"*** Build: desktop (single-build-desktop.bat)"
"* APP_NAME=Nextcloud"
"* USE_BRANDING=0"
"* BUILD_TYPE=Release"
"* BUILD_ARCH=Win64"
"* CMAKE_GENERATOR=Ninja"
"* CMAKE_EXTRA_FLAGS_DESKTOP="
"* PROJECT_PATH=c:/Nextcloud/client-building"
"* QT_PREFIX=C:\CraftRoot"
"* QT_PATH=C:\CraftRoot"
"* QT_BIN_PATH=C:\CraftRoot\bin"
"* VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"
"* Png2Ico_EXECUTABLE=c:/Nextcloud/tools/png2ico.exe"
"* Build date 20231102"
"* VERSION_SUFFIX daily-Win64"
"* TAG master"
"* PULL_DESKTOP 1"
"* CHECKOUT_DESKTOP 1"
"* BUILD_UPDATER OFF"
"* BUILD_INSTALLER_MSI 1"
"* MY_REPO=c:/Nextcloud/client-building/desktop"
"* MY_BUILD_PATH=c:/Nextcloud/client-building/desktop/build"
"* MY_INSTALL_PATH=c:/Nextcloud/client-building/install/Release/Win64"
"* MY_QT_DEPLOYMENT_PATH=c:/Nextcloud/client-building/install/Release/Win64/qt-libs"
"* PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\CraftRoot\bin;C:\CraftRoot\dev-utils\bin;C:\Users\tianyanjing\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\tianyanjing\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\IntelliCode\CLI;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\devinit;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Git\cmd;C:\Nextcloud\tools\cmake-3.26.5\bin;C;C:\Github\vcpkg;C:\Qt\5.15.2\msvc2019_64\bin;C:\Program Files\Python39;C:\OpenSSL\Win64\bin;C:\cygwin64\bin;C:\Users\tianyanjing\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl"


** Visual Studio 2019 Developer Command Prompt v16.11.29
** Copyright (c) 2021 Microsoft Corporation


[vcvarsall.bat] Environment initialized for: 'x64'
"* Remove old installation files c:/Nextcloud/client-building/install/Release/Win64 from previous build."
"* Remove old dependencies files c:/Nextcloud/client-building/install/Release/Win64/qt-libs from previous build."
"* Remove c:/Nextcloud/client-building/desktop/build/CMakeFiles from previous build."
"* Run cmake with CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE set at c:/Nextcloud/client-building/desktop/build."
-- The C compiler identification is MSVC 19.29.30151.0
-- The CXX compiler identification is MSVC 19.29.30151.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build of crashreporter disabled.
-- GIT_SHA1 570e9fafd8eb1b1381c5c280e3c8ed69b41e6ac9
Compiling without updater
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
-- Could NOT find PdfLatex (missing: PDFLATEX_EXECUTABLE)
-- Found OpenSSL: optimized;C:/CraftRoot/lib/libcrypto.lib;debug;C:/OpenSSL/Win64/lib/VC/libcrypto64MDd.lib (found suitable version "3.1.4", minimum required is "1.1")
-- Found ZLIB: C:/CraftRoot/lib/zlib.lib (found version "1.3.#define ZLIB_VERSION "1.3"")
-- Using Qt 5.15.10 (C:/CraftRoot/bin/qmake.exe)
-- Found SQLite3: C:/CraftRoot/lib/sqlite3.lib (Required is at least version "3.8.0")
-- Looking for argp.h
-- Looking for argp.h - not found
-- Looking for nanosleep in rt
-- Looking for nanosleep in rt - not found
-- Looking for argp_parse in argp
-- Looking for argp_parse in argp - not found
-- Looking for utimes
-- Looking for utimes - not found
-- Looking for lstat
-- Looking for lstat - not found
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
list of plugins suffix;cfapi;xattr
discovery suffix
C:/Nextcloud/client-building/desktop/src/libsync/vfs/suffix
C:/Nextcloud/client-building/desktop/src/libsync/vfs/suffix suffix
-- Added vfsPlugin without tests: suffix
discovery cfapi
C:/Nextcloud/client-building/desktop/src/libsync/vfs/cfapi
C:/Nextcloud/client-building/desktop/src/libsync/vfs/cfapi cfapi
-- Found Png2Ico: C:/Nextcloud/tools/png2ico.exe
CMake Warning (dev) at C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (Icotool)
does not match the name of the calling package (IcoTool). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindIcotool.cmake:44 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/modules/ECMAddAppIcon.cmake:205 (find_package)
src/libsync/vfs/cfapi/shellext/CMakeLists.txt:36 (ecm_add_app_icon)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Icotool: C:/CraftRoot/dev-utils/bin/icotool.exe (found version "0.32.3")
CMake Warning (dev) at C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (Icotool)
does not match the name of the calling package (IcoTool). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindIcotool.cmake:44 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/modules/ECMAddAppIcon.cmake:205 (find_package)
src/libsync/vfs/cfapi/shellext/CMakeLists.txt:40 (ecm_add_app_icon)
This warning is for project developers. Use -Wno-dev to suppress it.

CUSTOM_STATE_ICON_LOCKED_OUT: ;C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/shellext/0-locked.rc
CUSTOM_STATE_ICON_SHARED_OUT: ;C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/shellext/1-shared.rc
Setting WindowsSdkDir from ENV{WindowsSdkDir
WindowsSdkLatest has been set to: 10.0.19041.0
WindowsFoundationContractVersion has been set to: 4.0.0.0
WindowsStorageProviderCloudFilesContractVersion has been set to: 4.0.0.0
WindowsSdkDir has been set to: C:\Program Files (x86)\Windows Kits\10
WindowsSdkList has been set to: 10.0.14393.0;10.0.15063.0;10.0.16299.0;10.0.17134.0;10.0.18362.0;10.0.19041.0
WindowsSdkLatest has been set to: 10.0.19041.0
cppWinRtExe: C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\cppwinrt.exe
midlExe: C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\midl.exe
CUSTOM_STATE_ICON_LOCKED_OUT: ;C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/shellext/0-locked.rc
CUSTOM_STATE_ICON_SHARED_OUT: ;C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/shellext/1-shared.rc
Adding C:/Nextcloud/client-building/desktop/build/src/libsync/vfs/cfapi/shellext/CfApiShellExtensions.rc...
-- Added vfsPlugin without tests: cfapi
discovery xattr
C:/Nextcloud/client-building/desktop/src/libsync/vfs/xattr
C:/Nextcloud/client-building/desktop/src/libsync/vfs/xattr xattr
-- Added vfsPlugin without tests: xattr
Generating state icons from SVG in path: C:/Nextcloud/client-building/desktop/theme/colored/
Generating state icons from SVG in path: C:/Nextcloud/client-building/desktop/theme/black/
Generating state icons from SVG in path: C:/Nextcloud/client-building/desktop/theme/white/
CMake Warning (dev) at C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (Icotool)
does not match the name of the calling package (IcoTool). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindIcotool.cmake:44 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/modules/ECMAddAppIcon.cmake:205 (find_package)
src/gui/CMakeLists.txt:460 (ecm_add_app_icon)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (Icotool)
does not match the name of the calling package (IcoTool). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
C:/CraftRoot/dev-utils/cmake-base/share/cmake-3.23/Modules/FindIcotool.cmake:44 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/modules/ECMAddAppIcon.cmake:205 (find_package)
src/gui/CMakeLists.txt:487 (ecm_add_app_icon)
This warning is for project developers. Use -Wno-dev to suppress it.

APP_ICON is: ;C:/Nextcloud/client-building/desktop/build/src/gui/Nextcloud.rc
Merging C:/Nextcloud/client-building/desktop/build/src/gui/Nextcloud-win-folder.rc.in into ;C:/Nextcloud/client-building/desktop/build/src/gui/Nextcloud.rc.in
APPLICATION_FOLDER_ICON_INDEX is now set to: 1
-- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found version "1.9.8 (c2fe5c3e4986974eb2a97608b24086683502f07f)") found components: doxygen missing components: dot
-- WiX Toolset SDK path: C:\Program Files (x86)\WiX Toolset v3.11/SDK/VS2017
-- Found CMocka: C:/Github/vcpkg/packages/cmocka_x64-windows/lib/cmocka.lib
-- The following OPTIONAL packages have been found:

-- The following REQUIRED packages have been found:

  • OpenSSL (required version >= 1.1)
  • ZLIB
  • Qt5Concurrent (required version >= 5.15.0), Qt5 Concurrent component.
  • Qt5WebEngineWidgets (required version >= 5.15.0), Qt5 WebEngineWidgets component.
  • Qt5WebEngine (required version >= 5.15.0), Qt5 WebEngine component.
  • Qt5Keychain
  • SQLite3 (required version >= 3.8.0)
  • Qt5WebSockets
  • Qt5Widgets
  • Qt5Svg
  • Qt5QuickControls2
  • KF5Archive
  • Qt5Core, Qt5 Core component.
  • Qt5Test
  • Qt5Xml, Qt5 Xml component.
  • Qt5Network, Qt5 Network component.
  • Qt5Qml
  • Qt5QmlModels (required version >= 5.15.2)
  • Qt5Gui (required version >= 5.15.2)
  • Qt5Quick
  • Qt5

-- The following OPTIONAL packages have not been found:

  • Sphinx
  • PdfLatex

-- Configuring done
-- Generating done
-- Build files have been written to: C:/Nextcloud/client-building/desktop/build
"* Run cmake to compile and install."
[1/590] Creating generated files from customstateprovider.idl
Microsoft (R) 32b/64b MIDLRT Compiler Engine Version 10.00.0229
Copyright (c) Microsoft Corporation. All rights reserved.
64 bit MIDLRT Processing C:\Nextcloud\client-building\desktop\src\libsync\vfs\cfapi\shellext\customstateprovider.idl
customstateprovider.idl
64 bit MIDLRT Processing C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt\winrtbase.idl
winrtbase.idl
64 bit MIDLRT Processing C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt\midlbase.idl
midlbase.idl
Processing WinMD c:\program files (x86)\windows kits\10\references\10.0.19041.0\windows.foundation.foundationcontract\4.0.0.0\windows.foundation.foundationcontract.winmd
Processing WinMD c:\program files (x86)\windows kits\10\references\10.0.19041.0\windows.storage.provider.cloudfilescontract\4.0.0.0\windows.storage.provider.cloudfilescontract.winmd
tool: C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\cppwinrt.exe
ver: 2.0.190620.2

in: C:\Nextcloud\client-building\desktop\build\src\libsync\vfs\cfapi\shellext\Generated\CustomStateProvider.winmd

ref: C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0\Windows.winmd

out: C:\Nextcloud\client-building\desktop\build\src\libsync\vfs\cfapi\shellext\Generated\

cout: C:\Nextcloud\client-building\desktop\build\src\libsync\vfs\cfapi\shellext\Generated\

time: 77ms

[2/590] Automatic MOC for target nextcloud_csync
[3/590] Building CXX object admin\win\tools\NCMsiHelper\CMakeFiles\NCMsiHelper64.dir\LogResult.cpp.obj
............................

Building files with UAC and NsProcess Plugin

https://nsis.sourceforge.io/UAC_plug-in

Note:This plug-in is deprecated. It started out as a proof of concept in the early Vista days and should now be considered abandoned.

Building fails:

C:\Program Files (x86)\NSIS\Plugins\x86-ansi
Plugin not found, cannot call UAC::_
Error in macro UAC_AsUser_Call on macroline 10
Error in macro UAC_AsUser_ExecShell on macroline 11
Error in script "nextcloud.nsi" on line 290 -- aborting creation process
!makensis: returned 1, aborting
Error in script "C:\Nextcloud\client-building\/nextcloud.nsi" on line 105 -- aborting creation process
"**** Build FAILED: installer-exe Release (build-installer-exe.bat)"

NSIS Version: 3.05

Zlib library not found

When I try to build the client on Windows I get the following linking error:

LINK : fatal error LNK1181: Eingabedatei "<path to zlib>\lib.obj" kann nicht geöffnet werden. [<path to client source>\build\src\csync\ocsync.vcxproj]

The pathes are correct and I used the zlib you linked in the description (64 bit release). Why is it searching for 'lib.obj'? There are .lib files in the lib folder of zlib but I cant find a .obj file.

build fails due to png2ico

While trying to follow the build instructions I get the following:
I am using Qt 5.11.1 64-bit for Desktop (MSVC 2017) shell

  C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/256-Nextcloud-icon.png: Width must be multiple of 8 and <256. Height must be <256.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 1. [C:\XXXXX\nextcloud\desktop-2.5\desktop\build\src\gui\nex
tcloud.vcxproj]
Done Building Project "C:\XXXXX\nextcloud\desktop-2.5\desktop\build\src\gui\nextcloud.vcxproj" (default targets) -- FAILED.

Project "C:\XXXXX\nextcloud\desktop-2.5\desktop\build\ALL_BUILD.vcxproj" (1) is building "C:\XXXXX\nextcloud\desktop-2.5\desktop\build\src\cmd\nextcloudcmd.vcxproj" (10) on node 1 (default targets).
InitializeBuildStatus:
  Creating "nextcloudcmd.dir\Release\nextcloudcmd.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.

It seems to execute:

C:\tools\png2ico.exe C:/XXXXX/nextcloud/desktop-2.5/desktop/build/src/gui/Nextcloud.ico C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/16-Nextcloud-icon.png C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/32-Nextcloud-icon.png C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/48-Nextcloud-icon.png C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/64-Nextcloud-icon.png C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/128-Nextcloud-icon.png C:/XXXXX/nextcloud/desktop-2.5/desktop/theme/colored/256-Nextcloud-icon.png

how can I fix this or proceed the build?

64 bit build error

when I run ./build.bat, I get this error on reaching single-build-desktop.bat.
Please help me. I have installed Qt 5.12.3 msvc2017 & msvc2017_64
clientBuildingerror

Building a specific branch of nextcloud/desktop

Hi

Thanks a lot for the very helpful repo! I've managed to build and brand the 'master' branch of nextcloud/desktop.
What is the recommended way to build a stable version of it (e.g. stable-3.2)?

Is this used somewhere?
if "%TAG_DESKTOP%" == "" set TAG_DESKTOP=v3.2.2

TIA

Extract the OpenSSL Pre-compiled

they can tell me what are the files that I must move

Extract the OpenSSL Pre-compiled Win32/64 libraries to the newly created directories:

Generating Nextcloud.ico error

I have problem in ./build-desktop.bat
The error is as shown below

Generating client_tr.qm
Updating 'C:/Nextcloud/client-building/desktop/build/src/gui/client_tr.qm'...
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Generated 769 translation(s) (769 finished and 0 unfinished)
Generating client_uk.qm
Updating 'C:/Nextcloud/client-building/desktop/build/src/gui/client_uk.qm'...
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Generated 748 translation(s) (748 finished and 0 unfinished)
Ignored 21 untranslated source text(s)
Generating client_zh_CN.qm
Updating 'C:/Nextcloud/client-building/desktop/build/src/gui/client_zh_CN.qm'...
Generated 769 translation(s) (769 finished and 0 unfinished)
Generating client_zh_TW.qm
Updating 'C:/Nextcloud/client-building/desktop/build/src/gui/client_zh_TW.qm'...
Generated 769 translation(s) (769 finished and 0 unfinished)
Generating Nextcloud.ico
'C:\Nextcloud\client-building\desktop\src\gui\convert.exe' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 1. [C:\Nextcloud\client-building\desktop\build\src\gui\nextcloud.vcxproj]
Automatic MOC for target nextcloudcmd
Building Custom Rule C:/Nextcloud/client-building/desktop/src/cmd/CMakeLists.txt
mocs_compilation.cpp
cmd.cpp
simplesslerrorhandler.cpp
netrcparser.cpp
Generating Code...
nextcloudcmd.vcxproj -> C:\Nextcloud\client-building\desktop\build\bin\Release\nextcloudcmd.exe
"*** Build FAILED: desktop Release Win64 (single-build-desktop.bat)"

Error copy my_app_name_csync.dll

Hello Michael! A few weeks ago I successfully generated my version by following your scripts and changing app_name to my name. Now the compilation gave an error and asked to update QT to version 5.15.2 and after that the dlls were not generated with my name. And now it stops with this cp error: cannot stat 'c:/Nextcloud/client-building/install/Release/Win64/bin/my_app_name_csync.dll': No such file or directory
Help!!!

stable-3.3 build error with code

it like this ,
C:\Nextcloud\client-building\desktop\src\libsync\theme.cpp(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj] C:\Nextcloud\client-building\desktop\src\libsync\theme.cpp(108,58): error C2001: 常量中有换行符 [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj] C:\Nextcloud\client-building\desktop\src\libsync\theme.cpp(109,9): error C2143: 语法错误: 缺少“)”(在“break”的前面) [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj] C:\Nextcloud\client-building\desktop\src\libsync\theme.cpp(109,9): error C2143: 语法错误: 缺少“;”(在“break”的前面) [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj] clientsideencryption.cpp C:\Nextcloud\client-building\desktop\src\libsync\clientsideencryption.cpp(298,42): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj] C:\Nextcloud\client-building\desktop\src\libsync\clientsideencryption.cpp(756,32): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj] C:\Nextcloud\client-building\desktop\src\libsync\clientsideencryption.cpp(807,32): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 [C:\Nextcloud\client-building\desktop\build\src\libsync\nextcloudsync.vcxproj]
my system info:
os: win7
vscode 2019
qt 5.12.11

Build on Mac

Hi,

Note: I haven't build it yet on Mac.

Can I use the osx/daily bash script to build on Mac?

What are other requirements beside the base ones like qt, qtkeychain, cmake etc?

Does Nextcloud CI use this script to build for Mac?

Any changes to the script required, same like Windows version build.bat etc?

Any other helpful tips for a successful build be appreciated too. :)

Thanks

build.bat failure at qtkeychain stage

Hello,
I follow build installations in the README of this repo inside the recommended virtual machine.

$ BUILD_INSTALLER=0 USE_CODE_SIGNING=0 UPLOAD_BUILD=0 ./build.bat Release

build stops at : win32 build of qtkeychain
error: cannot pull with rebase: You have unstaged changes. error: please commit or stash them. "*** Build FAILED: qtkeychain Release Win32 (single-build-qtkeychain.bat)" "***** Build FAILED (build.bat)"

and indeed i have unstaged things that end up in qtkeychain directory :

`IEUser@MSEDGEWIN10 MINGW64 /c/Nextcloud/client-building/qtkeychain (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: translations/qtkeychain_de.ts
modified: translations/qtkeychain_fr.ts
modified: translations/qtkeychain_ro.ts
modified: translations/qtkeychain_ru.ts
modified: translations/qtkeychain_zh.ts

Untracked files:
(use "git add ..." to include in what will be committed)
build/

no changes added to commit (use "git add" and/or "git commit -a")
`

These are put in place by the win64 build that happens before the win32 build

I had to use git config rebase.autostash true to work around the problem. I suggest that the script that builds the win64 clean properly behind itself before starting win32 build.

How to build the shell extensions (windows)

How should the shell extensions fro windows be built?

I opened the shell_integration\windows\OCShellExtensions.sln with Microsoft Visual Studio and 'build' it. Now I have some dll's in binary\shell_integration\windows\Release\Win32.
Is this the correct way?

Change to custom TTF font for NSIS installer instead of Default setting

Hey there, I recently tried to compile this installer script into my own Localization which seems to be okay so far, but the default display font is not really great at display the instruction on the installer. So I would like some kind of advice or solution on how can I suggest the NSIS script to use a custom TTF Font instead of the default one.

I have tried using the FontName plugin so far but it does seem to not compatible with the script, maybe because of the MUI2? I am not really sure myself. So is there any workaround or some solution that I can use for this situation?

Note: Not experienced in NSIS script or anything related to compiling Window Software. So any feedback or advice is appreciated, Thanks You.

build.bat cannot build Debug

How to reproduce :

  • get w10 Virtual machine as per the build instructions in README, MSVC 2019, all the build dependencies
  • make sure Release builds fine : BUILD_INSTALLER=0 USE_CODE_SIGNING=0 UPLOAD_BUILD=0 ./build.bat Release
  • run $ BUILD_INSTALLER=0 USE_CODE_SIGNING=0 UPLOAD_BUILD=0 ./build.bat Debug

outcome :

C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(2100): message : see declaration of '_scprintf' [C:\Nextcloud\client-building\qtkeychain\build\testclient.vcxproj]
  testclient.vcxproj -> C:\Nextcloud\client-building\qtkeychain\build\Debug\testclient.exe
  Building Custom Rule C:/Nextcloud/client-building/qtkeychain/CMakeLists.txt
  -- Install configuration: "Debug"
  -- Installing: C:/Qt/5.12.9/msvc2017_64/translations/qtkeychain_de.qm
  -- Installing: C:/Qt/5.12.9/msvc2017_64/translations/qtkeychain_fr.qm
  -- Installing: C:/Qt/5.12.9/msvc2017_64/translations/qtkeychain_ro.qm
  -- Installing: C:/Qt/5.12.9/msvc2017_64/translations/qtkeychain_ru.qm
  -- Installing: C:/Qt/5.12.9/msvc2017_64/translations/qtkeychain_zh.qm
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/include/qt5keychain/keychain.h
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/include/qt5keychain/qkeychain_export.h
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/lib/qt5keychaind.lib
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/bin/qt5keychaind.dll
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/mkspecs/modules/qt_Qt5Keychain.pri
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/lib/cmake/Qt5Keychain/Qt5KeychainLibraryDepends.cmake
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/lib/cmake/Qt5Keychain/Qt5KeychainLibraryDepends-debug.cmake
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/lib/cmake/Qt5Keychain/Qt5KeychainConfig.cmake
  -- Installing: C:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/lib/cmake/Qt5Keychain/Qt5KeychainConfigVersion.cmake
"* Copy qt5keychain.dll to c:/Qt/5.12.9/msvc2017_64/bin/ for windeployqt to find it."
/usr/bin/cp: cannot stat 'c:/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/bin/qt5keychain.dll': No such file or directory
"*** Build FAILED: qtkeychain Debug Win64 (single-build-qtkeychain.bat)"
"***** Build FAILED (build.bat)"

 /c/Nextcloud/client-building/libs/Debug/qtkeychain/Win64/bin (master)
$ ls
qt5keychaind.dll

File is not named properly and build script fails to copy it.

build.bat qtkeychain issue

I am trying to build the nextcloud client version 3.0.3 with the stable-3.0 branch of the client-building repository.
All the dependencies are in the exact same location specified in the readme.

I appreciate you help!

-- Could NOT find INOTIFY (missing: INOTIFY_INCLUDE_DIR INOTIFY_LIBRARY_DIR) 
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE) 
-- Could NOT find PdfLatex (missing: PDFLATEX_EXECUTABLE) 
-- Found OpenSSL: optimized;C:/OpenSSL/Win64/lib/VC/libcrypto64MD.lib;debug;C:/OpenSSL/Win64/lib/VC/libcrypto64MDd.lib (found suitable version "1.1.1d", minimum required is "1.1")  
-- Found ZLIB: c:/Nextcloud/client-building/libs/Release/zlib/Win64/lib/zlib.lib (found version "1.2.11") 
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Could NOT find GLib2 (missing: GLib2_LIBRARY GLib2_INCLUDE_DIR) 
================> LIBCLOUDPROVIDERS_LIBRARY-NOTFOUND
-- Could NOT find LIBCLOUDPROVIDERS (missing: LIBCLOUDPROVIDERS_INCLUDE_DIR LIBCLOUDPROVIDERS_LIBRARY) 
CMake Error at src/CMakeLists.txt:10 (find_package):
  By not providing "FindQt5Keychain.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Keychain", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Keychain" with
  any of the following names:

    Qt5KeychainConfig.cmake
    qt5keychain-config.cmake

  Add the installation prefix of "Qt5Keychain" to CMAKE_PREFIX_PATH or set
  "Qt5Keychain_DIR" to a directory containing one of the above files.  If
  "Qt5Keychain" provides a separate development package or SDK, be sure it
  has been installed.


-- Configuring incomplete, errors occurred!
See also "C:/Nextcloud/client-building/desktop/build/CMakeFiles/CMakeOutput.log".
"*** Build FAILED: desktop Release Win64 (single-build-desktop.bat)"
"***** Build FAILED (build.bat)"
--- END: C:\Nextcloud\client-building\task-build-log.bat - 2020-12-02 14:30:09 ---

The full build log is attached.
last-build-2020-12-02-14-28-57-Release.log

qtkeychain is built without libsecret support in Linux AppImage

qtkeychain is built without libsecret support.
So on systems using libsecret (Gnome for example), each time the appimage is started, it asked for a password.

I changed the script building the appimage (linux/build-appimage-daily.sh) by installing libsecret-1-dev before qtkeychain is built and upgrading qtkeychain to 0.9.1 (to have a better libsecret support). Now when qtkeychain is build, it autodetect libsecret:

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'libsecret-1'
--   Found libsecret-1, version 0.18.4

And it works : when the appimage is started, it fetches Nextcloud password in Gnome's keyring through libsecret.

I don't know if this building script is also used for the official appimage but it has the same bug. See nextcloud/desktop#427.

which openssl archives to use?

Which openssl archives from the given link need to be used? I tried openssl-1.0.2o-x64_86-win64.zip and openssl-1.0.2o-x64_86-win64_LinkLibs.zip but they do not contain any include file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.