Skip to content
  • jcfr's avatar
    BUG: Introduce application properties, differentiate Slicer and main app version · 8af26f65
    jcfr authored
    
    
    This commit improves how custom application specify there version.
    Previously, custom application were overriding variables like Slicer_VERSION_MAJOR
    and this was causing build error because the #ifdef" using these variables
    were not correct anymore.
    
    With this change custom Slicer application can have their own metadata
    (version number, description, ...) in addition of the Slicer ones.
    
    To address this, this commit introduces application properties file and
    its companion CMake function "SlicerReadApplicationProperties". This allows
    to read the properties of a "Slicer application" before having to process
    the corresponding sources. By using this new CMake function in the SlicerApplicationOptions
    module included early in the custom application CMakeLists.txt, this
    allows to display the application metadata without duplicating much code.
    
    The vtkSlicerVersionConfigure.h was extented to include include these new
    macros:
    * Slicer_MAIN_PROJECT_VERSION
    * Slicer_MAIN_PROJECT_VERSION_FULL
    * Slicer_MAIN_PROJECT_BUILDDATE
    * Slicer_MAIN_PROJECT_WC_URL
    * Slicer_MAIN_PROJECT__WC_REVISION
    
    when building Slicer, these macros are equivalent to Slicer_VERSION,
    Slicer_VERSION_FULL, ...
    
    Reviewed-by: default avatarCsaba Pinter <csaba.pinter@queensu.ca>
    Reviewed-by: default avatarAndras Lasso <lasso@queensu.ca>
    
    Tested-by: default avatarPablo Hernandez <pablo.hernandez@kitware.com>
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@27316 3bd1e089-480b-0410-8dfb-8563597acbee
    8af26f65