# Copyright (c) 2010 High Performance Computing Center Stuttgart, # University of Stuttgart. All rights reserved. # $COPYRIGHT$ # # Additional copyrights may follow # # $HEADER$ # # Find OFED SDK Winverbs headers and libraries. # # WINVERBS_PATH - path to OFED SDK dir # WINVERBS_INCLUDE_PATH - path to verbs.h # WINVERBS_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_WINVERBS) SET(RESULT FALSE) ELSE(NOT OMPI_WANT_WINVERBS) SET(WINVERBS_PATH "" CACHE PATH "Path to OFED SDK WINVERBS 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/wv/btl_wv_lex.c) ADD_FLEX_FILE(OPAL_SOURCE_FILES ./mca/btl/wv/btl_wv_lex.l btl_wv_ini_yy "${PROJECT_BINARY_DIR}/mca/btl/wv/") SET(RESULT_APPEND_FILES ${PROJECT_BINARY_DIR}/mca/btl/wv/btl_wv_lex.c) ENDIF(NOT EXISTS ${PROJECT_SOURCE_DIR}/mca/btl/wv/btl_wv_lex.c) IF(NOT WINVERBS_FOUND) MESSAGE(STATUS "looking for Winverbs...") # set the default search path IF("${WINVERBS_PATH}" STREQUAL "") SET(WINVERBS_PATH "$ENV{SystemDrive}/OFED_SDK") ENDIF("${WINVERBS_PATH}" STREQUAL "") # clear the old find results and start a new search UNSET(WINVERBS_INCLUDE_PATH) UNSET(WINVERBS_LIB) FIND_PATH(WINVERBS_INCLUDE_PATH NAMES winverbs.h PATHS ${WINVERBS_PATH}/Inc/rdma DOC "Path to Winverbs include directory, will be detected automatically.") FIND_LIBRARY(WINVERBS_LIB winverbs PATHS ${WINVERBS_PATH}/Lib DOC "Path to OFED SDK libraries directory, will be detected automatically.") IF(WINVERBS_INCLUDE_PATH AND WINVERBS_LIB) SET(WINVERBS_FOUND TRUE CACHE INTERNAL "find result of Winverbs.") SET(RESULT_INCLUDE_PATH ${WINVERBS_INCLUDE_PATH}/..;${PROJECT_SOURCE_DIR}/mca/btl/wv) SET(RESULT_LINK_LIBRARIES ${WINVERBS_LIB}) SET(RESULT TRUE) MESSAGE(STATUS "looking for Winverbs...found.") INSTALL(FILES ${PROJECT_SOURCE_DIR}/mca/btl/wv/mca-btl-wv-device-params.ini ${PROJECT_SOURCE_DIR}/mca/btl/wv/help-mpi-btl-wv.txt DESTINATION share/openmpi) ELSE(WINVERBS_INCLUDE_PATH AND WINVERBS_LIBIBVERBS) SET(WINVERBS_FOUND FALSE CACHE INTERNAL "find result of Winverbs.") SET(RESULT FALSE) MESSAGE(STATUS "looking for Winverbs...not found.") ENDIF(WINVERBS_INCLUDE_PATH AND WINVERBS_LIB) ELSE(NOT WINVERBS_FOUND) SET(RESULT_INCLUDE_PATH ${WINVERBS_INCLUDE_PATH}/..;${OpenMPI_SOURCE_DIR}/ompi/mca/btl/wv) SET(RESULT_LINK_LIBRARIES ${WINVERBS_LIB}) SET(RESULT TRUE) INSTALL(FILES ${PROJECT_SOURCE_DIR}/mca/btl/wv/mca-btl-wv-device-params.ini ${PROJECT_SOURCE_DIR}/mca/btl/wv/help-mpi-btl-wv.txt DESTINATION share/openmpi) ENDIF(NOT WINVERBS_FOUND) ENDIF(NOT OMPI_WANT_WINVERBS)