# # Copyright (c) 2007-2010 High Performance Computing Center Stuttgart, # University of Stuttgart. All rights reserved. # $COPYRIGHT$ # # Additional copyrights may follow # # $HEADER$ # FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^major=") STRING(REPLACE "major=" "" MAJOR_VERSION ${VALUE}) FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^minor=") STRING(REPLACE "minor=" "" MINOR_VERSION ${VALUE}) FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^release=") STRING(REPLACE "release=" "" RELEASE_VERSION ${VALUE}) FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^greek=") STRING(REPLACE "greek=" "" GREEK_VERSION ${VALUE}) FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^want_svn=") STRING(REPLACE "want_svn=" "" WANT_SVN ${VALUE}) FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^svn_r=") STRING(REPLACE "svn_r=" "" SVN_R ${VALUE}) FILE(STRINGS ${OpenMPI_SOURCE_DIR}/VERSION VALUE REGEX "^date=") STRING(REPLACE "date=" "" RELEASE_DATE ${VALUE}) STRING(REPLACE "\"" "" RELEASE_DATE ${RELEASE_DATE}) IF(${RELEASE_VERSION} EQUAL 0) SET(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION}${GREEK_VERSION}) ELSE(${RELEASE_VERSION} EQUAL 0) SET(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION}.${RELEASE_VERSION}${GREEK_VERSION}) ENDIF(${RELEASE_VERSION} EQUAL 0) # Get the svn version IF("${WANT_SVN}" STREQUAL "1") IF("${SVN_R}" STREQUAL "-1") # for VS.NET2003 users working with web projects, we should also check "_svn" IF(EXISTS ${OpenMPI_SOURCE_DIR}/.svn OR EXISTS ${OpenMPI_SOURCE_DIR}/_svn) EXECUTE_PROCESS (COMMAND svnversion -n WORKING_DIRECTORY ${OpenMPI_SOURCE_DIR} OUTPUT_VARIABLE OUTPUT RESULT_VARIABLE RESULT ERROR_VARIABLE ERROR) IF(NOT RESULT STREQUAL "0") # subversion might be not installed, let's try TortoiseSVN. EXECUTE_PROCESS (COMMAND SubWCRev . contrib/platform/win32/ConfigFiles/revision.in ${OpenMPI_BINARY_DIR}/revision WORKING_DIRECTORY ${OpenMPI_SOURCE_DIR} OUTPUT_VARIABLE OUTPUT RESULT_VARIABLE RESULT ERROR_VARIABLE ERROR) IF(RESULT STREQUAL "0") FILE(STRINGS ${OpenMPI_BINARY_DIR}/revision OUTPUT REGEX "[0-9]*") ENDIF(RESULT STREQUAL "0") ENDIF(NOT RESULT STREQUAL "0") ELSEIF(EXISTS ${OpenMPI_SOURCE_DIR}/.hg) EXECUTE_PROCESS (COMMAND hg -v -R . tip WORKING_DIRECTORY ${OpenMPI_SOURCE_DIR} OUTPUT_VARIABLE OUTPUT RESULT_VARIABLE RESULT ERROR_VARIABLE ERROR) STRING(REGEX REPLACE "changeset:[^:]*:" "" OUTPUT ${OUTPUT}) STRING(REGEX REPLACE "tag.*" "" OUTPUT ${OUTPUT}) STRING(REPLACE "\n" "" OUTPUT ${OUTPUT}) ENDIF(EXISTS ${OpenMPI_SOURCE_DIR}/.svn OR EXISTS ${OpenMPI_SOURCE_DIR}/_svn) IF(NOT RESULT STREQUAL "0") MESSAGE(STATUS "SVN ERROR:${RESULT} ${ERROR}") ELSE(NOT RESULT STREQUAL "0") IF(${RESULT} EQUAL 0 AND NOT "${OUTPUT}" STREQUAL "exported" ) SET(SVN_VERSION "r${OUTPUT}") ENDIF(${RESULT} EQUAL 0 AND NOT "${OUTPUT}" STREQUAL "exported") ENDIF(NOT RESULT STREQUAL "0") ENDIF("${SVN_R}" STREQUAL "-1") SET(VERSION_STRING ${VERSION_STRING}${SVN_VERSION}) ELSE("${WANT_SVN}" STREQUAL "1") SET(SVN_VERSION ${SVN_R}) ENDIF("${WANT_SVN}" STREQUAL "1") # Set opal versions SET(OPAL_WANT_SVN ${WANT_SVN}) SET(OPAL_SVN_R ${SVN_R}) OMPI_DEF(OPAL_GREEK_VERSION ${GREEK_VERSION} "Greek - alpha, beta, etc - release number of Open Portable Access Layer." 1 1) OMPI_DEF(OPAL_MAJOR_VERSION ${MAJOR_VERSION} "Major release number of Open Portable Access Layer." 0 1) OMPI_DEF(OPAL_MINOR_VERSION ${MINOR_VERSION} "Minor release number of Open Portable Access Layer." 0 1) OMPI_DEF(OPAL_RELEASE_VERSION ${RELEASE_VERSION} "Release number of Open Portable Access Layer." 0 1) OMPI_DEF(OPAL_VERSION ${VERSION_STRING} "Complete release number of Open Portable Access Layer." 1 1) OMPI_DEF(OPAL_IDENT_STRING ${VERSION_STRING} "ident string for Open MPI." 1 1) # Set OMPI versions SET(OMPI_WANT_SVN ${WANT_SVN}) SET(OMPI_SVN_R ${SVN_R}) OMPI_DEF(OMPI_GREEK_VERSION ${GREEK_VERSION} "Greek - alpha, beta, etc - release number of Open Portable Access Layer." 1 1) OMPI_DEF(OMPI_MAJOR_VERSION ${MAJOR_VERSION} "Major release number of Open MPI." 0 1) OMPI_DEF(OMPI_MINOR_VERSION ${MINOR_VERSION} "Minor release number of Open MPI." 0 1) OMPI_DEF(OMPI_RELEASE_VERSION ${RELEASE_VERSION} "Release number of Open MPI." 0 1) OMPI_DEF(OMPI_VERSION ${VERSION_STRING} "Complete release number of Open MPI." 1 1) # Set ORTE versions SET(ORTE_WANT_SVN ${WANT_SVN}) SET(ORTE_SVN_R ${SVN_R}) OMPI_DEF(ORTE_GREEK_VERSION ${GREEK_VERSION} "Greek - alpha, beta, etc - release number of Open Run-Time Environment." 1 1) OMPI_DEF(ORTE_MAJOR_VERSION ${MAJOR_VERSION} "Major release number of Open Run-Time Environment." 0 1) OMPI_DEF(ORTE_MINOR_VERSION ${MINOR_VERSION} "Minor release number of Open Run-Time Environment." 0 1) OMPI_DEF(ORTE_RELEASE_VERSION ${RELEASE_VERSION} "Release number of Open Run-Time Environment." 0 1) OMPI_DEF(ORTE_VERSION ${VERSION_STRING} "Complete release number of Open Run-Time Environment." 1 1)