Warning, /graphics/glaxnimate/README.md is written in an unsupported language. File is not indexed.
0001 Glaxnimate 0002 ======================================= 0003 0004 About 0005 --------------------------------------- 0006 0007 A simple vector graphics animation program. 0008 0009 0010 Dependencies 0011 --------------------------------------- 0012 0013 * C++17 compliant compiler 0014 * Qt5 >= 5.12 0015 * CMake >= 3.5 0016 * Python3 0017 * Potrace 0018 * libav (libavformat, libswscale, libavcodec, libavutil) >= 59 0019 * libarchive 0020 * KF5 or KF6 0021 0022 0023 Getting the Latest Code 0024 --------------------------------------- 0025 0026 You can find the code on [GitLab](https://gitlab.com/mattbas/glaxnimate). 0027 0028 To clone with git: 0029 0030 git clone --recursive https://gitlab.com/mattbas/glaxnimate.git 0031 0032 0033 Building 0034 --------------------------------------- 0035 0036 ### Generic Overview 0037 0038 If you are building from git, ensure your submodules are up to date 0039 0040 git submodule update --init --recursive 0041 0042 Standard CMake build commands work 0043 0044 mkdir build 0045 cd build 0046 cmake .. 0047 make -j 4 # This uses 4 cores to compile 0048 0049 It will produce the executable `bin/glaxnimate` relative to the build directory 0050 0051 0052 ### Deb-based systems (Ubuntu, Debian, etc) 0053 0054 Install the dependencies: 0055 0056 apt-get install -y g++ cmake qtbase5-dev qttools5-dev libqt5svg5-dev \ 0057 qt5-image-formats-plugins libpython3-dev libpotrace-dev \ 0058 libarchive-dev libavformat-dev libswscale-dev libavcodec-dev libavutil-dev \ 0059 libkf5coreaddons-dev libkf5crash-dev libkf5widgetsaddons-dev libkf5xmlgui-dev \ 0060 libkf5archive-dev libkf5completion-dev 0061 0062 The generic `cmake` commands listed above should work. 0063 0064 0065 ### Arch-based systems 0066 0067 Install the dependencies: 0068 0069 pacman -S git base-devel cmake python zlib hicolor-icon-theme \ 0070 potrace ffmpeg qt5-base qt5-tools qt5-imageformats qt5-svg 0071 0072 The generic `cmake` commands listed above should work. 0073 0074 0075 ### MacOS 0076 0077 Install the dependencies with homebrew: 0078 0079 brew install cmake qt python potrace ffmpeg libarchive 0080 0081 Build with `cmake`, specifying the Qt installation path: 0082 0083 mkdir build 0084 cd build 0085 cmake .. -DQt5_DIR="$(brew --prefix qt@5)/lib/cmake/Qt5" -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)/lib/cmake/Qt5Designer" 0086 make 0087 0088 To simplify the build process, you can also use the provided scripts: 0089 0090 ./deploy/mac_build.sh deps 0091 ./deploy/mac_build.sh configure 0092 ./deploy/mac_build.sh build 0093 0094 0095 ### Windows 0096 0097 Install [MSYS2](https://www.msys2.org/), select "Mingw-w64 64 bit". 0098 0099 To simplify the build process, you can use the provided scripts: 0100 0101 ./deploy/win_build.sh deps 0102 ./deploy/win_build.sh configure 0103 ./deploy/win_build.sh build 0104 0105 0106 ### Android 0107 0108 Note that these instructions have been tested on an Ubuntu host, on different 0109 systems things might vary. 0110 0111 #### Setting up Java 0112 0113 Ensure you have the JVM and JDK installed on your system. 0114 0115 sudo apt install default-jdk 0116 0117 #### Installing Qt 0118 0119 See also <https://doc.qt.io/qt-5/android-getting-started.html>. 0120 0121 Download the Qt Installer for the open source edition 0122 <https://www.qt.io/download-open-source>. 0123 0124 For some reason Qt wants you to have an account even if you install 0125 the open source version so you might have to set that up; 0126 0127 Install Qt Creator and Qt 5 Android. 0128 Qt versions in the 5.12.* line should work, some newer Qt versions have issues with the 0129 android build tools so it's better to stick with 5.12. 0130 0131 Select "Custom Installation", then on the following page check 0132 Qt > Qt 5.12.11 (or whatever version you prefer) > Android. 0133 You can also install additional components such as Qt for Desktop and such. 0134 0135 Accept the licenses and proceed to install. 0136 0137 #### Setting up Qt for Android 0138 0139 Once Qt is installed, you can download and install the Android development tools 0140 from Qt Creator. 0141 0142 You can follow the instructions from here: 0143 <https://doc.qt.io/qtcreator/creator-developing-android.html#specifying-android-device-settings>. 0144 0145 From Qt Creator: 0146 0147 * Tools > Options... > Devices > Android 0148 * Click "Setup SDK" 0149 * Install additional packages if prompted (you might need to accept some licenses) 0150 * Wait for everything to be downloaded and installed 0151 * Under "SDK Manager" (which is at the bottom of the dialog) 0152 * click the "Install" checkbox for one of the available images 0153 (eg: Android 11 > Google API Atom x86 System Image) 0154 * click "Apply" on the side (not the one at the bottom that closes the dialog) 0155 * after it's downloaded, you can click OK to close the dialog 0156 0157 #### Building 0158 0159 You need to know the paths for Qt and Android stuff, or use `cmake_helper.py` to simplify the process 0160 0161 mkdir build 0162 cd build 0163 0164 ../src/android/tools/cmake_helper.py --abi x86 --qt 5.12.11 .. 0165 make -j8 0166 0167 #### Running 0168 0169 There are some utility `make` targets to run the apk 0170 0171 # List available virtual devices (you need to create them separately) 0172 make android_avd_list 0173 # Start virtual device ("device" is from `make android_avd_list`) 0174 make android_avd_start DEVICE="device" 0175 0176 # Build the APK 0177 make glaxnimate_apk -j8 0178 # Install and run the APK on the running AVD 0179 make android_install 0180 # Attach to the output 0181 make android_log 0182 0183 Once you have an AVD running (or a debug phone connected) you can run a single line: 0184 0185 make glaxnimate_apk -j8 && make android_install && make android_log 0186 0187 #### Troubleshooting 0188 0189 **Could not determine java version** 0190 0191 Qt downloads an old version of `gradle`, so if you get an error that your 0192 Java version cannot be recognize find the file `gradle-wrapper.properties` 0193 and update it to version 5.1 or later. 0194 0195 **Incompatible target / Undefined reference / Redefinition** 0196 0197 Sometimes `qmake` messes up the build, the best option is to remove the build 0198 directory created by Qt Creator and rebuild. 0199 0200 **Invalid MinSdkVersion** 0201 0202 Depending on which version of the Android SDK you have, you might have to select 0203 a different value in `src/android/android/AndroidManifest.xml`. 0204 0205 0206 **libc++.so not found** 0207 0208 The Android toolkit stuff has some wrong paths, it can be fixed like this: 0209 0210 sudo mkdir /opt/android 0211 sudo ln -s $HOME/Android/Sdk/ndk/21.1.6352462/ /opt/android/android-ndk-r19c 0212 0213 Where `$HOME/Android/Sdk/ndk/21.1.6352462/` is the directory that Qt creator 0214 used to install the Android NDK, and `/opt/android/android-ndk-r19c` is the 0215 directory mentioned in the error message. 0216 0217 **Cannot set up Android, not building an APK / Application binary is not in output directory** 0218 0219 Sometimes it does that, building again usually fixes it. 0220 0221 0222 ### Installation / Packaging 0223 0224 Assuming you configured / compiled for your target system, to install 0225 to a specific directory, run the following commands: 0226 0227 ```bash 0228 # Ensure the translations files are compiled 0229 make translations 0230 # Install under /installation/path 0231 make install DESTDIR=/installation/path 0232 ``` 0233 0234 If you want to just install on your system, you don't need to specify `DESTDIR`. 0235 0236 0237 Contacts 0238 --------------------------------------- 0239 0240 * [Telegram (Chat)](https://t.me/Glaxnimate) 0241 * [GitLab (Code, Issues)](https://gitlab.com/mattbas/glaxnimate) 0242 * [User Manual](https://glaxnimate.mattbas.org) 0243 0244 0245 License 0246 --------------------------------------- 0247 0248 GPLv3 or later, see COPYING. 0249 0250 Copyright (C) 2020 Mattia Basaglia 0251 0252 This program is free software: you can redistribute it and/or modify 0253 it under the terms of the GNU General Public License as published by 0254 the Free Software Foundation, either version 3 of the License, or 0255 (at your option) any later version. 0256 0257 This program is distributed in the hope that it will be useful, 0258 but WITHOUT ANY WARRANTY; without even the implied warranty of 0259 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0260 GNU General Public License for more details. 0261 0262 You should have received a copy of the GNU General Public License 0263 along with this program. If not, see <http://www.gnu.org/licenses/>.