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.