mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-25 17:00:45 +08:00
Correct usage of MPI vars
This commit is contained in:
parent
930cfc402d
commit
f8fd6d0b41
@ -624,7 +624,6 @@ set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MOD
|
||||
option (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
|
||||
if (HDF5_ENABLE_PARALLEL)
|
||||
find_package(MPI REQUIRED)
|
||||
INCLUDE_DIRECTORIES (${MPI_C_INCLUDE_PATH})
|
||||
if (MPI_C_FOUND)
|
||||
set (H5_HAVE_PARALLEL 1)
|
||||
# MPI checks, only do these if MPI_C_FOUND is true, otherwise they always fail
|
||||
|
@ -482,6 +482,8 @@ function(add_jar _TARGET_NAME)
|
||||
else()
|
||||
get_filename_component(_add_jar_OUTPUT_DIR ${_add_jar_OUTPUT_DIR} ABSOLUTE)
|
||||
endif()
|
||||
# ensure output directory exists
|
||||
file (MAKE_DIRECTORY "${_add_jar_OUTPUT_DIR}")
|
||||
|
||||
if (_add_jar_ENTRY_POINT)
|
||||
set(_ENTRY_POINT_OPTION e)
|
||||
@ -516,7 +518,7 @@ function(add_jar _TARGET_NAME)
|
||||
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
||||
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
||||
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
|
||||
if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
|
||||
@ -547,7 +549,7 @@ function(add_jar _TARGET_NAME)
|
||||
list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
|
||||
|
||||
elseif (_JAVA_EXT MATCHES ".java")
|
||||
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${_add_jar_OUTPUT_DIR} ${_JAVA_FULL})
|
||||
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${CMAKE_CURRENT_BINARY_DIR} ${_JAVA_FULL})
|
||||
file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
|
||||
string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
|
||||
string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
|
||||
|
@ -50,8 +50,12 @@ set (${HDF5_PACKAGE_NAME}_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
||||
# Dependencies
|
||||
#-----------------------------------------------------------------------------
|
||||
if (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL)
|
||||
set (${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@")
|
||||
set (${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_DIRS@")
|
||||
set (${HDF5_PACKAGE_NAME}_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@")
|
||||
if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
|
||||
set (${HDF5_PACKAGE_NAME}_MPI_Fortran_INCLUDE_PATH "@MPI_Fortran_INCLUDE_DIRS@")
|
||||
set (${HDF5_PACKAGE_NAME}_MPI_Fortran_LIBRARIES "@MPI_Fortran_LIBRARIES@")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (${HDF5_PACKAGE_NAME}_BUILD_JAVA)
|
||||
@ -67,7 +71,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
# Directories
|
||||
#-----------------------------------------------------------------------------
|
||||
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH}")
|
||||
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_DIRS}")
|
||||
|
||||
set (${HDF5_PACKAGE_NAME}_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@")
|
||||
set_and_check (${HDF5_PACKAGE_NAME}_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@")
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -153,8 +153,8 @@ if (HDF5_ENABLE_F2003)
|
||||
endif ()
|
||||
|
||||
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
add_test (NAME f90_ex_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
|
||||
add_test (NAME f90_ex_ph5example COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:f90_ex_ph5example> ${MPIEXEC_POSTFLAGS})
|
||||
if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
|
||||
add_test (NAME f90_ex-shared_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
|
||||
add_test (NAME f90_ex-shared_ph5example COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:f90_ex_ph5example> ${MPIEXEC_POSTFLAGS})
|
||||
endif ()
|
||||
endif ()
|
||||
|
@ -241,9 +241,9 @@ endif ()
|
||||
add_library (${HDF5_F90_LIB_TARGET} STATIC ${f90_F_SOURCES})
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_F90_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
target_link_libraries (${HDF5_F90_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_Fortran_LIBS})
|
||||
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
target_link_libraries (${HDF5_F90_LIB_TARGET} MPI::MPI_Fortran)
|
||||
target_include_directories (${HDF5_F90_LIB_TARGET} PUBLIC ${MPI_Fortran_INCLUDE_DIRS})
|
||||
endif ()
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} STATIC)
|
||||
@ -268,9 +268,9 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
|
||||
set (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def")
|
||||
endif ()
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIBSH_TARGET} SHARED " " ${SHARED_LINK_FLAGS})
|
||||
target_link_libraries (${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_C_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
target_link_libraries (${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_C_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${LINK_Fortran_LIBS})
|
||||
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
target_link_libraries (${HDF5_F90_LIBSH_TARGET} MPI::MPI_Fortran)
|
||||
target_include_directories (${HDF5_F90_LIBSH_TARGET} PUBLIC ${MPI_Fortran_INCLUDE_DIRS})
|
||||
endif ()
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_LIB_NAME} SHARED ${HDF5_F_PACKAGE_SOVERSION})
|
||||
|
@ -4,7 +4,7 @@ PROJECT (HDF5_FORTRAN_TESTPAR C CXX Fortran)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Setup include Directories
|
||||
#-----------------------------------------------------------------------------
|
||||
INCLUDE_DIRECTORIES (${MPI_Fortran_INCLUDE_PATH} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
set (TESTPAR_INCLUDES ${MPI_Fortran_INCLUDE_DIRS} ${CMAKE_Fortran_MODULE_DIRECTORY}/static ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Tests
|
||||
@ -27,7 +27,7 @@ target_link_libraries (parallel_test
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (parallel_test "ws2_32.lib")
|
||||
endif ()
|
||||
target_include_directories (parallel_test PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
target_include_directories (parallel_test PRIVATE ${TESTPAR_INCLUDES})
|
||||
set_target_properties (parallel_test PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (parallel_test PROPERTIES FOLDER test/fortran)
|
||||
|
||||
|
@ -15,4 +15,4 @@
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
add_test (NAME FORT_parallel_test COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:parallel_test>)
|
||||
add_test (NAME FORT_parallel_test COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:parallel_test> ${MPIEXEC_POSTFLAGS})
|
||||
|
@ -881,13 +881,12 @@ set (gen_SRCS ${HDF5_BINARY_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c)
|
||||
|
||||
add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_LIB_TARGET} PRIVATE ${LINK_LIBS})
|
||||
target_link_libraries (${HDF5_LIB_TARGET} PUBLIC ${LINK_LIBS})
|
||||
if (NOT WIN32)
|
||||
target_link_libraries (${HDF5_LIB_TARGET} PRIVATE dl)
|
||||
target_link_libraries (${HDF5_LIB_TARGET} PUBLIC dl)
|
||||
endif ()
|
||||
if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
target_include_directories (${HDF5_LIB_TARGET} PRIVATE ${MPI_C_INCLUDE_PATH})
|
||||
target_link_libraries (${HDF5_LIB_TARGET} PRIVATE MPI::MPI_C})
|
||||
target_include_directories (${HDF5_LIB_TARGET} PUBLIC ${MPI_C_INCLUDE_DIRS})
|
||||
endif ()
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC)
|
||||
@ -931,8 +930,7 @@ if (BUILD_SHARED_LIBS)
|
||||
target_link_libraries (${HDF5_LIBSH_TARGET} PUBLIC dl)
|
||||
endif ()
|
||||
if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
target_include_directories (${HDF5_LIBSH_TARGET} PRIVATE ${MPI_C_INCLUDE_PATH})
|
||||
target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE MPI::MPI_C)
|
||||
target_include_directories (${HDF5_LIBSH_TARGET} PUBLIC ${MPI_C_INCLUDE_DIRS})
|
||||
endif ()
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED ${HDF5_PACKAGE_SOVERSION})
|
||||
|
@ -30,14 +30,14 @@ set (testphdf5_SOURCES
|
||||
add_executable (testphdf5 ${testphdf5_SOURCES})
|
||||
TARGET_NAMING (testphdf5 STATIC)
|
||||
TARGET_C_PROPERTIES (testphdf5 STATIC " " " ")
|
||||
target_link_libraries (testphdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
target_link_libraries (testphdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (testphdf5 PROPERTIES FOLDER test/par)
|
||||
|
||||
MACRO (ADD_H5P_EXE file)
|
||||
add_executable (${file} ${HDF5_TEST_PAR_SOURCE_DIR}/${file}.c)
|
||||
TARGET_NAMING (${file} STATIC)
|
||||
TARGET_C_PROPERTIES (${file} STATIC " " " ")
|
||||
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (${file} PROPERTIES FOLDER test/par)
|
||||
ENDMACRO (ADD_H5P_EXE file)
|
||||
|
||||
|
@ -16,10 +16,10 @@
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
add_test (NAME TEST_PAR_testphdf5 COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:testphdf5>)
|
||||
add_test (NAME TEST_PAR_testphdf5 COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:testphdf5> ${MPIEXEC_POSTFLAGS})
|
||||
|
||||
foreach (testp ${H5P_TESTS})
|
||||
add_test (NAME TEST_PAR_${testp} COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:${testp}>)
|
||||
add_test (NAME TEST_PAR_${testp} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:${testp}> ${MPIEXEC_POSTFLAGS})
|
||||
endforeach ()
|
||||
|
||||
# The following will only be correct on windows shared
|
||||
|
@ -447,7 +447,7 @@
|
||||
macro (ADD_PH5_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
if (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
add_test (NAME PH5DIFF-${resultfile} COMMAND $<TARGET_FILE:ph5diff> ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} ${ARGN})
|
||||
add_test (NAME PH5DIFF-${resultfile} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:ph5diff> ${MPIEXEC_POSTFLAGS} ${ARGN})
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/PAR/testfiles")
|
||||
if (NOT "${resultcode}" STREQUAL "0")
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
@ -470,7 +470,7 @@
|
||||
add_test (
|
||||
NAME PH5DIFF-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=${MPIEXEC};${MPIEXEC_PREFLAGS};${MPIEXEC_NUMPROC_FLAG};${MPIEXEC_MAX_NUMPROCS};${MPIEXEC_POSTFLAGS};$<TARGET_FILE:ph5diff>"
|
||||
-D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE};${MPIEXEC_NUMPROC_FLAG};${MPIEXEC_MAX_NUMPROCS};${MPIEXEC_PREFLAGS};$<TARGET_FILE:ph5diff>;${MPIEXEC_POSTFLAGS}"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/PAR/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
|
@ -170,9 +170,9 @@ endif ()
|
||||
set_tests_properties (PERFORM_zip_perf PROPERTIES DEPENDS "PERFORM_zip_perf_help;PERFORM_h5perform-clearall-objects")
|
||||
|
||||
if (H5_HAVE_PARALLEL)
|
||||
add_test (NAME PERFORM_h5perf COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:h5perf>)
|
||||
add_test (NAME PERFORM_h5perf COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:h5perf> ${MPIEXEC_POSTFLAGS})
|
||||
|
||||
if (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
add_test (NAME PERFORM_h5perf_alone COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:h5perf_alone>)
|
||||
add_test (NAME PERFORM_h5perf_alone COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:h5perf_alone> ${MPIEXEC_POSTFLAGS})
|
||||
endif ()
|
||||
endif ()
|
||||
|
Loading…
x
Reference in New Issue
Block a user