What are Version Sets?
A version set is a configuration file (.conf) that defines:
- Library version numbers for all dependencies
- Build configuration flags (C++ standard, deployment target)
- CMake options for specific toolkits
- Compiler flags and preprocessor definitions
Available Version Sets
Miele-LXIV Easy provides three predefined version sets:Version 7.1.38
Legacy version with VTK 7.1, ITK 4.11, DCMTK 3.6.2
Version 7.3.46
Updated version with VTK 8.2, ITK 4.13, DCMTK 3.6.4
Version 8.8
Latest version with VTK 9.0, ITK 5.1, DCMTK 3.6.5
Version Set Comparison
- 7.1.38
- 7.3.46
- 8.8
Version Set 7.1.38
This is the legacy version set for Miele-LXIV 7.1.38.Build Configuration:| Library | Version | Notes |
|---|---|---|
| VTK | 7.1.1 | OpenGL2 rendering backend |
| ITK | 4.11.1 | |
| DCMTK | 3.6.2 | OpenSSL and iconv disabled |
| OpenSSL | 1.1.0f | |
| OpenJPEG | 2.2.0 | |
| Jasper | 2.0.12 | |
| JPEG | 9b | |
| TIFF | 4.0.8 | |
| PNG | 1.6.30 | |
| zlib | 1.2.11 | |
| libiconv | 1.15 | |
| GLEW | 2.1.0 | |
| GLM | 0.9.8.5 |
This version set disables OpenSSL and iconv support in DCMTK for compatibility with older OsiriX-based code.
Using Version Sets
Version sets are configured during the initial setup in STEP 1 of the build process.Selecting a Version Set
-
Run the configuration script:
- On first run, the seed configuration menu appears
-
Select the appropriate version set file:
version-set-7.1.38.confversion-set-7.3.46.confversion-set-8.8.conf
-
The selected version set is saved in
seed.conf
The version set selection is typically done once. To change version sets, you need to remove
seed.conf and re-run ./build.sh.Version Set Structure
Each version set file follows this structure:version-set-example.conf
Version Set Variables
The build script (build.sh) reads these variables from the version set:
Build Configuration Variables
Build Configuration Variables
MINUS_STD- C++ standard (gnu++14 or gnu++17)DEPL_TARG- macOS deployment targetCOMPILER_FLAGS- Additional compiler flags
DCMTK Variables
DCMTK Variables
DCMTK_MAJOR,DCMTK_MINOR,DCMTK_BUILD- Version componentsDCMTK_VERSION- Full version stringDCMTK_OPTIONS- CMake configuration optionsDCMTK_CXX_FLAGS- Preprocessor definitions
VTK Variables
VTK Variables
VTK_MAJOR,VTK_MINOR,VTK_BUILD- Version componentsVTK_VERSION- Full version stringVTK_OPTIONS- CMake options (rendering backend, etc.)
ITK Variables
ITK Variables
ITK_MAJOR,ITK_MINOR,ITK_BUILD- Version componentsITK_VERSION- Full version string
Library Versions
Library Versions
Each library has a
{LIBRARY}_VERSION variable:JPEG_VERSIONPNG_VERSIONTIFF_VERSIONZLIB_VERSIONICONV_VERSIONOPENSSL_VERSIONOPENJPG_VERSION(withOPENJPG_TARfor download)JASPER_VERSIONXML2_VERSIONGLEW_VERSIONGLM_VERSION
Application Version
Application Version
MIELE_VERSION- Miele-LXIV application version
Creating Custom Version Sets
You can create custom version sets for testing newer library versions:-
Copy an existing version set:
-
Edit the version numbers:
-
Update the configuration:
Version Compatibility Notes
VTK and ITK Compatibility
VTK and ITK Compatibility
ITK depends on VTK through the
Module_ITKVtkGlue option. Ensure VTK is built before ITK, and that versions are compatible:- ITK 4.x works with VTK 7.x and 8.x
- ITK 5.x requires VTK 8.2+ or VTK 9.x
DCMTK and OpenSSL
DCMTK and OpenSSL
DCMTK secure networking requires OpenSSL:
- Version 7.1.38: OpenSSL disabled in DCMTK
- Version 7.3.46+: OpenSSL 1.1.x required
- Ensure
DCMTK_WITH_OPENSSL=ONwhen using secure DICOM
C++ Standard Requirements
C++ Standard Requirements
- VTK 9.x and ITK 5.x require at least C++11
- Recommended: Use gnu++17 for version 8.8+
- Older versions can use gnu++14
Related Pages
- Configuration Options - Detailed configuration reference
- Directory Structure - How version sets organize build outputs
- Quick Start Guide - Initial setup workflow