Update CMake modules, adding initial support for openib.
This commit was SVN r23373.
Этот коммит содержится в:
родитель
2babebf9c3
Коммит
e3be90ff22
@ -119,7 +119,7 @@ FOREACH (MCA_FRAMEWORK ${MCA_FRAMEWORK_LIST})
|
|||||||
|
|
||||||
SET(COMPONENT_FILES "")
|
SET(COMPONENT_FILES "")
|
||||||
SET(CURRENT_PATH ${PROJECT_SOURCE_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT})
|
SET(CURRENT_PATH ${PROJECT_SOURCE_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT})
|
||||||
FILE(GLOB COMPONENT_FILES "${CURRENT_PATH}/*.C" "${CURRENT_PATH}/*.h"
|
FILE(GLOB_RECURSE COMPONENT_FILES "${CURRENT_PATH}/*.C" "${CURRENT_PATH}/*.h"
|
||||||
"${CURRENT_PATH}/*.cc" "${CURRENT_PATH}/*.cpp")
|
"${CURRENT_PATH}/*.cc" "${CURRENT_PATH}/*.cpp")
|
||||||
|
|
||||||
#check exclude list
|
#check exclude list
|
||||||
@ -132,7 +132,7 @@ FOREACH (MCA_FRAMEWORK ${MCA_FRAMEWORK_LIST})
|
|||||||
|
|
||||||
# remove the files in the exclude list
|
# remove the files in the exclude list
|
||||||
FOREACH(FILE ${EXCLUDE_LIST})
|
FOREACH(FILE ${EXCLUDE_LIST})
|
||||||
LIST(REMOVE_ITEM MCA_FRAMEWORK_BASE_FILES "${CURRENT_PATH}/${FILE}")
|
LIST(REMOVE_ITEM COMPONENT_FILES "${CURRENT_PATH}/${FILE}")
|
||||||
ENDFOREACH(FILE)
|
ENDFOREACH(FILE)
|
||||||
|
|
||||||
# by default, build this component.
|
# by default, build this component.
|
||||||
@ -141,14 +141,18 @@ FOREACH (MCA_FRAMEWORK ${MCA_FRAMEWORK_LIST})
|
|||||||
# do we have to run a check module first?
|
# do we have to run a check module first?
|
||||||
SET(REQUIRED_CHECK "")
|
SET(REQUIRED_CHECK "")
|
||||||
FILE(STRINGS ${CURRENT_PATH}/.windows REQUIRED_CHECK REGEX "^required_check=")
|
FILE(STRINGS ${CURRENT_PATH}/.windows REQUIRED_CHECK REGEX "^required_check=")
|
||||||
|
|
||||||
SET(EXTRA_INCLUDE_PATH "")
|
SET(EXTRA_INCLUDE_PATH "")
|
||||||
IF(NOT REQUIRED_CHECK STREQUAL "")
|
IF(NOT REQUIRED_CHECK STREQUAL "")
|
||||||
STRING(REPLACE "required_check=" "" REQUIRED_CHECK ${REQUIRED_CHECK})
|
STRING(REPLACE "required_check=" "" REQUIRED_CHECK ${REQUIRED_CHECK})
|
||||||
UNSET(RESULT_INCLUDE_PATH)
|
UNSET(RESULT_INCLUDE_PATH)
|
||||||
|
UNSET(RESULT_LINK_LIBRARIES)
|
||||||
INCLUDE(${REQUIRED_CHECK})
|
INCLUDE(${REQUIRED_CHECK})
|
||||||
IF(RESULT)
|
IF(RESULT)
|
||||||
|
SET(COMPONENT_FILES ${COMPONENT_FILES} ${RESULT_SOURCE_FILES})
|
||||||
SET(EXTRA_INCLUDE_PATH ${RESULT_INCLUDE_PATH})
|
SET(EXTRA_INCLUDE_PATH ${RESULT_INCLUDE_PATH})
|
||||||
|
# these extra libraries will be set up in up layer, e.g. ompi
|
||||||
|
SET(EXTRA_LINK_LIBRARIES ${EXTRA_LINK_LIBRARIES} ${RESULT_LINK_LIBRARIES})
|
||||||
ELSE(RESULT)
|
ELSE(RESULT)
|
||||||
# Required check failed, don't build this component.
|
# Required check failed, don't build this component.
|
||||||
SET(BUILD_COMPONENT FALSE)
|
SET(BUILD_COMPONENT FALSE)
|
||||||
@ -164,19 +168,6 @@ FOREACH (MCA_FRAMEWORK ${MCA_FRAMEWORK_LIST})
|
|||||||
STRING(REPLACE "not_single_shared_lib=" "" NOT_SINGLE_SHARED_LIB ${VALUE})
|
STRING(REPLACE "not_single_shared_lib=" "" NOT_SINGLE_SHARED_LIB ${VALUE})
|
||||||
ENDIF(NOT VALUE STREQUAL "")
|
ENDIF(NOT VALUE STREQUAL "")
|
||||||
|
|
||||||
# check out if we have to exclude some source files.
|
|
||||||
SET(EXCLUDE_LIST "")
|
|
||||||
FILE(STRINGS ${CURRENT_PATH}/.windows EXCLUDE_LIST REGEX "^exclude_list=")
|
|
||||||
|
|
||||||
IF(NOT EXCLUDE_LIST STREQUAL "")
|
|
||||||
STRING(REPLACE "exclude_list=" "" EXCLUDE_LIST ${EXCLUDE_LIST})
|
|
||||||
ENDIF(NOT EXCLUDE_LIST STREQUAL "")
|
|
||||||
|
|
||||||
# remove the files in the exclude list
|
|
||||||
FOREACH(FILE ${EXCLUDE_LIST})
|
|
||||||
LIST(REMOVE_ITEM COMPONENT_FILES "${CURRENT_PATH}/${FILE}")
|
|
||||||
ENDFOREACH(FILE)
|
|
||||||
|
|
||||||
IF(NOT OPAL_WANT_LIBLTDL OR NOT_SINGLE_SHARED_LIB STREQUAL "1")
|
IF(NOT OPAL_WANT_LIBLTDL OR NOT_SINGLE_SHARED_LIB STREQUAL "1")
|
||||||
SET(NOT_SINGLE_SHARED_LIB "")
|
SET(NOT_SINGLE_SHARED_LIB "")
|
||||||
# add sources for static build or for the shared build when this is not a stand along library.
|
# add sources for static build or for the shared build when this is not a stand along library.
|
||||||
@ -266,7 +257,7 @@ SET_TARGET_PROPERTIES(${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT}
|
|||||||
PROPERTIES COMPILE_FLAGS \"-D_USRDLL -DOPAL_IMPORTS -DOMPI_IMPORTS -DORTE_IMPORTS /TP\")
|
PROPERTIES COMPILE_FLAGS \"-D_USRDLL -DOPAL_IMPORTS -DOMPI_IMPORTS -DORTE_IMPORTS /TP\")
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES (${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT}
|
TARGET_LINK_LIBRARIES (${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT}
|
||||||
libopen-pal ${MCA_LINK_LIBRARIES})
|
libopen-pal ${MCA_LINK_LIBRARIES} ${EXTRA_LINK_LIBRARIES})
|
||||||
|
|
||||||
INSTALL(TARGETS ${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} ${INSTALL_DEST})
|
INSTALL(TARGETS ${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} ${INSTALL_DEST})
|
||||||
IF (OMPI_DEBUG_BUILD)
|
IF (OMPI_DEBUG_BUILD)
|
||||||
@ -275,8 +266,13 @@ IF (OMPI_DEBUG_BUILD)
|
|||||||
ENDIF (OMPI_DEBUG_BUILD)
|
ENDIF (OMPI_DEBUG_BUILD)
|
||||||
")
|
")
|
||||||
|
|
||||||
ADD_SUBDIRECTORY (${PROJECT_BINARY_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT} mca/${MCA_FRAMEWORK}/${MCA_COMPONENT})
|
ADD_SUBDIRECTORY (${PROJECT_BINARY_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT} mca/${MCA_FRAMEWORK}/${MCA_COMPONENT})
|
||||||
ENDIF(NOT OPAL_WANT_LIBLTDL OR NOT_SINGLE_SHARED_LIB STREQUAL "1")
|
|
||||||
|
# for single dll, reset these two variables for the next component.
|
||||||
|
UNSET(EXTRA_INCLUDE_PATH)
|
||||||
|
UNSET(EXTRA_LINK_LIBRARIES)
|
||||||
|
|
||||||
|
ENDIF(NOT OPAL_WANT_LIBLTDL OR NOT_SINGLE_SHARED_LIB STREQUAL "1")
|
||||||
|
|
||||||
# Install help files if they are here.
|
# Install help files if they are here.
|
||||||
INSTALL(DIRECTORY ${CURRENT_PATH}/ DESTINATION share/openmpi/
|
INSTALL(DIRECTORY ${CURRENT_PATH}/ DESTINATION share/openmpi/
|
||||||
|
73
contrib/platform/win32/CMakeModules/find_ofed_sdk.cmake
Обычный файл
73
contrib/platform/win32/CMakeModules/find_ofed_sdk.cmake
Обычный файл
@ -0,0 +1,73 @@
|
|||||||
|
# Copyright (c) 2010 High Performance Computing Center Stuttgart,
|
||||||
|
# University of Stuttgart. All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
# Find OFED SDK headers and libraries.
|
||||||
|
|
||||||
|
#
|
||||||
|
# OFED_SDK_PATH - path to OFED SDK dir
|
||||||
|
# OFED_SDK_INCLUDE_PATH - path to verbs.h
|
||||||
|
# OFED_SDK_FOUND - system has OFED SDK
|
||||||
|
#
|
||||||
|
|
||||||
|
# This module is included in a .windows file, it must return two variables:
|
||||||
|
# RESULT : find result
|
||||||
|
# RESULT_INCLUDE_PATH : the path need to include if RESULT is true
|
||||||
|
# RESULT_LINK_LIBRARIES : libraries need to be linked
|
||||||
|
|
||||||
|
IF(NOT OMPI_WANT_OFED)
|
||||||
|
SET(RESULT FALSE)
|
||||||
|
ELSE(NOT OMPI_WANT_OFED)
|
||||||
|
|
||||||
|
SET(OFED_SDK_PATH "" CACHE PATH
|
||||||
|
"Path to OFED SDK root directory, if not in system path, has to be set manually by user.")
|
||||||
|
|
||||||
|
#generate the lex file, if it's not there
|
||||||
|
IF(NOT EXISTS ${PROJECT_SOURCE_DIR}/mca/btl/openib/btl_openib_lex.c)
|
||||||
|
ADD_FLEX_FILE(OPAL_SOURCE_FILES ./mca/btl/openib/btl_openib_lex.l
|
||||||
|
btl_openib_ini_yy "${PROJECT_BINARY_DIR}/mca/btl/openib/")
|
||||||
|
SET(RESULT_SOURCE_FILES ${PROJECT_BINARY_DIR}/mca/btl/openib/btl_openib_lex.c)
|
||||||
|
ENDIF(NOT EXISTS ${PROJECT_SOURCE_DIR}/mca/btl/openib/btl_openib_lex.c)
|
||||||
|
|
||||||
|
IF(NOT OFED_SDK_FOUND)
|
||||||
|
|
||||||
|
MESSAGE(STATUS "looking for OFED SDK...")
|
||||||
|
|
||||||
|
# set the default search path
|
||||||
|
IF("${OFED_SDK_PATH}" STREQUAL "")
|
||||||
|
SET(OFED_SDK_PATH "$ENV{SystemDrive}/OFED_SDK")
|
||||||
|
ENDIF("${OFED_SDK_PATH}" STREQUAL "")
|
||||||
|
|
||||||
|
# clear the old find results and start a new search
|
||||||
|
UNSET(OFED_SDK_INCLUDE_PATH)
|
||||||
|
UNSET(OFED_SDK_LIBIBVERBS)
|
||||||
|
|
||||||
|
FIND_PATH(OFED_SDK_INCLUDE_PATH NAMES verbs.h PATHS ${OFED_SDK_PATH}/Inc/infiniband
|
||||||
|
DOC "Path to OFED SDK include directory, will be detected automatically.")
|
||||||
|
|
||||||
|
FIND_LIBRARY(OFED_SDK_LIBIBVERBS libibverbs PATHS ${OFED_SDK_PATH}/Lib
|
||||||
|
DOC "Path to OFED SDK libraries directory, will be detected automatically.")
|
||||||
|
|
||||||
|
IF(OFED_SDK_INCLUDE_PATH AND OFED_SDK_LIBIBVERBS)
|
||||||
|
SET(OFED_SDK_FOUND TRUE CACHE INTERNAL "find result of OFED SDK.")
|
||||||
|
SET(RESULT_INCLUDE_PATH ${OFED_SDK_INCLUDE_PATH}/..;${PROJECT_SOURCE_DIR}/mca/btl/openib)
|
||||||
|
SET(RESULT_LINK_LIBRARIES ${OFED_SDK_LIBIBVERBS})
|
||||||
|
SET(RESULT TRUE)
|
||||||
|
MESSAGE(STATUS "looking for OFED SDK...found.")
|
||||||
|
ELSE(OFED_SDK_INCLUDE_PATH AND OFED_SDK_LIBIBVERBS)
|
||||||
|
SET(OFED_SDK_FOUND FALSE CACHE INTERNAL "find result of OFED SDK.")
|
||||||
|
MESSAGE(STATUS "looking for OFED SDK...failed.")
|
||||||
|
ENDIF(OFED_SDK_INCLUDE_PATH AND OFED_SDK_LIBIBVERBS)
|
||||||
|
|
||||||
|
ELSE(NOT OFED_SDK_FOUND)
|
||||||
|
SET(RESULT_INCLUDE_PATH ${OFED_SDK_INCLUDE_PATH}/..;${OpenMPI_SOURCE_DIR}/ompi/mca/btl/openib)
|
||||||
|
SET(RESULT_LINK_LIBRARIES ${OFED_SDK_LIBIBVERBS})
|
||||||
|
SET(RESULT TRUE)
|
||||||
|
ENDIF(NOT OFED_SDK_FOUND)
|
||||||
|
|
||||||
|
ENDIF(NOT OMPI_WANT_OFED)
|
@ -245,6 +245,7 @@ OMPI_DEF_OPT(OMPI_WANT_NETWORK_DIRECT "Whether we want to enable Network Direct
|
|||||||
|
|
||||||
OMPI_DEF_OPT(ORTE_WANT_NOTIFIER_LOG_EVENT "if the notifier_log_event should be enabled" OFF)
|
OMPI_DEF_OPT(ORTE_WANT_NOTIFIER_LOG_EVENT "if the notifier_log_event should be enabled" OFF)
|
||||||
|
|
||||||
|
OMPI_DEF_OPT(OMPI_WANT_OFED "Whether we want to enable OFED support." OFF)
|
||||||
|
|
||||||
IF (NOT MSVC)
|
IF (NOT MSVC)
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ IF (BUILD_SHARED_LIBS)
|
|||||||
SET_TARGET_PROPERTIES(libmpi PROPERTIES
|
SET_TARGET_PROPERTIES(libmpi PROPERTIES
|
||||||
COMPILE_FLAGS "${OMPI_C_DEF_PRE}_USRDLL ${OMPI_C_DEF_PRE}HAVE_CONFIG_H
|
COMPILE_FLAGS "${OMPI_C_DEF_PRE}_USRDLL ${OMPI_C_DEF_PRE}HAVE_CONFIG_H
|
||||||
${OMPI_C_DEF_PRE}OMPI_EXPORTS ${OMPI_C_DEF_PRE}ORTE_IMPORTS ${OMPI_CXX_LAN_FLAG}")
|
${OMPI_C_DEF_PRE}OMPI_EXPORTS ${OMPI_C_DEF_PRE}ORTE_IMPORTS ${OMPI_CXX_LAN_FLAG}")
|
||||||
TARGET_LINK_LIBRARIES (libmpi libopen-rte Ws2_32.lib shlwapi.lib)
|
TARGET_LINK_LIBRARIES (libmpi libopen-rte Ws2_32.lib shlwapi.lib ${EXTRA_LINK_LIBRARIES})
|
||||||
ELSE (BUILD_SHARED_LIBS)
|
ELSE (BUILD_SHARED_LIBS)
|
||||||
SET_TARGET_PROPERTIES(libmpi PROPERTIES COMPILE_FLAGS "${OMPI_C_DEF_PRE}_LIB")
|
SET_TARGET_PROPERTIES(libmpi PROPERTIES COMPILE_FLAGS "${OMPI_C_DEF_PRE}_LIB")
|
||||||
ENDIF(BUILD_SHARED_LIBS)
|
ENDIF(BUILD_SHARED_LIBS)
|
||||||
|
14
ompi/mca/btl/openib/.windows
Обычный файл
14
ompi/mca/btl/openib/.windows
Обычный файл
@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2008-2010 High Performance Computing Center Stuttgart,
|
||||||
|
# University of Stuttgart. All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
# Specific to this module
|
||||||
|
mca_link_libraries=libopen-rte Ws2_32.lib
|
||||||
|
exclude_list=btl_openib_fd.c;btl_openib_fd.h;connect/btl_openib_connect_ibcm.h;connect/btl_openib_connect_ibcm.c;connect/btl_openib_connect_xoob.h;connect/btl_openib_connect_xoob.c
|
||||||
|
required_check=find_ofed_sdk
|
Загрузка…
Ссылка в новой задаче
Block a user