Building

Required build tools:

Required libraries:

The following steps describe how to compile the DJV source code and the third party libraries that it depends on.

Clone the repository:

git clone https://github.com/darbyjohnston/DJV.git djv-git

Create a new sub-directory and start the build:

mkdir djv-git-Debug
cd djv-git-Debug
cmake ../djv-git -DCMAKE_BUILD_TYPE=Debug
make -j

Add the install path to your LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/install/lib

Run the confidence tests:

make test

Run the djv player application:

./build/bin/djv

Packaging

Update the download information in "docs/index.html" and "docs/djv_install.html".

Build the static web site.

Tag the git repository:

git tag -a 2.0.0 -m "Version 2.0.0"
git push origin 2.0.0

Building an RPM package:

mkdir djv-git-Release
cd djv-git-Release
cmake ../djv-git -DCMAKE_BUILD_TYPE=Release -DDJV_BUILD_PACKAGE=TRUE
make -j
cmake ../djv-git -DCPACK_GENERATOR=RPM -DCPACK_PACKAGING_INSTALL_PREFIX=/usr/local/DJV2 -DDJV_THIRD_PARTY_DISABLE_BUILD=TRUE
make package

Building a Debian package:

mkdir djv-git-Release
cd djv-git-Release
cmake ../djv-git -DCMAKE_BUILD_TYPE=Release -DDJV_BUILD_PACKAGE=TRUE
make -j
cmake ../djv-git -DCPACK_GENERATOR=DEB -DCPACK_PACKAGING_INSTALL_PREFIX=/usr/local/DJV2 -DDJV_THIRD_PARTY_DISABLE_BUILD=TRUE
make package

Building a TGZ package:

mkdir djv-git-Release
cd djv-git-Release
cmake ../djv-git -DCMAKE_BUILD_TYPE=Release -DDJV_BUILD_PACKAGE=TRUE
make -j
cmake ../djv-git -DCPACK_GENERATOR=TGZ -DCPACK_PACKAGING_INSTALL_PREFIX= -DDJV_THIRD_PARTY_DISABLE_BUILD=TRUE
make package

Bump the version number in "CMakeLists.txt", "Doxyfile", and "sonar-project.properties".