1
1

Another CMake scripts update for:

correctly generate hwloc library
automatically define OMPI/OPAL/ORTE_OMPORTS for user applications
update the f77 bindings

This commit was SVN r26893.
Этот коммит содержится в:
Shiqing Fan 2012-07-27 11:49:09 +00:00
родитель 46591b0b1a
Коммит 42dfbc7d2f
15 изменённых файлов: 388 добавлений и 30 удалений

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

@ -1,4 +1,4 @@
# Copyright (c) 2007-2010 High Performance Computing Center Stuttgart,
# Copyright (c) 2007-2012 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
@ -286,6 +286,8 @@ ENDIF (OMPI_DEBUG_BUILD)
# Install help files if they are here.
INSTALL(DIRECTORY ${CURRENT_PATH}/ DESTINATION share/openmpi/
FILES_MATCHING PATTERN "*.txt"
PATTERN "hwloc" EXCLUDE
PATTERN "libevent" EXCLUDE
PATTERN ".svn" EXCLUDE
PATTERN ".hg" EXCLUDE)

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

@ -76,13 +76,12 @@ IF(NOT MICROSOFT_CHECK_DONE)
ENDIF(CMAKE_CL_64)
FIND_PROGRAM(CL_EXE cl PATHS ${CHECK_PATHS})
message("${CL_EXE}")
# Set up VS environments.
GET_FILENAME_COMPONENT(VC_BIN_PATH ${CL_EXE} PATH)
GET_FILENAME_COMPONENT(COMPILER_NAME ${CL_EXE} NAME)
SET(CC ${CL_EXE} CACHE INTERNAL "C compiler executable")
SET(CXX ${CL_EXE} CACHE INTERNAL "CXX compiler executable")
SET(CC ${COMPILER_NAME} CACHE INTERNAL "C compiler executable")
SET(CXX ${COMPILER_NAME} CACHE INTERNAL "CXX compiler executable")
GET_FILENAME_COMPONENT(SDK_ROOT_PATH
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]" ABSOLUTE)
IF(CMAKE_CL_64)

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

