diff --git a/README.md b/README.md index 5ffc9eb3..3bbf9324 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ The file ReadMe.txt in a build bundle describes how to install the library on th - [Using pkg-config to compile and link your code with Exiv2](#ConsumeWithPkgConfig) - [Localisation](#Localisation) - [Building Exiv2 Documentation](#BuildDoc) + - [Building Exiv2 Tag Webpages](#BuildTagWebpages) - [Building Exiv2 Packages](#GeneratePackages) - [Debugging Exiv2](#Debugging) - [Building Exiv2 with Clang and other build chains](#BuildWithClangAndOthers) @@ -52,6 +53,7 @@ The file ReadMe.txt in a build bundle describes how to install the library on th - [License](#License) - [Support](#Support) - [Test Suite](#TestSuite) + - [Exiv2 Environment Variables](#EnvironmentVariables) - [Running tests on a UNIX-like system](#TestsOnUnix) - [Running tests on Visual Studio builds](#TestsOnVisualStudio) - [Unit Tests](#UnitTests) @@ -398,6 +400,38 @@ To build the documentation, you must install the following products: |:------------ |:------------ | | doxygen
graphviz
python
xsltproc
md5sum | [http://www.doxygen.org/](http://www.doxygen.org/)
[http://www.graphviz.org/](http://www.graphviz.org/)
[http://www.python.org/](http://www.python.org/)
[http://xmlsoft.org/XSLT/](http://xmlsoft.org/XSLT/)
[http://www.microbrew.org/tools/md5sha1sum/](http://www.microbrew.org/tools/md5sha1sum/) | +[TOC](#TOC) +
+ +## Building Exiv2 Tag Webpages + +Exiv2 provides many built-in metadata tags which are listed in the sub-pages of https://exiv2.org/metadata.html +and https://pre-release.exiv2.org/metadata.html. Those tag webpages are generated using tag information +extracted from the Exiv2 source code. + +The tag webpage build files are in the `/doc/templates` directory. If changes are made to +tag groups in the Exiv2 source code then the build files need to be updated. Any changes made +to individual tags in an existing tag group are automatically included. + +Building the tag webpages requires building the Exiv2 sample programs and using scripts which have additional dependancies on +[BASH](https://www.gnu.org/software/bash/), [make](https://manpages.org/make), [xsltproc](https://manpages.org/xsltproc) +and [Python3](https://www.python.org/). + +To build the tag webpages, first [build Exiv2 from source](#TOC) with the `-DEXIV2_BUILD_SAMPLES=ON` +option enabled. This is required as the [taglist](README-SAMPLES.md#taglist) sample program is used by one of the scripts. + +Next, set the `EXIV2_BINDIR` environment variable (see [Exiv2 environment variables](#EnvironmentVariables)). + +Then, change directory to `doc/templates` and run `make`. + +```bash +$ cd /doc/templates +$ make +``` + +After processing, the generated webpages are stored in the `/doc/templates` directory. +When the Exiv2 websites are updated, the generated tag webpages are reformatted before use. + [TOC](#TOC)
@@ -867,9 +901,16 @@ Visual Studio Users will appreciate the python implementation as it avoids the i If you build the code in the directory `/build`, tests will run using the default values of Environment Variables. +[TOC](#TOC) +
+ +## Exiv2 Environment Variables + +Exiv2 optionally uses several different environment variables when building or testing. + | Variable | Default | Platforms | Purpose | |:-- |:-- |:-- |:-- | -| EXIV2_BINDIR | **\/build/bin** | All Platforms | Path of built binaries (exiv2.exe) | +| EXIV2_BINDIR | **\/build/bin** | All Platforms | Path of built binaries (e.g., exiv2.exe) | | EXIV2_PORT | **12762**
**12671**
**12760** | Cygwin
MinGW/msys2
Other Platforms | Test TCP/IP Port | | EXIV2_HTTP | **http://localhost** | All Platforms | Test http server | | EXIV2_ECHO | _**not set**_ | All Platforms | For debugging bashTests | @@ -1297,5 +1338,5 @@ $ sudo pkg install developer/gcc-7 [TOC](#TOC) -Written by Robin Mills
robin@clanmills.com
Updated: 2021-12-20 +Written by Robin Mills
robin@clanmills.com
Updated: 2022-02-22 diff --git a/doc/templates/Makefile b/doc/templates/Makefile index 27d368a7..f130f6cd 100644 --- a/doc/templates/Makefile +++ b/doc/templates/Makefile @@ -166,7 +166,7 @@ SCHEMA = xmp_dc \ xmp_mwg-rs \ xmp_mwg-kw -TAGLIST = ${EXIV2HOME}/build/bin/taglist +TAGLIST = ${EXIV2_BINDIR}/taglist # ********************************************************************** # ======================================================================