Skip to content

๐Ÿ— Build scripts for the desktop client

Notifications You must be signed in to change notification settings

hejuting/client-building

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

How to build the desktop client on Windows

General

Install list

CMake options

For the desktop client (Release/Debug):

cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_INSTALL_PREFIX=..\..\install -DCMAKE_BUILD_TYPE=Release

For qtkeychain:

cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_INSTALL_PREFIX=c:\qt5keychain

And then (Release/Debug):

cmake --build . --config Release --target install

DLL's

Missing dll's and files even after running windeployqt

  • Qt5CoreD.dll (C:\Qt\Qt5.11.1\msvc2017_64\bin)
  • MSVCP140D.dll (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\debug_nonredist\x64\Microsoft.VC141.DebugCRT)
  • VCRUNTIME140D.dll (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\debug_nonredist\x64\Microsoft.VC141.DebugCRT)
  • ocsync.dll (nc install path/bin/nextcloud)
  • libcrypto-1_1-x86.dll (C:\OpenSSL-Win64\bin)
  • ucrtbased.dll (C:\Windows/System32)
  • C:\qt5keychain\bin\qt5keychain.dll needs to be copied to C:\Qt\5.11.1\msvc2017_64\bin
  • MSVCR120.dll (C:\OpenSSL-Win64\bin)
  • sync-exclude.lst (C:\Users\IEUser\Desktop\nc\install\config\Nextcloud)
  • had to fetch the extra dll's from https://indy.fulgan.com/SSL/openssl-1.0.1h-x64_86-win64.zip (libeay32.dll and ssleay32.dll)

NSIS

NSIS plugins to install

To upload builds

Git submodules

  • shell_integration

SSH Agent

We are floowing this instruction:

Host download.nextcloud.com
  ForwardAgent yes

Task Scheduler

  • We are using it to schedule the build - the task is exported to the xml DailyBuilds_v01.xml.

ENV VARS TO SET

  • OPENSSL_PATH (openssl path installation)
  • P12_KEY_PASSWORD (certificate key password used to sign the installer)
  • PROJECT_PATH (nextcloud source code path)
  • QT_PATH (qt installation path)
  • SFTP_SERVER (server url)
  • SFTP_USER (server user)
  • VCINSTALLDIR (Visual Code installation path)
  • Png2ico_EXECUTABLE (png2ico installation path)
  • QTKEYCHAIN_LIBRARY (path-to-qt5keychain-folder/lib/qt5keychain.lib)
  • QTKEYCHAIN_INCLUDE_DIR (path-to-qt5keychain-folder/include/qt5keychain)
  • OPENSSL_ROOT_DIR (path-to-openssl-folder)
  • OPENSSL_INCLUDE_DIR (path-to-openssl-folder/include)
  • OPENSSL_LIBRARIES (path-to-openssl-folder/lib)

To create the installer

Run:

./build.bat 

build.bat will call nextcloud.nsi that in the end will call upload.bat after signing the installer.

About

๐Ÿ— Build scripts for the desktop client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • NSIS 81.4%
  • Shell 9.3%
  • Batchfile 9.3%