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})
|
STRING(REPLACE "mca_link_libraries=" "" MCA_LINK_LIBRARIES ${VALUE})
|
||||||
ENDIF(NOT VALUE STREQUAL "")
|
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.
|
# generate CMakeLists.txt for each component for shared build.
|
||||||
FILE (WRITE "${PROJECT_BINARY_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT}/CMakeLists.txt"
|
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}
|
SET_SOURCE_FILES_PROPERTIES(\${${MCA_FRAMEWORK}_${MCA_COMPONENT}_FILES}
|
||||||
PROPERTIES LANGUAGE CXX)
|
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})
|
\${${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\")
|
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})
|
ADD_SUBDIRECTORY (${PROJECT_BINARY_DIR}/mca/${MCA_FRAMEWORK}/${MCA_COMPONENT} mca/${MCA_FRAMEWORK}/${MCA_COMPONENT})
|
||||||
|
@ -10,5 +10,5 @@
|
|||||||
|
|
||||||
# Specific to this module
|
# 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
|
# 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
|
# Specific to this module
|
||||||
|
|
||||||
mca_dependencies=libmpi libopen-rte mca_common_sm
|
mca_dependencies=libmpi libopen-rte libmca_common_sm
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user