On windows, the mca_common_* libraries should be installed in bin, otherwise the libraries that are dependent on them, e.g. shared build of mca_btl_sm, couldn't be loaded at runtime. This commit fixes the problem.
This commit was SVN r20735.
Этот коммит содержится в:
родитель
20b81ff634
Коммит
99b415a7e0
@ -153,6 +153,21 @@ FOREACH (MCA_FRAMEWORK ${MCA_FRAMEWORK_LIST})
|
||||
STRING(REPLACE "mca_link_libraries=" "" MCA_LINK_LIBRARIES ${VALUE})
|
||||
ENDIF(NOT VALUE STREQUAL "")
|
||||
|
||||
# the mca_common_* libraries should be installed into bin,
|
||||
# this will avoid the runtime open module failure.
|
||||
IF("${MCA_FRAMEWORK}" STREQUAL "common")
|
||||
SET(LIB_NAME_PREFIX "lib")
|
||||
SET(INSTALL_DEST "RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib")
|
||||
ELSE("${MCA_FRAMEWORK}" STREQUAL "common")
|
||||
SET(LIB_NAME_PREFIX "")
|
||||
SET(INSTALL_DEST "RUNTIME DESTINATION lib/openmpi
|
||||
LIBRARY DESTINATION lib/openmpi
|
||||
ARCHIVE DESTINATION lib/openmpi")
|
||||
ENDIF("${MCA_FRAMEWORK}" STREQUAL "common")
|
||||
|
||||
|
||||
# generate CMakeLists.txt for each component for shared build.
|
||||
FILE (WRITE "${PROJECT_BINARY_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT}/CMakeLists.txt"
|
||||
"
|
||||
@ -177,17 +192,17 @@ FILE(GLOB ${MCA_FRAMEWORK}_${MCA_COMPONENT}_FILES
|
||||
SET_SOURCE_FILES_PROPERTIES(\${${MCA_FRAMEWORK}_${MCA_COMPONENT}_FILES}
|
||||
PROPERTIES LANGUAGE CXX)
|
||||
|
||||
ADD_LIBRARY(mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} SHARED
|
||||
ADD_LIBRARY(${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} SHARED
|
||||
\${${MCA_FRAMEWORK}_${MCA_COMPONENT}_FILES})
|
||||
|
||||
SET_TARGET_PROPERTIES(mca_${MCA_FRAMEWORK}_${MCA_COMPONENT}
|
||||
SET_TARGET_PROPERTIES(${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT}
|
||||
PROPERTIES COMPILE_FLAGS \"-D_USRDLL -DOPAL_IMPORTS -DOMPI_IMPORTS -DORTE_IMPORTS\")
|
||||
|
||||
TARGET_LINK_LIBRARIES (mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} ${MCA_LINK_LIBRARIES})
|
||||
TARGET_LINK_LIBRARIES (${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} ${MCA_LINK_LIBRARIES})
|
||||
|
||||
ADD_DEPENDENCIES(mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} libopen-pal ${MCA_DEPENDENCIES})
|
||||
ADD_DEPENDENCIES(${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} libopen-pal ${MCA_DEPENDENCIES})
|
||||
|
||||
INSTALL(TARGETS mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} DESTINATION lib/openmpi)
|
||||
INSTALL(TARGETS ${LIB_NAME_PREFIX}mca_${MCA_FRAMEWORK}_${MCA_COMPONENT} ${INSTALL_DEST})
|
||||
")
|
||||
|
||||
ADD_SUBDIRECTORY (${PROJECT_BINARY_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT} mca/${MCA_FRAMEWORK}/${MCA_COMPONENT})
|
||||
|
@ -10,5 +10,5 @@
|
||||
|
||||
# Specific to this module
|
||||
|
||||
mca_dependencies=libmpi libopen-rte mca_common_sm
|
||||
mca_dependencies=libmpi libopen-rte libmca_common_sm
|
||||
|
||||
|
@ -10,5 +10,5 @@
|
||||
|
||||
# Specific to this module
|
||||
|
||||
mca_dependencies=libmpi libopen-rte mca_common_sm
|
||||
mca_dependencies=libmpi libopen-rte libmca_common_sm
|
||||
|
||||
|
@ -10,5 +10,5 @@
|
||||
|
||||
# Specific to this module
|
||||
|
||||
mca_dependencies=libmpi libopen-rte mca_common_sm
|
||||
mca_dependencies=libmpi libopen-rte libmca_common_sm
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user