Add a few more fortran compile flags, and enable dynamic build for f77 library now.
This commit was SVN r22720.
Этот коммит содержится в:
родитель
c6448587fe
Коммит
e1c009932b
@ -19,9 +19,11 @@ include(CMakeFortranInformation)
|
|||||||
|
|
||||||
IF(OMPI_WANT_F77_BINDINGS AND NOT F77_SETUP_DONE)
|
IF(OMPI_WANT_F77_BINDINGS AND NOT F77_SETUP_DONE)
|
||||||
|
|
||||||
GET_FILENAME_COMPONENT(F77 ${CMAKE_Fortran_COMPILER} NAME)
|
GET_FILENAME_COMPONENT(F77_NAME ${CMAKE_Fortran_COMPILER} NAME)
|
||||||
GET_FILENAME_COMPONENT(F77_PATH ${CMAKE_Fortran_COMPILER} PATH)
|
GET_FILENAME_COMPONENT(F77_PATH ${CMAKE_Fortran_COMPILER} PATH)
|
||||||
|
|
||||||
|
SET(F77 ${F77_NAME} CACHE INTERNAL "Name of the fortran compiler.")
|
||||||
|
|
||||||
# Default compiler settings.
|
# Default compiler settings.
|
||||||
IF(${F77} STREQUAL "ifort.exe")
|
IF(${F77} STREQUAL "ifort.exe")
|
||||||
#settings for Intel Fortran
|
#settings for Intel Fortran
|
||||||
@ -31,6 +33,10 @@ IF(OMPI_WANT_F77_BINDINGS AND NOT F77_SETUP_DONE)
|
|||||||
"Fortran compiler option for setting object file name.")
|
"Fortran compiler option for setting object file name.")
|
||||||
SET(F77_OUTPUT_EXE "/Fe" CACHE INTERNAL
|
SET(F77_OUTPUT_EXE "/Fe" CACHE INTERNAL
|
||||||
"Fortran compiler option for setting executable file name.")
|
"Fortran compiler option for setting executable file name.")
|
||||||
|
SET(F77_DYNAMIC_FLAG_DEBUG "/MDd" CACHE INTERNAL
|
||||||
|
"Compile flag for using dynamically-loaded, multithread C runtime (Debug).")
|
||||||
|
SET(F77_DYNAMIC_FLAG "/MD" CACHE INTERNAL
|
||||||
|
"Compile flag for using dynamically-loaded, multithread C runtime.")
|
||||||
|
|
||||||
IF(CMAKE_CL_64)
|
IF(CMAKE_CL_64)
|
||||||
SET(F77_LIB_PATH "$ENV{IFORT_COMPILER11}/lib/intel64")
|
SET(F77_LIB_PATH "$ENV{IFORT_COMPILER11}/lib/intel64")
|
||||||
|
@ -53,11 +53,21 @@ ELSE(OMPI_ENABLE_MPI_PROFILING)
|
|||||||
ENDIF(OMPI_ENABLE_MPI_PROFILING)
|
ENDIF(OMPI_ENABLE_MPI_PROFILING)
|
||||||
|
|
||||||
|
|
||||||
ADD_LIBRARY(libmpi_f77 STATIC ${OMPI_F77_FILES} ${OMPI_F77_HEADER_FILES})
|
ADD_LIBRARY(libmpi_f77 ${OMPI_F77_FILES} ${OMPI_F77_HEADER_FILES})
|
||||||
SET_TARGET_PROPERTIES(libmpi_f77 PROPERTIES LINKER_LANGUAGE CXX)
|
|
||||||
TARGET_LINK_LIBRARIES(libmpi_f77 libmpi)
|
TARGET_LINK_LIBRARIES(libmpi_f77 libmpi)
|
||||||
|
|
||||||
|
IF(BUILD_SHARED_LIBS)
|
||||||
|
ADD_DEFINITIONS(-D_USRDLL -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1 -DOMPI_EXPORTS)
|
||||||
|
ELSE(BUILD_SHARED_LIBS)
|
||||||
|
ADD_DEFINITIONS(-D_LIB -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1)
|
||||||
|
ENDIF(BUILD_SHARED_LIBS)
|
||||||
|
|
||||||
INSTALL(TARGETS libmpi_f77
|
INSTALL(TARGETS libmpi_f77
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION lib
|
||||||
ARCHIVE DESTINATION lib)
|
ARCHIVE DESTINATION lib)
|
||||||
|
|
||||||
|
IF (OMPI_DEBUG_BUILD)
|
||||||
|
INSTALL(FILES ${OpenMPI_BINARY_DIR}/Debug/libmpi_f77${CMAKE_DEBUG_POSTFIX}.pdb
|
||||||
|
DESTINATION bin)
|
||||||
|
ENDIF (OMPI_DEBUG_BUILD)
|
@ -42,10 +42,10 @@ ENDMACRO()
|
|||||||
|
|
||||||
# select debug or release libraries at configure time
|
# select debug or release libraries at configure time
|
||||||
IF(OMPI_DEBUG_BUILD)
|
IF(OMPI_DEBUG_BUILD)
|
||||||
SET(OMPI_WRAPPER_EXTRA_LIBS
|
SET(OMPI_WRAPPER_BASE_LIBS
|
||||||
"libmpid.lib libopen-pald.lib libopen-rted.lib advapi32.lib Ws2_32.lib shlwapi.lib")
|
"libmpid.lib libopen-pald.lib libopen-rted.lib advapi32.lib Ws2_32.lib shlwapi.lib")
|
||||||
ELSE(OMPI_DEBUG_BUILD)
|
ELSE(OMPI_DEBUG_BUILD)
|
||||||
SET(OMPI_WRAPPER_EXTRA_LIBS
|
SET(OMPI_WRAPPER_BASE_LIBS
|
||||||
"libmpi.lib libopen-pal.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib")
|
"libmpi.lib libopen-pal.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib")
|
||||||
ENDIF(OMPI_DEBUG_BUILD)
|
ENDIF(OMPI_DEBUG_BUILD)
|
||||||
|
|
||||||
@ -60,21 +60,27 @@ ELSE(BUILD_SHARED_LIBS)
|
|||||||
ENDIF(OMPI_DEBUG_BUILD)
|
ENDIF(OMPI_DEBUG_BUILD)
|
||||||
ENDIF(BUILD_SHARED_LIBS)
|
ENDIF(BUILD_SHARED_LIBS)
|
||||||
|
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_LIBS ${OMPI_WRAPPER_BASE_LIBS})
|
||||||
CONFIGURE_WRAPPER_DATA_FILE(mpicc)
|
CONFIGURE_WRAPPER_DATA_FILE(mpicc)
|
||||||
|
UNSET(OMPI_WRAPPER_EXTRA_LIBS)
|
||||||
|
|
||||||
IF(OMPI_WANT_CXX_BINDINGS)
|
IF(OMPI_WANT_CXX_BINDINGS)
|
||||||
IF(BUILD_SHARED_LIBS)
|
IF(BUILD_SHARED_LIBS)
|
||||||
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS
|
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS
|
||||||
"/TP /EHsc /D \"OMPI_IMPORTS\" /D \"OPAL_IMPORTS\" /D \"ORTE_IMPORTS\"")
|
"/TP /EHsc /D \"OMPI_IMPORTS\" /D \"OPAL_IMPORTS\" /D \"ORTE_IMPORTS\"")
|
||||||
ELSE(BUILD_SHARED_LIBS)
|
ELSE(BUILD_SHARED_LIBS)
|
||||||
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS "/TP /EHsc")
|
IF(OMPI_DEBUG_BUILD)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS "/TP /EHsc /MDd")
|
||||||
|
ELSE(OMPI_DEBUG_BUILD)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS "/TP /EHsc /MD")
|
||||||
|
ENDIF(OMPI_DEBUG_BUILD)
|
||||||
ENDIF(BUILD_SHARED_LIBS)
|
ENDIF(BUILD_SHARED_LIBS)
|
||||||
|
|
||||||
# select debug or release libraries at configure time
|
# select debug or release libraries at configure time
|
||||||
IF(OMPI_DEBUG_BUILD)
|
IF(OMPI_DEBUG_BUILD)
|
||||||
SET(OMPI_WRAPPER_CXX_LIB "libmpi_cxxd.lib")
|
SET(OMPI_WRAPPER_CXX_LIB "libmpi_cxxd.lib" ${OMPI_WRAPPER_BASE_LIBS})
|
||||||
ELSE(OMPI_DEBUG_BUILD)
|
ELSE(OMPI_DEBUG_BUILD)
|
||||||
SET(OMPI_WRAPPER_CXX_LIB "libmpi_cxx.lib")
|
SET(OMPI_WRAPPER_CXX_LIB "libmpi_cxx.lib" ${OMPI_WRAPPER_BASE_LIBS})
|
||||||
ENDIF(OMPI_DEBUG_BUILD)
|
ENDIF(OMPI_DEBUG_BUILD)
|
||||||
|
|
||||||
CONFIGURE_WRAPPER_DATA_FILE(mpic++)
|
CONFIGURE_WRAPPER_DATA_FILE(mpic++)
|
||||||
@ -82,7 +88,25 @@ IF(OMPI_WANT_CXX_BINDINGS)
|
|||||||
ENDIF(OMPI_WANT_CXX_BINDINGS)
|
ENDIF(OMPI_WANT_CXX_BINDINGS)
|
||||||
|
|
||||||
IF(OMPI_WANT_F77_BINDINGS)
|
IF(OMPI_WANT_F77_BINDINGS)
|
||||||
|
IF(BUILD_SHARED_LIBS)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_FFLAGS
|
||||||
|
"/TP /EHsc /D \"OMPI_IMPORTS\" /D \"OPAL_IMPORTS\" /D \"ORTE_IMPORTS\"")
|
||||||
|
ELSE(BUILD_SHARED_LIBS)
|
||||||
|
IF(OMPI_DEBUG_BUILD)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_FFLAGS "${F77_DYNAMIC_FLAG_DEBUG}")
|
||||||
|
ELSE(OMPI_DEBUG_BUILD)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_FFLAGS "${F77_DYNAMIC_FLAG}")
|
||||||
|
ENDIF(OMPI_DEBUG_BUILD)
|
||||||
|
ENDIF(BUILD_SHARED_LIBS)
|
||||||
|
|
||||||
|
# select debug or release libraries at configure time
|
||||||
|
IF(OMPI_DEBUG_BUILD)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_LIBS "libmpi_f77d.lib" ${OMPI_WRAPPER_BASE_LIBS})
|
||||||
|
ELSE(OMPI_DEBUG_BUILD)
|
||||||
|
SET(OMPI_WRAPPER_EXTRA_LIBS "libmpi_f77.lib" ${OMPI_WRAPPER_BASE_LIBS})
|
||||||
|
ENDIF(OMPI_DEBUG_BUILD)
|
||||||
CONFIGURE_WRAPPER_DATA_FILE(mpif77)
|
CONFIGURE_WRAPPER_DATA_FILE(mpif77)
|
||||||
|
UNSET(OMPI_WRAPPER_EXTRA_LIBS)
|
||||||
ENDIF(OMPI_WANT_F77_BINDINGS)
|
ENDIF(OMPI_WANT_F77_BINDINGS)
|
||||||
|
|
||||||
#IF(OMPI_WANT_F90_BINDINGS)
|
#IF(OMPI_WANT_F90_BINDINGS)
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user