@ -47,8 +47,8 @@ IF(NOT MINGW_CHECK_DONE)
MESSAGE( STATUS "Start MinGW specific detection....")
GET_FILENAME_COMPONENT(CC ${CC} ABSOLUTE)
GET_FILENAME_COMPONENT(CXX ${CXX} ABSOLUTE)
GET_FILENAME_COMPONENT(CC ${CC} NAME)
GET_FILENAME_COMPONENT(CXX ${CXX} NAME)
# Default compiler settings.
SET(OMPI_C_OPTION_COMPILE "-c" CACHE INTERNAL

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

@ -1,5 +1,5 @@
#
# Copyright (c) 2007-2011 High Performance Computing Center Stuttgart,
# Copyright (c) 2007-2012 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2008 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
@ -200,7 +200,10 @@ OMPI_DEF_OPT(enable-mpi-cxx OMPI_BUILD_CXX_BINDINGS "Whether we want MPI cxx sup
OMPI_DEF_OPT(enable-mpi-fortran OMPI_BUILD_FORTRAN_USEMPI_BINDINGS "Whether we want MPI FORTRAN support or not." OFF)
OMPI_DEF(OMPI_BUILD_FORTRAN_F08_SUBARRAYS 0 "fortran compiler has fortran08 subarrays" 0 1)
OMPI_DEF_OPT(enable-mpi-f08-subarray-prototype OMPI_BUILD_FORTRAN_F08_SUBARRAYS 0
"Use the PROTOTYPE and SEVERLY FUNCTIONALITY-LIMITED Fortran 08 'use mpi_f08'
implementation that supports subarrrays (via Fortran descriptors).
This option will disable the normal 'use mpi_f08' implementation and *only* build the prototype implementation." 0 1)
OMPI_DEF(OMPI_FORTRAN_HAVE_PRIVATE 0 "fortran compiler has private" 0 1)
@ -645,6 +648,17 @@ OMPI_CHECK_TYPES (uintptr_t UINTPTR_T none c)
###################################################################
# Check Fortran 77 types #
###################################################################
IF(OMPI_BUILD_FORTRAN_USEMPI_BINDINGS)
SET(OMPI_WANT_FORTRAN_BINDINGS 1 CACHE INTERNAL "Whether we want MPI FORTRAN support or not.")
SET(OMPI_WANT_FORTRAN_MPIFH_BINDINGS 1 CACHE INTERNAL "OMPI_WANT_FORTRAN_MPIFH_BINDINGS")
SET(OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS 1 CACHE INTERNAL "OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS")
ELSE(OMPI_BUILD_FORTRAN_USEMPI_BINDINGS)
SET(OMPI_WANT_FORTRAN_BINDINGS 0 CACHE INTERNAL "Whether we want MPI FORTRAN support or not.")
SET(OMPI_WANT_FORTRAN_MPIFH_BINDINGS 0 CACHE INTERNAL "OMPI_WANT_FORTRAN_MPIFH_BINDINGS")
SET(OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS 0 CACHE INTERNAL "OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS")
ENDIF(OMPI_BUILD_FORTRAN_USEMPI_BINDINGS)
INCLUDE(setup_fortran)
INCLUDE(fortran_check)
INCLUDE(fortran_check_real16_c_equiv)

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

@ -18,7 +18,9 @@ INCLUDE_DIRECTORIES ("${CURRENT_PATH}/"
SET(HWLOC_PATH ${CURRENT_PATH} CACHE INERNAL "path to hwloc dir")
SET(RESULT_COMPONENT_FILES
IF(WIN32)
SET(RESULT_COMPONENT_FILES
${RESULT_COMPONENT_FILES}
${CURRENT_PATH}/${hwloc_dir}_component.c
${CURRENT_PATH}/hwloc/src/bind.c
@ -33,6 +35,50 @@ SET(RESULT_COMPONENT_FILES
${CURRENT_PATH}/hwloc/src/topology-xml.c
${CURRENT_PATH}/hwloc/src/topology.c
${CURRENT_PATH}/hwloc/src/traversal.c
)
IF(WINDOWS_VS)
SET(OBJ_PATH "${PROJECT_BINARY_DIR}/libopen-pal.dir/${CMAKE_CFG_INTDIR}")
# for generating the static library, as opal will not export event API any more.
SET(HWLOC_OBJ_FILES
${OBJ_PATH}/${hwloc_dir}_component.obj
${OBJ_PATH}/bind.obj
${OBJ_PATH}/cpuset.obj
${OBJ_PATH}/distances.obj
${OBJ_PATH}/dolib.obj
${OBJ_PATH}/misc.obj
${OBJ_PATH}/topology-libpci.obj
${OBJ_PATH}/topology-synthetic.obj
${OBJ_PATH}/topology-windows.obj
${OBJ_PATH}/topology-x86.obj
${OBJ_PATH}/topology-xml.obj
${OBJ_PATH}/topology.obj
${OBJ_PATH}/traversal.obj
CACHE INTERNAL "hwloc obj files")
ELSEIF(WINDOWS_MINGW)
SET(OBJ_PATH "${PROJECT_BINARY_DIR}/libopen-pal.dir/${CMAKE_CFG_INTDIR}")
# for generating the static library, as opal will not export event API any more.
SET(HWLOC_OBJ_FILES
${OBJ_PATH}/${hwloc_dir}_component.obj
${OBJ_PATH}/bind.obj
${OBJ_PATH}/cpuset.obj
${OBJ_PATH}/distances.obj
${OBJ_PATH}/dolib.obj
${OBJ_PATH}/misc.obj
${OBJ_PATH}/topology-libpci.obj
${OBJ_PATH}/topology-synthetic.obj
${OBJ_PATH}/topology-windows.obj
${OBJ_PATH}/topology-x86.obj
${OBJ_PATH}/topology-xml.obj
${OBJ_PATH}/topology.obj
${OBJ_PATH}/traversal.obj
CACHE INTERNAL "hwloc obj files")
ENDIF(WINDOWS_VS)
ELSE(WIN32)
SET(RESULT_COMPONENT_FILES
${RESULT_COMPONENT_FILES}
)
ENDIF(WIN32)
SET(RESULT TRUE)

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

@ -0,0 +1,261 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MinSizeRel|Win32">
<Configuration>MinSizeRel</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="RelWithDebInfo|Win32">
<Configuration>RelWithDebInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGUID>{2D02214A-D960-4FED-95AA-A30F7784A0E3}</ProjectGUID>
<Keyword>Win32Proj</Keyword>
<Platform>Win32</Platform>
<ProjectName>chello</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.20506.1</_ProjectFileVersion>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">chello.dir\Debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">chello</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.exe</TargetExt>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">chello.dir\Release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">chello</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.exe</TargetExt>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
<IntDir Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">chello.dir\MinSizeRel\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">chello</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">.exe</TargetExt>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">true</GenerateManifest>
<IntDir Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">chello.dir\RelWithDebInfo\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">chello</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">.exe</TargetExt>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">true</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">true</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions> /Zm1000 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<CompileAs>CompileAsC</CompileAs>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>
</ExceptionHandling>
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerListingLocation>Debug</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Link>
<AdditionalOptions> /machine:X86 /debug %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;..\..\lib\libmpi.lib;..\..\lib\libopen-pal.lib;..\..\lib\libopen-rte.lib</AdditionalDependencies>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LinkIncremental>true</LinkIncremental>
<StackReserveSize>10000000</StackReserveSize>
<SubSystem>Console</SubSystem>
<Version>
</Version>
</Link>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions> /Zm1000 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<ExceptionHandling>
</ExceptionHandling>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<Optimization>MaxSpeed</Optimization>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>
</DebugInformationFormat>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerListingLocation>Release</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Link>
<AdditionalOptions> /machine:X86 %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;..\..\lib\libmpi.lib;..\..\lib\libopen-pal.lib;..\..\lib\libopen-rte.lib</AdditionalDependencies>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<StackReserveSize>10000000</StackReserveSize>
<SubSystem>Console</SubSystem>
<Version>
</Version>
</Link>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">
<ClCompile>
<AdditionalOptions> /Zm1000 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<ExceptionHandling>
</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<Optimization>MinSpace</Optimization>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>
</DebugInformationFormat>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerListingLocation>MinSizeRel</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Link>
<AdditionalOptions> /machine:X86 %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;..\..\lib\libmpi.lib;..\..\lib\libopen-pal.lib;..\..\lib\libopen-rte.lib</AdditionalDependencies>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<StackReserveSize>10000000</StackReserveSize>
<SubSystem>Console</SubSystem>
<Version>
</Version>
</Link>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">
<ClCompile>
<AdditionalOptions> /Zm1000 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>
</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<Optimization>MaxSpeed</Optimization>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerListingLocation>RelWithDebInfo</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Link>
<AdditionalOptions> /machine:X86 /debug %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;..\..\lib\libmpi.lib;..\..\lib\libopen-pal.lib;..\..\lib\libopen-rte.lib</AdditionalDependencies>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LinkIncremental>true</LinkIncremental>
<StackReserveSize>10000000</StackReserveSize>
<SubSystem>Console</SubSystem>
<Version>
</Version>
</Link>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include=".\chello.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

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

@ -123,8 +123,17 @@ IF (BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(libmpi PROPERTIES
COMPILE_DEFINITIONS "_USRDLL;HAVE_CONFIG_H;OMPI_EXPORTS;OPAL_IMPORTS;ORTE_IMPORTS"
COMPILE_FLAGS "${OMPI_CXX_LAN_FLAG}" PREFIX "" IMPORT_PREFIX "")
TARGET_LINK_LIBRARIES (libmpi ${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event${CMAKE_DEBUG_POSTFIX}.lib
libopen-rte Ws2_32.lib shlwapi.lib ${EXTRA_LINK_LIBRARIES})
IF(WINDOWS_MINGW)
TARGET_LINK_LIBRARIES (libmpi ${OpenMPI_BINARY_DIR}/event${CMAKE_DEBUG_POSTFIX}.lib
${OpenMPI_BINARY_DIR}/hwloc${CMAKE_DEBUG_POSTFIX}.lib
libopen-rte Ws2_32.lib shlwapi.lib ${EXTRA_LINK_LIBRARIES})
ELSEIF(WINDOWS_VS)
TARGET_LINK_LIBRARIES (libmpi ${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event${CMAKE_DEBUG_POSTFIX}.lib
${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/hwloc${CMAKE_DEBUG_POSTFIX}.lib
libopen-rte Ws2_32.lib shlwapi.lib ${EXTRA_LINK_LIBRARIES})
ENDIF(WINDOWS_MINGW)
ELSE (BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(libmpi PROPERTIES COMPILE_DEFINITIONS "${OMPI_C_DEF_PRE}_LIB")
ENDIF(BUILD_SHARED_LIBS)
@ -145,7 +154,7 @@ INSTALL(TARGETS libmpi
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
INSTALL(FILES ${PROJECT_BINARY_DIR}/include/mpi.h ${PROJECT_SOURCE_DIR}/include/mpi_portable_platform.h
INSTALL(FILES ${PROJECT_BINARY_DIR}/include/user/mpi.h ${PROJECT_SOURCE_DIR}/include/mpi_portable_platform.h
DESTINATION include)
INSTALL(FILES errhandler/help-mpi-errors.txt

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

@ -1,4 +1,4 @@
# Copyright (c) 2007-2008 High Performance Computing Center Stuttgart,
# Copyright (c) 2007-2012 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
@ -13,10 +13,8 @@ ELSE(OMPI_BUILD_CXX_BINDINGS)
MESSAGE(STATUS "Skipping MPI C++ interface")
ENDIF(OMPI_BUILD_CXX_BINDINGS)
IF(OMPI_BUILD_FORTRAN_USEMPI_BINDINGS)
SET(OMPI_WANT_FORTRAN_BINDINGS 1 CACHE INTERNAL "Whether we want MPI FORTRAN support or not.")
IF(OMPI_WANT_FORTRAN_BINDINGS)
ADD_SUBDIRECTORY(fortran/mpif-h)
ELSE(OMPI_BUILD_FORTRAN_USEMPI_BINDINGS)
SET(OMPI_WANT_FORTRAN_BINDINGS 0 CACHE INTERNAL "Whether we want MPI FORTRAN support or not.")
ELSE(OMPI_WANT_FORTRAN_BINDINGS)
MESSAGE(STATUS "Skipping MPI FORTRAN interface")
ENDIF(OMPI_BUILD_FORTRAN_USEMPI_BINDINGS)
ENDIF(OMPI_WANT_FORTRAN_BINDINGS)

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

@ -70,6 +70,6 @@ INSTALL(TARGETS libmpi_fortran
ARCHIVE DESTINATION lib)
IF (OMPI_DEBUG_BUILD AND WINDOWS_VS)
INSTALL(FILES ${OpenMPI_BINARY_DIR}/Debug/libmpi_mpifh{CMAKE_DEBUG_POSTFIX}.pdb
INSTALL(FILES ${OpenMPI_BINARY_DIR}/Debug/libmpi_fortran${CMAKE_DEBUG_POSTFIX}.pdb
DESTINATION bin)
ENDIF (OMPI_DEBUG_BUILD AND WINDOWS_VS)

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

@ -60,7 +60,7 @@ ENDIF(WINDOWS_VS)
IF(BUILD_SHARED_LIBS)
SET(OMPI_WRAPPER_EXTRA_CFLAGS
"${OMPI_C_LAN_FLAG} ${OMPI_C_DEF_PRE}OMPI_IMPORTS ${OMPI_C_DEF_PRE}OPAL_IMPORTS ${OMPI_C_DEF_PRE}ORTE_IMPORTS")
"${OMPI_C_LAN_FLAG}")
ELSE(BUILD_SHARED_LIBS)
IF(OMPI_DEBUG_BUILD)
SET(OMPI_WRAPPER_EXTRA_CFLAGS "${OMPI_C_LAN_FLAG} ${OMPI_C_MD_DEBUG}")
@ -92,7 +92,7 @@ IF(OMPI_BUILD_CXX_BINDINGS)
IF(BUILD_SHARED_LIBS)
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS
"${OMPI_CXX_LAN_FLAG} ${OMPI_CXX_EXCEPTION} ${OMPI_C_DEF_PRE}OMPI_IMPORTS ${OMPI_C_DEF_PRE}OPAL_IMPORTS ${OMPI_C_DEF_PRE}ORTE_IMPORTS")
"${OMPI_CXX_LAN_FLAG} ${OMPI_CXX_EXCEPTION}")
ELSE(BUILD_SHARED_LIBS)
IF(OMPI_DEBUG_BUILD)
SET(OMPI_WRAPPER_EXTRA_CXXFLAGS "${OMPI_CXX_LAN_FLAG} ${OMPI_CXX_EXCEPTION} ${OMPI_C_MD_DEBUG}")

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

@ -107,12 +107,22 @@ IF (BUILD_SHARED_LIBS)
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "Generating static event library."
)
ADD_CUSTOM_COMMAND(TARGET libopen-pal POST_BUILD
COMMAND ar -rcs ${OpenMPI_BINARY_DIR}/hwloc${CMAKE_DEBUG_POSTFIX}.lib ${HWLOC_OBJ_FILES}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "Generating static hwloc library."
)
ELSEIF(WINDOWS_VS)
ADD_CUSTOM_COMMAND(TARGET libopen-pal POST_BUILD
COMMAND ${OMPI_LIB_CMD} ${OMPI_LIB_CMD_OUTPUT}${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event${CMAKE_DEBUG_POSTFIX}.lib ${EVENT_OBJ_FILES}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "Generating static event library."
)
ADD_CUSTOM_COMMAND(TARGET libopen-pal POST_BUILD
COMMAND ${OMPI_LIB_CMD} ${OMPI_LIB_CMD_OUTPUT}${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/hwloc${CMAKE_DEBUG_POSTFIX}.lib ${HWLOC_OBJ_FILES}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "Generating static hwloc library."
)
ENDIF(WINDOWS_MINGW)
SET_TARGET_PROPERTIES(libopen-pal PROPERTIES COMPILE_DEFINITIONS "_USRDLL;OPAL_EXPORTS"

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

@ -1,5 +1,5 @@
#
# Copyright (c) 2007-2010 High Performance Computing Center Stuttgart,
# Copyright (c) 2007-2012 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2008 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
@ -30,6 +30,14 @@ FILE(WRITE ${OpenMPI_BINARY_DIR}/ompi/include/mpi.h.in "${MPI_H_OUT}")
# generate mpi.h
CONFIGURE_FILE(${OpenMPI_BINARY_DIR}/ompi/include/mpi.h.in ${OpenMPI_BINARY_DIR}/ompi/include/mpi.h)
#define OMPI/ORTE/OPAL_IMPORTS in mpi.h, then we dont't need to define it in the command line or solution config.
#this mpi.h is used only for user programs
STRING(REPLACE "define OMPI_MPI_H"
"define OMPI_MPI_H\n\n#define OMPI_IMPORTS\n#define OPAL_IMPORTS\n#define ORTE_IMPORTS" MPI_H_OUT "${MPI_H_OUT}")
FILE(WRITE ${OpenMPI_BINARY_DIR}/ompi/include/user/mpi.h.in "${MPI_H_OUT}")
CONFIGURE_FILE(${OpenMPI_BINARY_DIR}/ompi/include/user/mpi.h.in ${OpenMPI_BINARY_DIR}/ompi/include/user/mpi.h)
IF(OMPI_WANT_FORTRAN_BINDINGS)
CONFIGURE_FILE(${OpenMPI_SOURCE_DIR}/ompi/include/mpif.h.in ${OpenMPI_BINARY_DIR}/ompi/include/mpif.h)
CONFIGURE_FILE(${OpenMPI_SOURCE_DIR}/ompi/include/mpif-common.h.fin ${OpenMPI_BINARY_DIR}/ompi/include/mpif-common.h)

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

@ -66,9 +66,11 @@ IF (BUILD_SHARED_LIBS)
IF(WINDOWS_MINGW)
TARGET_LINK_LIBRARIES(libopen-rte ${OpenMPI_BINARY_DIR}/event${CMAKE_DEBUG_POSTFIX}.lib
${OpenMPI_BINARY_DIR}/hwloc${CMAKE_DEBUG_POSTFIX}.lib
libopen-pal Ws2_32.lib shlwapi.lib)
ELSEIF(WINDOWS_VS)
TARGET_LINK_LIBRARIES(libopen-rte ${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event${CMAKE_DEBUG_POSTFIX}.lib
${OpenMPI_BINARY_DIR}/${CMAKE_CFG_INTDIR}/hwloc${CMAKE_DEBUG_POSTFIX}.lib
libopen-pal Ws2_32.lib shlwapi.lib)
ENDIF(WINDOWS_MINGW)
ELSE (BUILD_SHARED_LIBS)

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

@ -1,4 +1,4 @@
# Copyright (c) 2007-2008 High Performance Computing Center Stuttgart,
# Copyright (c) 2007-2012 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
@ -8,5 +8,18 @@
#
ADD_SUBDIRECTORY(mpi)
ADD_SUBDIRECTORY(mpi)
FILE(READ ${OpenMPI_SOURCE_DIR}/contrib/platform/win32/examples/chello.vcxproj EXAMPLE_SOLUTION)
IF(CMAKE_CL_64)
STRING(REPLACE "Win32" "X64" EXAMPLE_SOLUTION "${EXAMPLE_SOLUTION}")
STRING(REPLACE "X86" "X64" EXAMPLE_SOLUTION "${EXAMPLE_SOLUTION}")
ENDIF(CMAKE_CL_64)
FILE(WRITE ${OpenMPI_BINARY_DIR}/test/chello.vcxproj "${EXAMPLE_SOLUTION}")
INSTALL(FILES ${OpenMPI_SOURCE_DIR}/test/mpi/environment/chello.c
${OpenMPI_BINARY_DIR}/test/chello.vcxproj
DESTINATION share/examples)

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

@ -1,4 +1,4 @@
# Copyright (c) 2007-2010 High Performance Computing Center Stuttgart,
# Copyright (c) 2007-2012 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
@ -15,8 +15,4 @@ SET(CHELLO_FILES
ADD_EXECUTABLE (chello ${CHELLO_FILES})
TARGET_LINK_LIBRARIES (chello libmpi)
INSTALL(FILES ${OpenMPI_SOURCE_DIR}/test/mpi/environment/chello.c
${OpenMPI_BINARY_DIR}/test/mpi/environment/chello.*
DESTINATION share/examples)
TARGET_LINK_LIBRARIES (chello libmpi)