1
1
Shiqing Fan 5d81c27282 Update the CMake files for Fortran 77 bindings, get ready for F90 bindings.
Change several variable names and update the macros.

This commit was SVN r26851.
2012-07-24 08:49:34 +00:00

121 строка
3.8 KiB
CMake

#
# Copyright (c) 2010 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
#Generate content for opal_config.h.cmake
#
# NAME: name of the variable to be defined in configure file
# VALUE: value to be defined for the variable
# DESC: description of the definition
# IS_STR: whether this variable should be defined with quotation marks
# FORCE_DEF: whether use "#cmakedefiine" or just "#define" in the line
# VAR_FORMAT: whether we should use the variable name instead of the value
# in the template file.
MACRO(APPEND_CONFIG_FILE NAME VAR_NAME VALUE DESC IS_STR FORCE_DEF VAR_FORMAT)
UNSET(APPEND_STRING)
IF(${VAR_FORMAT})
IF(${IS_STR})
IF(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#define ${NAME} \"\${${VAR_NAME}}\"\n\n")
ELSE(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#cmakedefine ${NAME} \"\${${VAR_NAME}}\"\n\n")
ENDIF(${FORCE_DEF})
ELSE(${IS_STR})
IF(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#define ${NAME} \${${VAR_NAME}}\n\n")
ELSE(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#cmakedefine ${NAME} \${${VAR_NAME}}\n\n")
ENDIF(${FORCE_DEF})
ENDIF(${IS_STR})
ELSE(${VAR_FORMAT})
IF(${IS_STR})
IF(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#define ${NAME} \"${VALUE}\"\n\n")
ELSE(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#cmakedefine ${NAME} \"${VALUE}\"\n\n")
ENDIF(${FORCE_DEF})
ELSE(${IS_STR})
IF(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#define ${NAME} ${VALUE}\n\n")
ELSE(${FORCE_DEF})
SET(APPEND_STRING "/* ${DESC} */\n#cmakedefine ${NAME} ${VALUE}\n\n")
ENDIF(${FORCE_DEF})
ENDIF(${IS_STR})
ENDIF(${VAR_FORMAT})
FILE(APPEND ${OpenMPI_BINARY_DIR}/opal/include/opal_config.h.cmake
${APPEND_STRING})
ENDMACRO(APPEND_CONFIG_FILE NAME VAR_NAME VALUE DESC IS_STR FORCE_DEF VAR_FORMAT)
#define a name with value and
#write the line in template file.
MACRO(OMPI_DEF NAME VALUE DESC IS_STR FORCE_DEF)
SET(${NAME} ${VALUE})
APPEND_CONFIG_FILE(${NAME} ${NAME} "${VALUE}" ${DESC} ${IS_STR} ${FORCE_DEF} 0)
ENDMACRO(OMPI_DEF NAME VALUE DESC IS_STR FORCE_DEF)
#define a name with variable and
#write the line in template file.
MACRO(OMPI_DEF_VAR NAME DESC IS_STR FORCE_DEF)
APPEND_CONFIG_FILE(${NAME} ${NAME} "" ${DESC} ${IS_STR} ${FORCE_DEF} 1)
ENDMACRO(OMPI_DEF_VAR NAME DESC IS_STR FORCE_DEF)
#define/cache a name with value and
#write the line in template file.
MACRO(OMPI_DEF_CACHE NAME VALUE CACHE_TYPE DESC IS_STR FORCE_DEF)
SET(${NAME} ${VALUE} CACHE ${CACHE_TYPE} "${DESC}")
APPEND_CONFIG_FILE(${NAME} ${NAME} ${VALUE} ${DESC} ${IS_STR} ${FORCE_DEF} 0)
ENDMACRO(OMPI_DEF_CACHE NAME VALUE OPT DESC IS_STR FORCE_DEF)
#define/cache a name with variable and
#write the line in template file.
MACRO(OMPI_DEF_CACHE_VAR NAME VALUE CACHE_TYPE DESC IS_STR FORCE_DEF)
SET(${NAME} ${VALUE} CACHE ${CACHE_TYPE} "${DESC}")
APPEND_CONFIG_FILE(${NAME} ${NAME} "" ${DESC} ${IS_STR} ${FORCE_DEF} 1)
ENDMACRO(OMPI_DEF_CACHE_VAR NAME VALUE OPT DESC IS_STR FORCE_DEF)
#add an configure option and
#write the line in template file.
MACRO(OMPI_DEF_OPT OPT_NAME DEF_NAME DESC DEFAULT_VAL)
UNSET(APPEND_STRING)
OPTION(${OPT_NAME} "${DESC}" ${DEFAULT_VAL})
IF(${${OPT_NAME}} STREQUAL "OFF")
SET(${DEF_NAME}_VAL 0)
ELSE(${${OPT_NAME}} STREQUAL "OFF")
SET(${DEF_NAME}_VAL 1)
ENDIF(${${OPT_NAME}} STREQUAL "OFF")
SET(${DEF_NAME} ${${DEF_NAME}_VAL} CACHE INTERNAL "${DEF_NAME}")
APPEND_CONFIG_FILE(${DEF_NAME} ${DEF_NAME}_VAL "" ${DESC} 0 1 1)
ENDMACRO(OMPI_DEF_OPT OPT_NAME DEF_NAME DESC DEFAULT_VAL)