1
1

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.
Этот коммит содержится в:
Shiqing Fan 2009-03-05 14:57:35 +00:00
родитель 20b81ff634
Коммит 99b415a7e0
4 изменённых файлов: 23 добавлений и 8 удалений

Просмотреть файл

@ -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