40a2bfa238
This merges the branch containing the revamped build system based around converting autogen from a bash script to a Perl program. Jeff has provided emails explaining the features contained in the change. Please note that configure requirements on components HAVE CHANGED. For example. a configure.params file is no longer required in each component directory. See Jeff's emails for an explanation. This commit was SVN r23764.
118 строки
5.5 KiB
CMake
118 строки
5.5 KiB
CMake
#
|
|
# 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)
|