Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tag website build text to README.md #2113

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 43 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -398,6 +400,38 @@ To build the documentation, you must install the following products:
|:------------ |:------------ |
| doxygen<br/>graphviz<br/>python<br/>xsltproc<br/>md5sum | [http://www.doxygen.org/](http://www.doxygen.org/)<br/>[http://www.graphviz.org/](http://www.graphviz.org/)<br/>[http://www.python.org/](http://www.python.org/)<br/>[http://xmlsoft.org/XSLT/](http://xmlsoft.org/XSLT/)<br/>[http://www.microbrew.org/tools/md5sha1sum/](http://www.microbrew.org/tools/md5sha1sum/) |

[TOC](#TOC)
<div id="BuildTagWebpages">

## 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 `<exiv2dir>/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 <exiv2dir>/doc/templates
postscript-dev marked this conversation as resolved.
Show resolved Hide resolved
$ make
```

After processing, the generated webpages are stored in the `<exiv2dir>/doc/templates` directory.
When the Exiv2 websites are updated, the generated tag webpages are reformatted before use.
postscript-dev marked this conversation as resolved.
Show resolved Hide resolved

[TOC](#TOC)
<div id="GeneratePackages">

Expand Down Expand Up @@ -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 `<exiv2dir>/build`, tests will run using the default values of Environment Variables.

[TOC](#TOC)
<div id="EnvironmentVariables">

## Exiv2 Environment Variables

Exiv2 optionally uses several different environment variables when building or testing.

| Variable | Default | Platforms | Purpose |
|:-- |:-- |:-- |:-- |
| EXIV2_BINDIR | **\<exiv2dir\>/build/bin** | All Platforms | Path of built binaries (exiv2.exe) |
| EXIV2_BINDIR | **\<exiv2dir\>/build/bin** | All Platforms | Path of built binaries (e.g., exiv2.exe) |
| EXIV2_PORT | **12762**<br>**12671**<br>**12760** | Cygwin<br>MinGW/msys2<br>Other Platforms | Test TCP/IP Port |
| EXIV2_HTTP | **http://localhost** | All Platforms | Test http server |
| EXIV2_ECHO | _**not set**_ | All Platforms | For debugging bashTests |
Expand Down Expand Up @@ -1297,5 +1338,5 @@ $ sudo pkg install developer/gcc-7

[TOC](#TOC)

Written by Robin Mills<br>[email protected]<br>Updated: 2021-12-20
Written by Robin Mills<br>[email protected]<br>Updated: 2022-02-22

2 changes: 1 addition & 1 deletion doc/templates/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ SCHEMA = xmp_dc \
xmp_mwg-rs \
xmp_mwg-kw

TAGLIST = ${EXIV2HOME}/build/bin/taglist
TAGLIST = ${EXIV2_BINDIR}/taglist

# **********************************************************************
# ======================================================================
Expand Down