### Install WiX Toolset and Extensions Source: https://github.com/pencil2d/pencil/blob/master/docs/installer-development.md Commands to install the WiX Toolset and its BootstrapperApplications and Util extensions globally using the dotnet CLI. ```bash dotnet tool install -g wix wix extension add -g Wix Toolset.Util.wixext Wix Toolset.BootstrapperApplications.wixext ``` -------------------------------- ### Ubuntu Qt Creator Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install Qt Creator on Ubuntu. ```bash sudo apt install qtcreator ``` -------------------------------- ### Ubuntu Qt 5 Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install Qt 5 development components on Ubuntu. ```bash sudo apt install qt5-default qtbase5-dev qtmultimedia5-dev qttools5-dev-tools libqt5svg5-dev ``` -------------------------------- ### Install WiX Utility Libraries Source: https://github.com/pencil2d/pencil/blob/master/docs/installer-development.md Command to install WiX utility libraries using the nuget CLI, specifying an output directory. ```bash nuget install -x -OutputDirectory path\to\util\installer Wix Toolset.WixStandardBootstrapperApplicationFunctionApi ``` -------------------------------- ### Ubuntu Make and Clang Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install GNU Make and Clang on Ubuntu. ```bash sudo apt install make clang ``` -------------------------------- ### Common Build Configurations Source: https://github.com/pencil2d/pencil/blob/master/docs/build-options.md Examples of common build configurations using QMake. ```bash qmake "CONFIG+=debug" ``` ```bash qmake "CONFIG+=release CONFIG+=PENCIL2D_NIGHTLY CONFIG+=GIT" ``` ```bash qmake "CONFIG+=release CONFIG+=PENCIL2D_RELEASE CONFIG+=GIT" ``` ```bash qmake "CONFIG+=release CONFIG+=PENCIL2D_RELEASE CONFIG+=WIN_LEGACY CONFIG+=NO_TESTS" ``` -------------------------------- ### Ubuntu Make and GCC Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install GNU Make and GCC on Ubuntu. ```bash sudo apt install make g++ ``` -------------------------------- ### Arch Linux Qt Creator Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install Qt Creator on Arch Linux. ```bash sudo pacman -S --needed qtcreator ``` -------------------------------- ### Project Setup Source: https://github.com/pencil2d/pencil/blob/master/CMakeLists.txt Sets the minimum CMake version, target architectures for macOS, and project details like name, version, description, and language. ```cmake cmake_minimum_required(VERSION 3.21...3.31) set(CMAKE_OSX_ARCHITECTURES x86_64;arm64) # Set project name and version project(Pencil2D VERSION 0.7.0 DESCRIPTION "Pencil2D Animation Software" LANGUAGES CXX ) ``` -------------------------------- ### Ubuntu Qt 6 Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install Qt 6 development components on Ubuntu 22.04 or later. ```bash sudo apt install qt6-base-dev qt6-l10n-tools qt6-multimedia-dev libqt6svg6-dev ``` -------------------------------- ### Arch Linux Qt 5 Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install Qt 5 development components on Arch Linux. ```bash sudo pacman -S --needed qt5-base qt5-multimedia qt5-svg qt5-tools gst-plugins-good ``` -------------------------------- ### Install Xcode command-line tools Source: https://github.com/pencil2d/pencil/blob/master/docs/build_mac.md Installs the necessary command-line developer tools for Xcode. ```bash xcode-select --install ``` -------------------------------- ### Install Qt Creator via Homebrew Source: https://github.com/pencil2d/pencil/blob/master/docs/build_mac.md Installs Qt Creator using the Homebrew package manager. ```bash brew tap homebrew/cask brew install --cask qt-creator ``` -------------------------------- ### Build the Bootstrapper Source: https://github.com/pencil2d/pencil/blob/master/docs/installer-development.md Command to build the Pencil2D bootstrapper executable using WiX. ```bash wix build -arch x64 -sw1133 -b path\to\util\installer -b DISTDIR -ext WixToolset.Util.wixext -ext WixToolset.BootstrapperApplications.wixext -d Edition=Release -d Version=X.X.X -out pencil2d-win64-X.X.X.exe path\to\util\installer\pencil2d.bundle.wxs ``` -------------------------------- ### Install Qt 5 framework via Homebrew Source: https://github.com/pencil2d/pencil/blob/master/docs/build_mac.md Installs the Qt 5 framework using the Homebrew package manager. ```bash brew install qt@5 ``` -------------------------------- ### Arch Linux Make and GCC Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install GNU Make and GCC on Arch Linux. ```bash sudo pacman -S --needed make gcc ``` -------------------------------- ### Arch Linux Make and Clang Installation Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Command to install GNU Make and Clang on Arch Linux. ```bash sudo pacman -S --needed make clang ``` -------------------------------- ### WiX Fragment for windeployqt Source: https://github.com/pencil2d/pencil/blob/master/docs/installer-development.md XML structure for a WiX fragment to include files deployed by windeployqt. ```xml ``` -------------------------------- ### Exported SVG Example Source: https://github.com/pencil2d/pencil/wiki/Icon-design-guideline An example of an SVG file generated after optimizing for display. ```xml                                                     ``` -------------------------------- ### SVG Icon Example Source: https://github.com/pencil2d/pencil/wiki/Icon-design-guideline An example of SVG code for an icon, suitable for export. ```svg ``` -------------------------------- ### Build with QMake/GNU Make Source: https://github.com/pencil2d/pencil/blob/master/docs/build_linux.md Commands to configure the build using QMake and then compile with GNU Make. ```bash mkdir build; pushd build; qmake -r -spec CONFIG+=debug ..; popd ``` ```bash make -C build ``` ```bash ./build/bin/pencil2d ```