Codebase list gdcm / debian/2.8.7-2 PACKAGER
debian/2.8.7-2

Tree @debian/2.8.7-2 (Download .tar.gz)

PACKAGER @debian/2.8.7-2raw · history · blame

Info for packagers:

At a minimum you should consider the following cmake options:

CMAKE_SKIP_RPATH:BOOL=YES
CMAKE_INSTALL_PREFIX:PATH=/usr
To build the cmd line applications:
GDCM_BUILD_APPLICATIONS:BOOL=ON
To build shared libs:
GDCM_BUILD_SHARED_LIBS:BOOL=ON
To build the documentation (need doxygen >= 1.6.1)
GDCM_DOCUMENTATION:BOOL=ON

You should really consider:
GDCM_BUILD_TESTING:BOOL=OFF
Otherwise it build extra code only needed to run the unit test of gdcm...

unless you have some specific compiler optimization technique you should use the cmake default one:
CMAKE_BUILD_TYPE:STRING=Release

By default this will build pdf doc if you have all the required package, if you do not want the pdf:
GDCM_PDF_DOCUMENTATION:BOOL=ON

Wrapping:
GDCM support the following wrapped language
GDCM_WRAP_PYTHON:BOOL=ON
GDCM_WRAP_CSHARP:BOOL=ON
GDCM_WRAP_JAVA:BOOL=ON

There is an ongoing effort to make PHP another supported language (very experimental ATM)
GDCM_WRAP_PHP:BOOL=ON

For VTK user:
GDCM_USE_VTK:BOOL=ON

System libs:
- By default gdcm ships with system libs for ease of compilation on win32 system. So for most *nix system you may want:
GDCM_USE_SYSTEM_EXPAT:BOOL=ON
GDCM_USE_SYSTEM_ZLIB:BOOL=ON
GDCM_USE_SYSTEM_UUID:BOOL=ON
GDCM_USE_SYSTEM_OPENJPEG:BOOL=ON

OpenSSL option is slightly different as not 'convenient' openssl is shipped within GDCM, so the only
way to access the openssl functionalities is to have openssl installed in the target system.
GDCM_USE_SYSTEM_OPENSSL:BOOL=ON

Examples:
GDCM comes with some examples for user, but setting the following:
GDCM_BUILD_EXAMPLES:BOOL=ON
will not do anything since there is no install rule for examples...

The library attempts to provide a clean API, therefore it is highly suggested that you compile GDCM using:

$ CFLAGS=-fvisibility=hidden CXXFLAGS=-fvisibility=hidden cmake /path/to/gdcm/sources

This make sure that on UNIX, the API is actually identical at what is found on Windows.