Warning, /graphics/digikam/project/bundles/vcpkg/README.md is written in an unsupported language. File is not indexed.
0001 Scripts to install compiled digiKam dependencies with MSVC under Windows 0002 ======================================================================== 0003 0004 * RESUME 0005 0006 These scripts build a binary digiKam installer for Windows under Windows using VCPKG, MSVC tool-chain, 0007 and NSIS application. 0008 0009 These scripts follow instructions from Qt bundle deployment for Windows as shared libraries 0010 available at this url: https://doc.qt.io/qt-6/windows-deployment.html 0011 0012 * AUTHORS 0013 0014 (c) Gilles Caulier <caulier dot gilles at gmail dot com> 0015 0016 * DESCRIPTION 0017 0018 These files and scripts are used to make binary installer of the digiKam 0019 Software Collection for Windows 64 bits. In addition to this README, 0020 there are comments in the scripts that provide some additional explanations for 0021 how they work. 0022 0023 * BUNDLE CONTENTS 0024 0025 Note: the bundle is relocatable and compatible with Windows 10 and later. 0026 0027 ``` 0028 | Executable, shared dlls, KDE plugins dlls, qt.conf 0029 |--- data 0030 | |--- audio Marble data files 0031 | |--- bitmaps Marble data files 0032 | |--- digikam digiKam data files 0033 | |--- flags Marble data files 0034 | |--- kconf_update Really need ? 0035 | |--- kf6 Really need ? 0036 | | |--- kauth 0037 | | |--- kcharselect 0038 | |--- knotifications6 Really need ? 0039 | |--- kstyle Breeze theme definitions 0040 | |--- kxmlgui5 KDE xml gui description files 0041 | | |--- digikam 0042 | | |--- showfoto 0043 | |--- lensfun Lensfun data files 0044 | |--- licenses License data files 0045 | |--- locale KDE GUI translations 0046 | |--- maps Marble data files 0047 | |--- mwdbii Marble data files 0048 | |--- naturalearth Marble data files 0049 | |--- placemarks Marble data files 0050 | |--- showfoto Showfoto data files 0051 | |--- solid Solid service descriptions 0052 | |--- stars Marble data files 0053 | |--- svg Marble data files 0054 | |-- weather Marble data files 0055 |--- etc 0056 | |-- xdg Really need ? 0057 | |-- ui 0058 |--- plugins Qt plugins, digiKam plugins, Marble plugins 0059 |--- share Really need ? 0060 | |-- mime FreeDesktop type-mime definitions. 0061 | |-- xdg Really need ? 0062 | |-- menus 0063 |-- translations Qt GUI translations 0064 ``` 0065 0066 * REQUIREMENTS 0067 0068 - VirtualBox 7.x + guest extension pack https://www.virtualbox.org/wiki/Downloads 0069 + Memory : 24 Gb Note: QtWebEngine requires a lots of memory with parallelized build 0070 + CPU : 8 Very important: do not assign more CPU to compile QtWebEngine, else required memory become huge. 0071 + Disk0 : VDI static NTFS 150 Gb C:/ SYSTEM VCPKG cache build target on $HOME/AppData/Local/vcpkg/archives 0072 + Disk1 : VDI static NTFS 250 Gb E:/ DATA for the build, download, install storage 0073 0074 - Windows 10 22H2 or later https://www.microsoft.com/en-us/software-download/windows10 0075 0076 - Git 2.42 or later https://git-scm.com/download/win 0077 + Git-bash console 0078 + Bundled OpenSSH 0079 + OpenSSH library 0080 + Checkout/Commit Unix EOL 0081 + MinTTY Terminal 0082 0083 - CMake 3.27 or later https://cmake.org/download/ 0084 + Install to default path 0085 + Add CMake path to current user Cmake needs to be installed outside Msys2 0086 0087 - NSIS 3.x https://nsis-dev.github.io/ 0088 0089 - IcoUtils 0.32 or later https://sourceforge.net/projects/unix-utils/files/icoutils/ 0090 + Uncompress the binary archive to C:/icoutils 0091 0092 - WinFlexBison 2.5 or later https://github.com/lexxmark/winflexbison/releases 0093 + Uncompress the binary archive to C:/bison 0094 0095 - RSync 3.2 or later for git-bash Tutorial: https://prasaz.medium.com/add-rsync-to-windows-git-bash-f42736bae1b3 0096 + Install Msys/RSync and deps packages MSys repo: https://repo.msys2.org/msys/x86_64/ 0097 + target: git-bash/usr install directory C:/Program Files/Git/usr/ 0098 0099 - Visual Studio 2022 https://learn.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2022 0100 + Desktop development with C++ 0101 + C++ core desktop features 0102 + MSVC v143 - VS2022 C++ x64/x86 0103 + Windows 11 SDK >= 10.0.22621.0 0104 + Just in time debugger (optional) 0105 + C++ Cmake tools for windows 0106 + C++ ATL for latest v143 build tools 0107 + C++/CLI support for v143 0108 + C++ Clang tools for Windows (16.0.5) 0109 + C++ Profiling tools. For DumpBin tool. 0110 0111 - ImageMagick 7.1 or later https://imagemagick.org/script/download.php#windows 0112 + x64 Version with Q16 and HDR support Note: IM version compiled with MSVC 0113 + Install only C/C++ headers and libraries 0114 + Disable all others features Note: in 'Addition Tasks' step 0115 + Use default install path in C:/ 0116 0117 * BUILD 0118 0119 You must set the digiKam git tags to checkout right source code in installer. 0120 You must set the option to host debug symbols or not in installer. 0121 0122 Note: Look in config.sh file for settings details. 0123 0124 There are 4 scripts to be run by the user. 2 first ones installs 0125 VCPKG and all dependencies, next one digiKam, and last one makes a 0126 binary installer for Windows. 0127 0128 To start compilation use these scripts in a Git-bash terminal: 0129 0130 1) ./01-build-vcpkg.sh 0131 0132 To build and install the base of VCPKG tools-chain including Qt framework and all low level dependencies. 0133 0134 NOTE: due to long path problems while compiling under Windows and MSVC, VCPKG working directories must adjusted as shortest as possible: 0135 VCPKG_DIR=C:/vcpkg/ 0136 INSTALL_DIR=E:/dk/ 0137 DOWNLOAD_DIR=E:/d/ 0138 BUILDING_DIR=E:/b/ 0139 0140 See the config.sh for details. Directories will be created automatically. 0141 0142 2) ./02-build-extralibs.sh 0143 0144 To Build and install the KDE framework components. 0145 0146 3) ./03-build-digikam.sh 0147 0148 To build and install digiKam and 3rd party plugins. 0149 0150 4) ./04-build-installer.sh 0151 0152 To build the Windows installer. Once you've successfully built digiKam, files to bundle may contain over 4GB of files. 0153 This script grabs the ~300MB needed to run digiKam and Showfoto. 0154 These include applications translations. 0155 0156 This script creates Windows application links for the programs that will 0157 be run by the user (digiKam and Showfoto). It use makensis CLI tool from NSIS 0158 application dedicated to build Windows installer. 0159 The version >= 3 is required to be compatible with Windows 10. 0160 0161 Depending of configuration done in config.sh, this script is able to upload automatically 0162 the bundle file on files.kde.org digiKam area through ssh. A valid ssh key configured 0163 with remote KDE server need to be set previously with the account. You can load ssh key 0164 at startup following instruction give at this url: 0165 0166 https://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically-without-password-prompt 0167 0168 Note: the bundle can be signed with GPG. You must setup your private and public keys before 0169 and put your passphare to a text file (~/.gnupg/dkorg-gpg-pwd.txt) 0170 0171 * EXTRA SCRIPTS 0172 0173 makeall.sh 0174 0175 This script allows to build whole 64 bits installers from scratch. 0176 0177 update.sh 0178 0179 This script re-build only digiKam and installers 64 bits. 0180 0181 * SSH CONFIGURATION 0182 0183 Git-bash include openssh for windows which needs some tune to work properly with the remote KDE servers: 0184 0185 - To register the git credential with your RSA key stored in C:/Users/${USER}/.ssh, 0186 create a C:/Users/${USER}/.bash_profile with this code: 0187 0188 ``` 0189 eval `ssh-agent` 0190 0191 added_keys=`ssh-add -l` 0192 echo "Registered ssh keys: $added_keys" 0193 0194 if [ ! $(echo $added_keys | grep -o -e "$HOME/.ssh/id_rsa") ] ; then 0195 ssh-add "$HOME/.ssh/id_rsa" & 0196 fi 0197 ``` 0198 Git password will be ask once when the git-bash terminal session will be open. 0199 0200 - To prevent unexpected disconnections from the remote server, 0201 create a C:/Users/{USER}/.ssh/ssh_config with this settings: 0202 0203 ``` 0204 Host * 0205 ServerAliveInterval 20 0206 TCPKeepAlive no 0207 ``` 0208 0209 * LICENSES 0210 0211 The scripts and other contents of this package are licensed 0212 under the GNU General Public License version 2, or any later version.