Update/improve build instructions
This commit is contained in:
parent
c753c2e1fd
commit
b8496df331
39
README.md
39
README.md
|
@ -318,16 +318,24 @@ Here are some Bash examples which illustrate getting and setting tag information
|
||||||
3. The CLI prints all values in UTF-8 encoding (no matter which encoding is actually used in the tag).
|
3. The CLI prints all values in UTF-8 encoding (no matter which encoding is actually used in the tag).
|
||||||
|
|
||||||
## Build instructions
|
## Build instructions
|
||||||
The application depends on [c++utilities](https://github.com/Martchus/cpp-utilities) and [tagparser](https://github.com/Martchus/tagparser) and is built the same way as these libraries. For basic instructions checkout the README file of [c++utilities](https://github.com/Martchus/cpp-utilities).
|
The application depends on [c++utilities](https://github.com/Martchus/cpp-utilities) and
|
||||||
|
[tagparser](https://github.com/Martchus/tagparser) and is built the same way as these libraries.
|
||||||
|
For basic instructions checkout the README file of [c++utilities](https://github.com/Martchus/cpp-utilities).
|
||||||
When the Qt GUI is enabled, Qt and [qtutilities](https://github.com/Martchus/qtutilities) are required, too.
|
When the Qt GUI is enabled, Qt and [qtutilities](https://github.com/Martchus/qtutilities) are required, too.
|
||||||
|
|
||||||
|
To avoid building c++utilities/tagparser/qtutilities separately, follow the instructions under
|
||||||
|
"Building this straight". There's also documentation about
|
||||||
|
[various build variables](https://github.com/Martchus/cpp-utilities/blob/master/doc/buildvariables.md) which
|
||||||
|
can be passed to CMake to influence the build.
|
||||||
|
|
||||||
### Building with Qt GUI
|
### Building with Qt GUI
|
||||||
The following Qt modules are required (version 5.6 or higher): core concurrent gui network widgets declarative/script webenginewidgets/webkitwidgets
|
The Qt GUI is enabled by default. The following Qt modules are required (version 5.6 or higher):
|
||||||
|
core concurrent gui network widgets declarative/script webenginewidgets/webkitwidgets
|
||||||
|
|
||||||
Note that old Qt versions like 5.6 lack support for modern JavaScript features. To use the JavaScript-based renaming tool
|
Note that old Qt versions like 5.6 lack support for modern JavaScript features. To use the JavaScript-based
|
||||||
is recommend to use at least Qt 5.12.
|
renaming tool it is recommend to use at least Qt 5.12.
|
||||||
|
|
||||||
### Select Qt module for web view and JavaScript
|
#### Select Qt module for web view and JavaScript
|
||||||
* Add `-DWEBVIEW_PROVIDER:STRING=webkit/webengine/none` to the CMake arguments to use either Qt WebKit (works with
|
* Add `-DWEBVIEW_PROVIDER:STRING=webkit/webengine/none` to the CMake arguments to use either Qt WebKit (works with
|
||||||
'revived' version as well), Qt WebEngine or no web view at all. If no web view is used, the file information can only
|
'revived' version as well), Qt WebEngine or no web view at all. If no web view is used, the file information can only
|
||||||
be shown using a plain tree view. Otherwise the user can choose between a web page and a tree view.
|
be shown using a plain tree view. Otherwise the user can choose between a web page and a tree view.
|
||||||
|
@ -349,10 +357,12 @@ JSON export. To enable it, add `-DENABLE_JSON_EXPORT` to the CMake arguments.
|
||||||
When enabled, the following additional dependencies are required (only at build-time): rapidjson, reflective-rapidjson and llvm/clang
|
When enabled, the following additional dependencies are required (only at build-time): rapidjson, reflective-rapidjson and llvm/clang
|
||||||
|
|
||||||
### Building this straight
|
### Building this straight
|
||||||
0. Install (preferably the latest version of) g++ or clang, the required Qt modules and CMake.
|
0. Install (preferably the latest version of) the CGG toolchain or Clang, the required Qt modules,
|
||||||
1. Get the sources of additional dependencies and the tag editor itself. For the latest version from Git clone the following repositories:
|
[iso-codes](https://salsa.debian.org/iso-codes-team/iso-codes), iconv, zlib, CMake and Ninja.
|
||||||
|
1. Get the sources of additional dependencies and the tag editor itself.
|
||||||
|
For the latest version from Git clone the following repositories:
|
||||||
```
|
```
|
||||||
cd $SOURCES
|
cd "$SOURCES"
|
||||||
git clone -c core.symlinks=true https://github.com/Martchus/cpp-utilities.git c++utilities
|
git clone -c core.symlinks=true https://github.com/Martchus/cpp-utilities.git c++utilities
|
||||||
git clone -c core.symlinks=true https://github.com/Martchus/tagparser.git
|
git clone -c core.symlinks=true https://github.com/Martchus/tagparser.git
|
||||||
git clone -c core.symlinks=true https://github.com/Martchus/qtutilities.git # only required for Qt GUI
|
git clone -c core.symlinks=true https://github.com/Martchus/qtutilities.git # only required for Qt GUI
|
||||||
|
@ -366,20 +376,23 @@ When enabled, the following additional dependencies are required (only at build-
|
||||||
fix this.
|
fix this.
|
||||||
2. Configure the build
|
2. Configure the build
|
||||||
```
|
```
|
||||||
cd $BUILD_DIR
|
cd "$BUILD_DIR"
|
||||||
cmake \
|
cmake \
|
||||||
|
-G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DLANGUAGE_FILE_ISO_639_2="/usr/share/iso-codes/json/iso_639-2.json" \
|
||||||
-DCMAKE_INSTALL_PREFIX="/install/prefix" \
|
-DCMAKE_INSTALL_PREFIX="/install/prefix" \
|
||||||
$SOURCES/subdirs/tageditor
|
"$SOURCES/subdirs/tageditor"
|
||||||
```
|
```
|
||||||
* Replace `/install/prefix` with the directory where you want to install.
|
* Replace `/install/prefix` with the directory where you want to install.
|
||||||
|
* Replace `/usr/…/iso_639-2.json` with the path for your iso-codes installation.
|
||||||
3. Build and install everything in one step:
|
3. Build and install everything in one step:
|
||||||
```
|
```
|
||||||
cd $BUILD_DIR
|
cd "$BUILD_DIR"
|
||||||
make install -j$(nproc)
|
ninja install
|
||||||
```
|
```
|
||||||
* If the install directory is not writable, do **not** conduct the build as root. Instead, set `DESTDIR` to a
|
* If the install directory is not writable, do **not** conduct the build as root. Instead, set `DESTDIR` to a
|
||||||
writable location (e.g. `make DESTDIR="temporary/install/dir" install …`) and move the files from there to
|
writable location (e.g. `DESTDIR="temporary/install/dir" ninja install`) and move the files from there to
|
||||||
the desired location afterwards.
|
the desired location afterwards.
|
||||||
|
|
||||||
## TODOs and known problems
|
## TODOs and known problems
|
||||||
|
|
Loading…
Reference in New Issue