Bug #1069

Make Video Code a build option

Added by Robin Mills over 6 years ago. Updated over 6 years ago.

Target version:
Start date:
26 Apr 2015
Due date:
% Done:


Estimated time:

Related issues

Related to Exiv2 - Bug #1068: Video Code UmbrellaClosed26 Apr 2015

Related to Exiv2 - Feature #733: Improve compile-time control over size and functionality of the libraryClosed03 Oct 2010


Associated revisions

Revision 3767 (diff)
Added by Robin Mills over 6 years ago

#1069. Make video a build option (msvc/autotools/cmake). Default is not to build video or webready.



Updated by Robin Mills over 6 years ago

  • % Done changed from 0 to 80

I've updated the autotools and CMake files to make video (and webready) build options.

Andreas has requested similar capability in MSVC. I've added a batch file msvc2005/configure.bat to do this.

C:\cygwin64\home\rmills\gnu\exiv2\trunk\msvc2005>configure -h
Usage: [options]

  -h, --help             show this help message and exit
  -A, --with-app         build sample apps (false)
  -a, --without-app      do not build apps
  -C, --with-curl        enable curl
  -c, --without-curl     disable curl
  -E, --with-expat       enable expat (true)
  -e, --without-expat    disable expat
  -O, --with-openssl     enable openssl
  -o, --without-openssl  disable openssl
  -S, --with-ssh         enable ssh
  -s, --without-ssh      disable ssh
  -T, --with-test        build test programs (true)
  -t, --without-test     do not build test progs
  -W, --enable-webready  enable webready (false)
  -w, --disable-webready enable webready
  -V, --enable-video     enable video (false)
  -v, --disable-video    disable video
  -X, --enable-xmp       enable xmp (true)
  -x, --disable-xmp      disable xmp
  -Z, --with-zlib        enable zlib/png (true)
  -z, --without-zlib     disable zlib/png
  -d, --default          default

It is written in python, so configure.bat calls (375 lines of python3 magic)

I believe it meets Andreas' requirements exactly. If you don’t select zlib, zlib is not built or linked. pngimage.{cpp|hpp} is omitted from the build. Absent. Compiler never sees it. The rules are defined in python data at the start of the script. The code converts the data into solutions/project files.

I’m very pleased with this. The script reads the existing project/solution files and stamps out new ones. So exifprint/exifprint.vcproj -> exifprint/exifprint_configure.vcproj If we change any existing project files, configure.bat will ‘inherit’. The script generates a brand new solution and tree of project files. No existing files are disturbed.

The best aspect is that the project/solution files are “genuine 100% regular visual studio” files. CMake produces strange project files. CMake reminds me of swing about 15 years ago. In those days, swing created windows which looked the same on every platform. Sadly, alien windows. CMake is an alien project file generator. I’m very glad that Daniel will take care of that in future.


Updated by Robin Mills over 6 years ago

  • Assignee deleted (Robin Mills)

Updated by Alan Pater over 6 years ago

  • Assignee set to Andreas Huggel

Updated by Andreas Huggel over 6 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 80 to 100

Also available in: Atom PDF