# Run git commands to generate information which uniquely identifies the software version # This version is # - pasted into mainpage.dox so it is visible to all readers # - configured into QmitkBuildInfo.cpp (in [..]/CMakeLists.txt) # - used for the Installer filename (in [..]/Deployment/CMakeLists.txt) EXECUTE_PROCESS(COMMAND git describe --exact-match WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_GIT_TAGNAME RESULT_VARIABLE proper_version ERROR_VARIABLE dummy) STRING(STRIP "${PROJECT_GIT_TAGNAME}" PROJECT_GIT_TAGNAME) # removes newline #message(STATUS "git knows tag '${PROJECT_GIT_TAGNAME}' for current build") IF(proper_version EQUAL 0) #message(STATUS "Building product version ${PROJECT_GIT_TAGNAME}") ELSE(proper_version EQUAL 0) #message(STATUS "Building development version") SET(PROJECT_GIT_TAGNAME "DEVELOPMENT VERSION") ENDIF(proper_version EQUAL 0) EXECUTE_PROCESS(COMMAND git rev-parse HEAD WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_GIT_SHA1) STRING(STRIP "${PROJECT_GIT_SHA1}" PROJECT_GIT_SHA1) # removes newline # Determine VTK version find_package(VTK) # Determine ITK version find_package(ITK) set(ITK_VERSION "${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}") # Determine Qt version #find_package(Qt4) (already done here) set(QT_VERSION "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}") # Determine DCMTK version (TODO!) file(STRINGS ${DCMTK_DIR}/share/doc/dcmtk/VERSION DCMTK_VERSION) # Determine GDCM version include(${ITK_GDCM_DIR}/GDCMConfigVersion.cmake) # Determine MITK version (similar to PROJECT version, see comments above) EXECUTE_PROCESS(COMMAND git describe --exact-match WORKING_DIRECTORY ${MITK_SOURCE_DIR} OUTPUT_VARIABLE MITK_GIT_TAGNAME RESULT_VARIABLE proper_version ERROR_VARIABLE dummy) IF(proper_version EQUAL 0) #message(STATUS "Using MITK tagged version ${MITK_GIT_TAGNAME}") ELSE(proper_version EQUAL 0) #message(STATUS "Using MITK DEVELOPMENT version") SET(MITK_GIT_TAGNAME "DEVELOPMENT VERSION") ENDIF(proper_version EQUAL 0) STRING(STRIP "${MITK_GIT_TAGNAME}"MITK_GIT_TAGNAME) # removes newline EXECUTE_PROCESS(COMMAND git rev-parse HEAD WORKING_DIRECTORY ${MITK_SOURCE_DIR} OUTPUT_VARIABLE MITK_GIT_SHA1) STRING(STRIP "${MITK_GIT_SHA1}" MITK_GIT_SHA1) # removes newline set(MITK_VERSION "${MITK_VERSION_MAJOR}.${MITK_VERSION_MINOR}.${MITK_VERSION_PATCH} (${MITK_GIT_TAGNAME} ${MITK_GIT_SHA1})") # Output for information message(STATUS "--- Toolkit Configuration ---") message(STATUS "THIS ${PROJECT_GIT_TAGNAME} ${PROJECT_GIT_SHA1}") message(STATUS "MITK ${MITK_VERSION}") message(STATUS "Qt ${QT_VERSION}") message(STATUS "DCMTK ${DCMTK_VERSION}") message(STATUS "GDCM ${GDCM_VERSION}") message(STATUS "VTK ${VTK_VERSION}") message(STATUS "ITK ${ITK_VERSION}") message(STATUS "-----------------------------")