mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
[svn-r27465] Merge dual-binary CMake changes
This commit is contained in:
parent
ec5d13d65b
commit
4d0187a483
@ -28,11 +28,12 @@ option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
|
||||
if (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
if (NOT H5_ZLIB_HEADER)
|
||||
if (NOT ZLIB_USE_EXTERNAL)
|
||||
find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
||||
find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
|
||||
if (NOT ZLIB_FOUND)
|
||||
find_package (ZLIB) # Legacy find
|
||||
if (ZLIB_FOUND)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
|
||||
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_LIBRARIES})
|
||||
endif (ZLIB_FOUND)
|
||||
endif (NOT ZLIB_FOUND)
|
||||
endif (NOT ZLIB_USE_EXTERNAL)
|
||||
@ -45,7 +46,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
|
||||
else (ZLIB_FOUND)
|
||||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE})
|
||||
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
|
||||
set (H5_HAVE_FILTER_DEFLATE 1)
|
||||
set (H5_HAVE_ZLIB_H 1)
|
||||
set (H5_HAVE_LIBZ 1)
|
||||
@ -63,7 +64,10 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
if (H5_HAVE_FILTER_DEFLATE)
|
||||
set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
|
||||
endif (H5_HAVE_FILTER_DEFLATE)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_STATIC_LIBRARY})
|
||||
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
|
||||
message (STATUS "Filter ZLIB is ON")
|
||||
endif (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
@ -75,11 +79,12 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
|
||||
if (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
|
||||
if (NOT SZIP_USE_EXTERNAL)
|
||||
find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
||||
find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
|
||||
if (NOT SZIP_FOUND)
|
||||
find_package (SZIP) # Legacy find
|
||||
if (SZIP_FOUND)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
|
||||
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_LIBRARIES})
|
||||
endif (SZIP_FOUND)
|
||||
endif (NOT SZIP_FOUND)
|
||||
endif (NOT SZIP_USE_EXTERNAL)
|
||||
@ -88,10 +93,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
set (H5_HAVE_SZLIB_H 1)
|
||||
set (H5_HAVE_LIBSZ 1)
|
||||
set (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
|
||||
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
|
||||
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIRS} ${SZIP_INCLUDE_DIR})
|
||||
else (SZIP_FOUND)
|
||||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE} ${HDF5_ENABLE_SZIP_ENCODING})
|
||||
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${HDF5_ENABLE_SZIP_ENCODING})
|
||||
set (H5_HAVE_FILTER_SZIP 1)
|
||||
set (H5_HAVE_SZLIB_H 1)
|
||||
set (H5_HAVE_LIBSZ 1)
|
||||
@ -100,7 +105,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
message (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
|
||||
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
endif (SZIP_FOUND)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${SZIP_STATIC_LIBRARY})
|
||||
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
|
||||
message (STATUS "Filter SZIP is ON")
|
||||
if (H5_HAVE_FILTER_SZIP)
|
||||
|
@ -167,11 +167,11 @@ install (
|
||||
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
|
||||
if (HDF5_PACK_EXAMPLES)
|
||||
configure_file (
|
||||
${HDF_RESOURCES_DIR}/HDF518_Examples.cmake.in
|
||||
${HDF5_BINARY_DIR}/HDF518_Examples.cmake @ONLY
|
||||
${HDF_RESOURCES_DIR}/HDF5_Examples.cmake.in
|
||||
${HDF5_BINARY_DIR}/HDF5_Examples.cmake @ONLY
|
||||
)
|
||||
install (
|
||||
FILES ${HDF5_BINARY_DIR}/HDF518_Examples.cmake
|
||||
FILES ${HDF5_BINARY_DIR}/HDF5_Examples.cmake
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
@ -180,7 +180,7 @@ if (HDF5_PACK_EXAMPLES)
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xzf ${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
|
||||
)
|
||||
install (
|
||||
DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples-0.1.1-Source
|
||||
DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
USE_SOURCE_PERMISSIONS
|
||||
COMPONENT hdfdocuments
|
||||
|
@ -138,18 +138,30 @@ set (HDF5_HL_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_C_LIB_
|
||||
#-----------------------------------------------------------------------------
|
||||
# Set the target names of all the libraries
|
||||
#-----------------------------------------------------------------------------
|
||||
set (HDF5_LIB_TARGET ${HDF5_LIB_CORENAME})
|
||||
set (HDF5_TEST_LIB_TARGET ${HDF5_TEST_LIB_CORENAME})
|
||||
set (HDF5_CPP_LIB_TARGET ${HDF5_CPP_LIB_CORENAME})
|
||||
set (HDF5_HL_LIB_TARGET ${HDF5_HL_LIB_CORENAME})
|
||||
set (HDF5_HL_CPP_LIB_TARGET ${HDF5_HL_CPP_LIB_CORENAME})
|
||||
set (HDF5_TOOLS_LIB_TARGET ${HDF5_TOOLS_LIB_CORENAME})
|
||||
set (HDF5_F90_LIB_TARGET ${HDF5_F90_LIB_CORENAME})
|
||||
set (HDF5_F90_C_LIB_TARGET ${HDF5_F90_C_LIB_CORENAME})
|
||||
set (HDF5_F90_TEST_LIB_TARGET ${HDF5_F90_TEST_LIB_CORENAME})
|
||||
set (HDF5_F90_C_TEST_LIB_TARGET ${HDF5_F90_C_TEST_LIB_CORENAME})
|
||||
set (HDF5_HL_F90_LIB_TARGET ${HDF5_HL_F90_LIB_CORENAME})
|
||||
set (HDF5_HL_F90_C_LIB_TARGET ${HDF5_HL_F90_C_LIB_CORENAME})
|
||||
set (HDF5_LIB_TARGET "${HDF5_LIB_CORENAME}-static")
|
||||
set (HDF5_TEST_LIB_TARGET "${HDF5_TEST_LIB_CORENAME}-static")
|
||||
set (HDF5_CPP_LIB_TARGET "${HDF5_CPP_LIB_CORENAME}-static")
|
||||
set (HDF5_HL_LIB_TARGET "${HDF5_HL_LIB_CORENAME}-static")
|
||||
set (HDF5_HL_CPP_LIB_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-static")
|
||||
set (HDF5_TOOLS_LIB_TARGET "${HDF5_TOOLS_LIB_CORENAME}-static")
|
||||
set (HDF5_F90_LIB_TARGET "${HDF5_F90_LIB_CORENAME}-static")
|
||||
set (HDF5_F90_C_LIB_TARGET "${HDF5_F90_C_LIB_CORENAME}-static")
|
||||
set (HDF5_F90_TEST_LIB_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-static")
|
||||
set (HDF5_F90_C_TEST_LIB_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-static")
|
||||
set (HDF5_HL_F90_LIB_TARGET "${HDF5_HL_F90_LIB_CORENAME}-static")
|
||||
set (HDF5_HL_F90_C_LIB_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-static")
|
||||
set (HDF5_LIBSH_TARGET "${HDF5_LIB_CORENAME}-shared")
|
||||
set (HDF5_TEST_LIBSH_TARGET "${HDF5_TEST_LIB_CORENAME}-shared")
|
||||
set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}-shared")
|
||||
set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}-shared")
|
||||
set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-shared")
|
||||
set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}-shared")
|
||||
set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}-shared")
|
||||
set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}-shared")
|
||||
set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-shared")
|
||||
set (HDF5_F90_C_TEST_LIBSH_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-shared")
|
||||
set (HDF5_HL_F90_LIBSH_TARGET "${HDF5_HL_F90_LIB_CORENAME}-shared")
|
||||
set (HDF5_HL_F90_C_LIBSH_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-shared")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Define some CMake variables for use later in the project
|
||||
@ -308,20 +320,15 @@ if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Build Shared/Static libs, default is static
|
||||
# Option to Build Shared and Static libs, default is static
|
||||
#-----------------------------------------------------------------------------
|
||||
option (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
|
||||
set (LIB_TYPE STATIC)
|
||||
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
|
||||
set (H5_ENABLE_SHARED_LIB NO)
|
||||
set (H5_ENABLE_STATIC_LIB NO)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (LIB_TYPE SHARED)
|
||||
set (H5_BUILT_AS_DYNAMIC_LIB 1)
|
||||
set (H5_ENABLE_SHARED_LIB YES)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
set (H5_BUILT_AS_STATIC_LIB 1)
|
||||
set (H5_ENABLE_STATIC_LIB YES)
|
||||
set (LINK_SHARED_LIBS ${LINK_LIBS})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set (H5_ENABLE_STATIC_LIB YES)
|
||||
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -471,6 +478,7 @@ endif (HDF5_ENABLE_PARALLEL)
|
||||
# Parallel IO usage requires MPI to be Linked and Included
|
||||
if (H5_HAVE_PARALLEL)
|
||||
set (LINK_LIBS ${LINK_LIBS} ${MPI_C_LIBRARIES})
|
||||
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${MPI_C_LIBRARIES})
|
||||
if (MPI_C_LINK_FLAGS)
|
||||
set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
endif (MPI_C_LINK_FLAGS)
|
||||
@ -571,9 +579,15 @@ add_subdirectory (${HDF5_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src)
|
||||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} ZLIB)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_dependencies (${HDF5_LIBSH_TARGET} ZLIB)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} SZIP)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_dependencies (${HDF5_LIBSH_TARGET} SZIP)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
|
||||
|
@ -6,15 +6,6 @@ PROJECT (HDF5_CPP)
|
||||
#-----------------------------------------------------------------------------
|
||||
add_definitions (${HDF_EXTRA_C_FLAGS})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Shared/Static Libs
|
||||
#-----------------------------------------------------------------------------
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (CPP_BUILT_AS_DYNAMIC_LIB 1)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
set (CPP_BUILT_AS_STATIC_LIB 1)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Generate configure file
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -34,16 +34,16 @@ set (tutr_examples
|
||||
|
||||
foreach (example ${examples})
|
||||
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
|
||||
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (cpp_ex_${example} STATIC)
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC " " " ")
|
||||
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
|
||||
endforeach (example ${examples})
|
||||
|
||||
foreach (example ${tutr_examples})
|
||||
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
|
||||
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (cpp_ex_${example} STATIC)
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC " " " ")
|
||||
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
|
||||
endforeach (example ${tutr_examples})
|
||||
|
@ -1,13 +1,6 @@
|
||||
cmake_minimum_required (VERSION 3.1.0)
|
||||
PROJECT (HDF5_CPP_SRC)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Shared/Static Libs
|
||||
#-----------------------------------------------------------------------------
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (CPP_BUILT_AS_DYNAMIC_LIB 1)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Generate configure file
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -83,15 +76,31 @@ set (CPP_HDRS
|
||||
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} ${CPP_SRCS} ${CPP_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SRCS} ${CPP_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/cpp
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
set (install_targets ${HDF5_CPP_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_CPP_LIBSH_TARGET} SHARED ${CPP_SRCS} ${CPP_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_CPP_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIBSH_TARGET} ${HDF5_CPP_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_CPP_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/cpp
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
set (install_targets ${install_targets} ${HDF5_CPP_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
@ -110,12 +119,12 @@ install (
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_CPP_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
|
||||
|
@ -35,8 +35,8 @@ set (srcdir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ONLY)
|
||||
|
||||
add_executable (cpp_testhdf5 ${CPP_TEST_SRCS} )
|
||||
TARGET_NAMING (cpp_testhdf5 ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cpp_testhdf5 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (cpp_testhdf5 STATIC)
|
||||
TARGET_C_PROPERTIES (cpp_testhdf5 STATIC " " " ")
|
||||
target_link_libraries (cpp_testhdf5
|
||||
${HDF5_CPP_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
|
@ -15,24 +15,6 @@
|
||||
/* Define if using a Windows compiler (i.e. Visual Studio) */
|
||||
#cmakedefine H5_HAVE_VISUAL_STUDIO @H5_HAVE_VISUAL_STUDIO@
|
||||
|
||||
/* Defined if HDF5 was built with CMake AND build as a shared library */
|
||||
#cmakedefine H5_BUILT_AS_DYNAMIC_LIB @H5_BUILT_AS_DYNAMIC_LIB@
|
||||
|
||||
/* Defined if HDF5 was built with CMake AND build as a static library */
|
||||
#cmakedefine H5_BUILT_AS_STATIC_LIB @H5_BUILT_AS_STATIC_LIB@
|
||||
|
||||
/* Defined if HDF5 CPP was built with CMake AND build as a shared library */
|
||||
#cmakedefine H5_CPP_BUILT_AS_DYNAMIC_LIB @H5_CPP_BUILT_AS_DYNAMIC_LIB@
|
||||
|
||||
/* Defined if HDF5 CPP was built with CMake AND build as a static library */
|
||||
#cmakedefine H5_CPP_BUILT_AS_STATIC_LIB @H5_CPP_BUILT_AS_STATIC_LIB@
|
||||
|
||||
/* Defined if HDF5 HL was built with CMake AND build as a shared library */
|
||||
#cmakedefine H5_HL_BUILT_AS_DYNAMIC_LIB @H5_HL_BUILT_AS_DYNAMIC_LIB@
|
||||
|
||||
/* Defined if HDF5 HL was built with CMake AND build as a static library */
|
||||
#cmakedefine H5_HL_BUILT_AS_STATIC_LIB @H5_HL_BUILT_AS_STATIC_LIB@
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
#cmakedefine H5_AC_APPLE_UNIVERSAL_BUILD @H5_AC_APPLE_UNIVERSAL_BUILD@
|
||||
|
||||
|
@ -4,18 +4,12 @@
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
|
||||
|
||||
set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
|
||||
|
||||
set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE)
|
||||
|
||||
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
|
||||
|
||||
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
|
||||
|
||||
set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
|
||||
|
||||
set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE)
|
||||
|
||||
set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
|
||||
|
@ -6,6 +6,8 @@
|
||||
string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME)
|
||||
|
||||
set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS
|
||||
static
|
||||
shared
|
||||
C
|
||||
CXX
|
||||
Fortran
|
||||
@ -68,12 +70,6 @@ if (${HDF5_PACKAGE_NAME}_BUILD_TOOLS)
|
||||
set_and_check (${HDF5_PACKAGE_NAME}_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin")
|
||||
endif ()
|
||||
|
||||
if (HDF5_BUILD_SHARED_LIBS)
|
||||
set (H5_BUILT_AS_DYNAMIC_LIB 1)
|
||||
else ()
|
||||
set (H5_BUILT_AS_STATIC_LIB 1)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Version Strings
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -95,14 +91,25 @@ if (NOT TARGET "@HDF5_PACKAGE@")
|
||||
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
|
||||
endif ()
|
||||
|
||||
# Handle default component :
|
||||
# Handle default component(static) :
|
||||
if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_C true)
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL static)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_static_C true)
|
||||
endif ()
|
||||
|
||||
# Handle requested components:
|
||||
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
if (${comp} STREQUAL "shared")
|
||||
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
||||
elseif (${comp} STREQUAL "static")
|
||||
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
||||
endif ()
|
||||
endforeach ()
|
||||
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
set (hdf5_comp2)
|
||||
if (${comp} STREQUAL "C")
|
||||
@ -122,26 +129,28 @@ list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
set (hdf5_comp2 "hdf5_hl_f90cstub")
|
||||
set (hdf5_comp "hdf5_hl_fortran")
|
||||
endif ()
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}-${libtype}" HAVE_COMP)
|
||||
if (${HAVE_COMP} LESS 0)
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
|
||||
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
|
||||
else ()
|
||||
if (hdf5_comp2)
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}" HAVE_COMP2)
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}-${libtype}" HAVE_COMP2)
|
||||
if (${HAVE_COMP2} LESS 0)
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
|
||||
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
|
||||
else ()
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
|
||||
set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp2} ${hdf5_comp})
|
||||
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 1)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
|
||||
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp2}-${libtype} ${hdf5_comp}-${libtype})
|
||||
endif ()
|
||||
else ()
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
|
||||
set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp})
|
||||
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 1)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
|
||||
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp}-${libtype})
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
endforeach ()
|
||||
|
||||
check_required_components(${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
|
||||
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
check_required_components(${HDF5_PACKAGE_NAME}_${libtype})
|
||||
endforeach ()
|
||||
|
@ -38,18 +38,32 @@ set (examples
|
||||
|
||||
foreach (example ${examples})
|
||||
add_executable (${example} ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
|
||||
TARGET_NAMING (${example} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (${example} STATIC)
|
||||
TARGET_C_PROPERTIES (${example} STATIC " " " ")
|
||||
target_link_libraries (${example} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (${example} PROPERTIES FOLDER examples)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (${example}-shared ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
|
||||
TARGET_NAMING (${example}-shared SHARED)
|
||||
TARGET_C_PROPERTIES (${example}-shared SHARED " " " ")
|
||||
target_link_libraries (${example}-shared ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (${example}-shared PROPERTIES FOLDER examples)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (example ${examples})
|
||||
|
||||
if (H5_HAVE_PARALLEL)
|
||||
add_executable (ph5example ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
|
||||
TARGET_NAMING (ph5example ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ph5example ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (ph5example STATIC)
|
||||
TARGET_C_PROPERTIES (ph5example STATIC " " " ")
|
||||
target_link_libraries (ph5example ${HDF5_LIB_TARGET})
|
||||
set_target_properties (ph5example PROPERTIES FOLDER examples)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (ph5example-shared ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
|
||||
TARGET_NAMING (ph5example-shared SHARED)
|
||||
TARGET_C_PROPERTIES (ph5example-shared SHARED " " " ")
|
||||
target_link_libraries (ph5example-shared ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (ph5example-shared PROPERTIES FOLDER examples)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (H5_HAVE_PARALLEL)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
|
@ -5,6 +5,10 @@
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/red ${PROJECT_BINARY_DIR}/blue ${PROJECT_BINARY_DIR}/u2w)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5EX-shared")
|
||||
file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared/red ${PROJECT_BINARY_DIR}/H5EX-shared/blue ${PROJECT_BINARY_DIR}/H5EX-shared/u2w)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
add_test (
|
||||
@ -56,6 +60,61 @@
|
||||
set (last_test "EXAMPLES-${example}")
|
||||
endforeach (example ${examples})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Remove any output file left over from previous test run
|
||||
add_test (
|
||||
NAME EXAMPLES-shared-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
Attributes.h5
|
||||
btrees_file.h5
|
||||
cmprss.h5
|
||||
default_file.h5
|
||||
dset.h5
|
||||
extend.h5
|
||||
extlink_prefix_source.h5
|
||||
extlink_source.h5
|
||||
extlink_target.h5
|
||||
group.h5
|
||||
groups.h5
|
||||
hard_link.h5
|
||||
mount1.h5
|
||||
mount2.h5
|
||||
one_index_file.h5
|
||||
only_dspaces_and_attrs_file.h5
|
||||
only_huge_mesgs_file.h5
|
||||
REF_REG.h5
|
||||
refere.h5
|
||||
SDS.h5
|
||||
SDScompound.h5
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
separate_indexes_file.h5
|
||||
small_lists_file.h5
|
||||
soft_link.h5
|
||||
subset.h5
|
||||
unix2win.h5
|
||||
blue/prefix_target.h5
|
||||
red/prefix_target.h5
|
||||
u2w/u2w_target.h5
|
||||
WORKING_DIRECTORY
|
||||
${PROJECT_BINARY_DIR}/H5EX-shared
|
||||
)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (EXAMPLES-shared-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "EXAMPLES-shared-clear-objects")
|
||||
|
||||
foreach (example ${examples})
|
||||
add_test (NAME EXAMPLES-shared-${example} COMMAND $<TARGET_FILE:${example}-shared>)
|
||||
set_tests_properties (EXAMPLES-shared-${example} PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (EXAMPLES-shared-${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "EXAMPLES-shared-${example}")
|
||||
endforeach (example ${examples})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
### Windows pops up a modal permission dialog on this test
|
||||
if (H5_HAVE_PARALLEL AND NOT WIN32)
|
||||
add_test (NAME EXAMPLES-ph5example COMMAND $<TARGET_FILE:ph5example>)
|
||||
@ -63,4 +122,12 @@
|
||||
set_tests_properties (EXAMPLES-ph5example PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "EXAMPLES-ph5example")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (NAME EXAMPLES-shared-ph5example COMMAND $<TARGET_FILE:ph5example-shared>)
|
||||
set_tests_properties (EXAMPLES-shared-ph5example PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (EXAMPLES-shared-ph5example PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "EXAMPLES-shared-ph5example")
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (H5_HAVE_PARALLEL AND NOT WIN32)
|
||||
|
@ -40,8 +40,8 @@ set (F2003_examples
|
||||
|
||||
foreach (example ${examples})
|
||||
add_executable (f90_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
TARGET_NAMING (f90_ex_${example} ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (f90_ex_${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (f90_ex_${example} STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (f90_ex_${example} STATIC " " " ")
|
||||
target_link_libraries (f90_ex_${example}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
@ -50,15 +50,30 @@ foreach (example ${examples})
|
||||
set_target_properties (f90_ex_${example} PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER examples/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (f90_ex_${example}-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
TARGET_NAMING (f90_ex_${example}-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (f90_ex_${example}-shared SHARED " " " ")
|
||||
target_link_libraries (f90_ex_${example}-shared
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
target_include_directories (f90_ex_${example}-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (f90_ex_${example}-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER examples/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (example ${examples})
|
||||
|
||||
if (HDF5_ENABLE_F2003)
|
||||
foreach (example ${F2003_examples})
|
||||
add_executable (f03_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
TARGET_NAMING (f03_ex_${example} ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (f03_ex_${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (f03_ex_${example} STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (f03_ex_${example} STATIC " " " ")
|
||||
target_link_libraries (f03_ex_${example}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
@ -67,15 +82,30 @@ if (HDF5_ENABLE_F2003)
|
||||
set_target_properties (f03_ex_${example} PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER examples/fortran03
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (f03_ex_${example}-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
TARGET_NAMING (f03_ex_${example}-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (f03_ex_${example}-shared SHARED " " " ")
|
||||
target_link_libraries (f03_ex_${example}-shared
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
target_include_directories (f03_ex_${example}-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (f03_ex_${example}-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER examples/fortran03
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (example ${F2003_examples})
|
||||
endif (HDF5_ENABLE_F2003)
|
||||
|
||||
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
add_executable (f90_ex_ph5example ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
|
||||
TARGET_NAMING (f90_ex_ph5example ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (f90_ex_ph5example STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example STATIC " " " ")
|
||||
target_link_libraries (f90_ex_ph5example
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
@ -85,8 +115,24 @@ if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
set_target_properties (f90_ex_ph5example PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER examples/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (f90_ex_ph5example-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
|
||||
TARGET_NAMING (f90_ex_ph5example-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example-shared SHARED " " " ")
|
||||
target_link_libraries (f90_ex_ph5example-shared
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
${MPI_Fortran_LIBRARIES}
|
||||
)
|
||||
target_include_directories (f90_ex_ph5example-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (f90_ex_ph5example-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER examples/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
|
@ -28,6 +28,30 @@
|
||||
set_tests_properties (f90_ex-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "f90_ex-clear-objects")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME f90_ex-shared-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
compound.h5
|
||||
copy1.h5
|
||||
copy2.h5
|
||||
dsetf.h5
|
||||
extend.h5
|
||||
FORTRAN.h5
|
||||
groupf.h5
|
||||
groupsf.h5
|
||||
h5_cmprss.h5
|
||||
mount1.h5
|
||||
mount2.h5
|
||||
sdsf.h5
|
||||
subset.h5
|
||||
)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (f90_ex-shared-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "f90_ex-shared-clear-objects")
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
foreach (example ${examples})
|
||||
add_test (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
|
||||
@ -35,6 +59,13 @@ foreach (example ${examples})
|
||||
set_tests_properties (f90_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "f90_ex_${example}")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (NAME f90_ex-shared_${example} COMMAND $<TARGET_FILE:f90_ex_${example}-shared>)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (f90_ex-shared_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "f90_ex-shared_${example}")
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (example ${examples})
|
||||
|
||||
if (HDF5_ENABLE_F2003)
|
||||
@ -44,9 +75,19 @@ if (HDF5_ENABLE_F2003)
|
||||
set_tests_properties (f03_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "f03_ex_${example}")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (NAME f03_ex-shared_${example} COMMAND $<TARGET_FILE:f03_ex_${example}-shared>)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (f03_ex-shared_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
set (last_test "f03_ex-shared_${example}")
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (example ${F2003_examples})
|
||||
endif (HDF5_ENABLE_F2003)
|
||||
|
||||
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>)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (NAME f90_ex-shared_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
|
@ -29,22 +29,37 @@ if (FORTRAN_HAVE_STORAGE_SIZE)
|
||||
add_executable (H5test_FortranHavekind
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_STORAGE_SIZE.f90
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (H5test_FortranHavekind-shared
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_STORAGE_SIZE.f90
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set (H5_TEST_KIND_NAME "h5test_kind_storage_size_mod")
|
||||
else (FORTRAN_HAVE_STORAGE_SIZE)
|
||||
if (FORTRAN_HAVE_SIZEOF)
|
||||
add_executable (H5test_FortranHavekind
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_SIZEOF.f90
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (H5test_FortranHavekind-shared
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_SIZEOF.f90
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set (H5_TEST_KIND_NAME "h5test_kind_sizeof_mod")
|
||||
else (FORTRAN_HAVE_SIZEOF)
|
||||
add_executable (H5test_FortranHavekind
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind.f90
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (H5test_FortranHavekind-shared
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind.f90
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (FORTRAN_HAVE_SIZEOF)
|
||||
endif (FORTRAN_HAVE_STORAGE_SIZE)
|
||||
if (WIN32 AND MSVC)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set_target_properties (H5test_FortranHavekind
|
||||
set_target_properties (H5test_FortranHavekind-shared
|
||||
PROPERTIES
|
||||
COMPILE_FLAGS "/MT"
|
||||
)
|
||||
@ -56,8 +71,14 @@ if (WIN32 AND MSVC)
|
||||
endif (WIN32 AND MSVC)
|
||||
set_target_properties (H5test_FortranHavekind PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set_target_properties (H5test_FortranHavekind-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
set (CMD $<TARGET_FILE:H5test_FortranHavekind>)
|
||||
add_custom_command (
|
||||
@ -144,16 +165,33 @@ set (f90CStub_C_HDRS
|
||||
${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_F90_C_LIB_TARGET} ${LIB_TYPE} ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_F90_C_LIB_TARGET} STATIC ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_F90_C_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/fortran
|
||||
LINKER_LANGUAGE C
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
set (install_targets ${HDF5_F90_C_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_C_LIBSH_TARGET} SHARED ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${LINK_SHARED_LIBS})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_F90_C_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_F90_C_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/fortran
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
set (install_targets ${install_targets} ${HDF5_F90_C_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Fortran 2003 standard
|
||||
@ -233,58 +271,86 @@ set_source_files_properties (${f90_F_SRCS} PROPERTIES LANGUAGE Fortran)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Main fortran library
|
||||
#-----------------------------------------------------------------------------
|
||||
add_library (${HDF5_F90_LIB_TARGET} ${LIB_TYPE} ${f90_F_SRCS})
|
||||
add_library (${HDF5_F90_LIB_TARGET} STATIC ${f90_F_SRCS})
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
if (WIN32)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set_property (TARGET ${HDF5_F90_LIB_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
BUILD_HDF5_DLL
|
||||
)
|
||||
if (MSVC)
|
||||
set (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def")
|
||||
endif (MSVC)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set_property (TARGET ${HDF5_F90_LIB_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
HDF5F90_WINDOWS
|
||||
)
|
||||
endif (WIN32)
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIB_TARGET} ${LIB_TYPE} " " ${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})
|
||||
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
target_link_libraries (${HDF5_F90_LIB_TARGET} ${MPI_Fortran_LIBRARIES})
|
||||
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
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} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/fortran
|
||||
LINKER_LANGUAGE Fortran
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_F90_LIB_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS "HDF5F90_WINDOWS"
|
||||
)
|
||||
endif (WIN32)
|
||||
set (install_targets ${install_targets} ${HDF5_F90_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_LIBSH_TARGET} SHARED ${f90_F_SRCS})
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
if (WIN32 AND MSVC)
|
||||
set (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def")
|
||||
endif (WIN32 AND MSVC)
|
||||
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})
|
||||
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
target_link_libraries (${HDF5_F90_LIBSH_TARGET} ${MPI_Fortran_LIBRARIES})
|
||||
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
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)
|
||||
set_target_properties (${HDF5_F90_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/fortran
|
||||
LINKER_LANGUAGE Fortran
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_F90_LIBSH_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS "BUILD_HDF5_DLL;HDF5F90_WINDOWS"
|
||||
)
|
||||
endif (WIN32)
|
||||
set (install_targets ${install_targets} ${HDF5_F90_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
install (
|
||||
FILES
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5f90.h
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
|
||||
FILES
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5f90.h
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
|
||||
${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
|
||||
${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
|
||||
DESTINATION
|
||||
DESTINATION
|
||||
${HDF5_INSTALL_INCLUDE_DIR}
|
||||
COMPONENT
|
||||
COMPONENT
|
||||
fortheaders
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE})
|
||||
else (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
endif (WIN32)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/\${BUILD_TYPE})
|
||||
else (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
endif (WIN32)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/\${BUILD_TYPE})
|
||||
else (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
endif (WIN32)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
set (mod_files
|
||||
${MOD_BUILD_DIR}/h5fortran_types.mod
|
||||
@ -330,14 +396,13 @@ install (
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
|
||||
#INSTALL_TARGET_PDB (${HDF5_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
|
||||
#INSTALL_TARGET_PDB (${HDF5_F90_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_F90_C_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT fortlibraries
|
||||
|
@ -9,56 +9,103 @@ INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Test Lib
|
||||
#-----------------------------------------------------------------------------
|
||||
add_library (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} t.c)
|
||||
add_library (${HDF5_F90_C_TEST_LIB_TARGET} STATIC t.c)
|
||||
set_source_files_properties (t.c PROPERTIES LANGUAGE C)
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET}
|
||||
${HDF5_F90_C_LIB_TARGET}
|
||||
${HDF5_TEST_LIB_TARGET}
|
||||
)
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_F90_C_TEST_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/test/fortran
|
||||
LINKER_LANGUAGE C
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_C_TEST_LIBSH_TARGET} SHARED t.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_F90_C_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_C_LIBSH_TARGET}
|
||||
${HDF5_TEST_LIBSH_TARGET}
|
||||
)
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIBSH_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_F90_C_TEST_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/test/fortran
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
# See if the F2008 intrinsic STORAGE_SIZE and C_SIZEOF are supported. If not then
|
||||
# fall back to F2003. If F2003 not supported then use F90 for the tests.
|
||||
|
||||
set_source_files_properties (tf_F90.f90 tf_F03.f90 tf_F08.f90 tf.f90 PROPERTIES LANGUAGE Fortran)
|
||||
if (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F08.f90 tf.f90)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} STATIC tf_F08.f90 tf.f90)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_TEST_LIBSH_TARGET} SHARED tf_F08.f90 tf.f90)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
elseif (HDF5_ENABLE_F2003)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F03.f90 tf.f90)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} STATIC tf_F03.f90 tf.f90)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_TEST_LIBSH_TARGET} SHARED tf_F03.f90 tf.f90)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
else (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F90.f90 tf.f90)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} STATIC tf_F90.f90 tf.f90)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_TEST_LIBSH_TARGET} SHARED tf_F90.f90 tf.f90)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF)
|
||||
|
||||
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
if (WIN32)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS BUILD_HDF5_TEST_DLL)
|
||||
if (MSVC)
|
||||
set (SHARED_LINK_FLAGS "/DLL")
|
||||
endif (MSVC)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS HDF5F90_WINDOWS)
|
||||
endif (WIN32)
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_F90_TEST_LIB_TARGET}
|
||||
${HDF5_F90_C_TEST_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
)
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} STATIC)
|
||||
target_include_directories (${HDF5_F90_TEST_LIB_TARGET} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/test/fortran
|
||||
LINKER_LANGUAGE Fortran
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY
|
||||
COMPILE_DEFINITIONS "HDF5F90_WINDOWS"
|
||||
)
|
||||
endif (WIN32)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
if (WIN32 AND MSVC)
|
||||
set (SHARED_LINK_FLAGS "/DLL")
|
||||
endif (WIN32 AND MSVC)
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIBSH_TARGET} SHARED " " ${SHARED_LINK_FLAGS})
|
||||
target_link_libraries (${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_C_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_TEST_LIB_NAME} SHARED)
|
||||
target_include_directories (${HDF5_F90_TEST_LIBSH_TARGET} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (${HDF5_F90_TEST_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/test/fortran
|
||||
LINKER_LANGUAGE Fortran
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_F90_TEST_LIBSH_TARGET} APPEND PROPERTY
|
||||
COMPILE_DEFINITIONS "BUILD_HDF5_TEST_DLL;HDF5F90_WINDOWS"
|
||||
)
|
||||
endif (WIN32)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Tests
|
||||
@ -82,8 +129,8 @@ add_executable (testhdf5_fortran
|
||||
tH5Z.f90
|
||||
tHDF5.f90
|
||||
)
|
||||
TARGET_NAMING (testhdf5_fortran ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (testhdf5_fortran ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (testhdf5_fortran STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (testhdf5_fortran STATIC " " " ")
|
||||
target_link_libraries (testhdf5_fortran
|
||||
${HDF5_F90_TEST_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
@ -96,8 +143,43 @@ target_include_directories (testhdf5_fortran PRIVATE ${CMAKE_Fortran_MODULE_DIRE
|
||||
set_target_properties (testhdf5_fortran PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (testhdf5_fortran-shared
|
||||
fortranlib_test.f90
|
||||
tH5A.f90
|
||||
tH5D.f90
|
||||
tH5E.f90
|
||||
tH5F.f90
|
||||
tH5G.f90
|
||||
tH5I.f90
|
||||
tH5P.f90
|
||||
tH5R.f90
|
||||
tH5S.f90
|
||||
tH5Sselect.f90
|
||||
tH5T.f90
|
||||
tH5VL.f90
|
||||
tH5Z.f90
|
||||
tHDF5.f90
|
||||
)
|
||||
TARGET_NAMING (testhdf5_fortran-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (testhdf5_fortran-shared SHARED " " " ")
|
||||
target_link_libraries (testhdf5_fortran-shared
|
||||
${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (testhdf5_fortran-shared "ws2_32.lib")
|
||||
endif (WIN32 AND MSVC)
|
||||
target_include_directories (testhdf5_fortran-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (testhdf5_fortran-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for testhdf5_fortran_1_8
|
||||
add_executable (testhdf5_fortran_1_8
|
||||
@ -108,8 +190,8 @@ add_executable (testhdf5_fortran_1_8
|
||||
tH5MISC_1_8.f90
|
||||
tHDF5_1_8.f90
|
||||
)
|
||||
TARGET_NAMING (testhdf5_fortran_1_8 ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (testhdf5_fortran_1_8 STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8 STATIC " " " ")
|
||||
target_link_libraries (testhdf5_fortran_1_8
|
||||
${HDF5_F90_TEST_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
@ -122,8 +204,34 @@ target_include_directories (testhdf5_fortran_1_8 PRIVATE ${CMAKE_Fortran_MODULE_
|
||||
set_target_properties (testhdf5_fortran_1_8 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (testhdf5_fortran_1_8-shared
|
||||
fortranlib_test_1_8.f90
|
||||
tH5O.f90
|
||||
tH5A_1_8.f90
|
||||
tH5G_1_8.f90
|
||||
tH5MISC_1_8.f90
|
||||
tHDF5_1_8.f90
|
||||
)
|
||||
TARGET_NAMING (testhdf5_fortran_1_8-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8-shared SHARED " " " ")
|
||||
target_link_libraries (testhdf5_fortran_1_8-shared
|
||||
${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (testhdf5_fortran_1_8-shared "ws2_32.lib")
|
||||
endif (WIN32 AND MSVC)
|
||||
target_include_directories (testhdf5_fortran_1_8-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (testhdf5_fortran_1_8-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for fortranlib_test_F03
|
||||
if (HDF5_ENABLE_F2003)
|
||||
@ -137,8 +245,8 @@ if (HDF5_ENABLE_F2003)
|
||||
tH5T_F03.f90
|
||||
tHDF5_F03.f90
|
||||
)
|
||||
TARGET_NAMING (fortranlib_test_F03 ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (fortranlib_test_F03 STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03 STATIC " " " ")
|
||||
target_link_libraries (fortranlib_test_F03
|
||||
${HDF5_F90_TEST_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
@ -151,14 +259,42 @@ if (HDF5_ENABLE_F2003)
|
||||
set_target_properties (fortranlib_test_F03 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (fortranlib_test_F03-shared
|
||||
fortranlib_test_F03.f90
|
||||
tH5E_F03.f90
|
||||
tH5F_F03.f90
|
||||
tH5L_F03.f90
|
||||
tH5O_F03.f90
|
||||
tH5P_F03.f90
|
||||
tH5T_F03.f90
|
||||
tHDF5_F03.f90
|
||||
)
|
||||
TARGET_NAMING (fortranlib_test_F03-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03-shared SHARED " " " ")
|
||||
target_link_libraries (fortranlib_test_F03-shared
|
||||
${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (fortranlib_test_F03-shared "ws2_32.lib")
|
||||
endif (WIN32 AND MSVC)
|
||||
target_include_directories (fortranlib_test_F03-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (fortranlib_test_F03-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (HDF5_ENABLE_F2003)
|
||||
|
||||
#-- Adding test for fflush1
|
||||
add_executable (fflush1 fflush1.f90)
|
||||
TARGET_NAMING (fflush1 ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (fflush1 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (fflush1 STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (fflush1 STATIC " " " ")
|
||||
target_link_libraries (fflush1
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${HDF5_F90_TEST_LIB_TARGET}
|
||||
@ -171,13 +307,32 @@ target_include_directories (fflush1 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/st
|
||||
set_target_properties (fflush1 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (fflush1-shared fflush1.f90)
|
||||
TARGET_NAMING (fflush1-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (fflush1-shared SHARED " " " ")
|
||||
target_link_libraries (fflush1-shared
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (fflush1-shared "ws2_32.lib")
|
||||
endif (WIN32 AND MSVC)
|
||||
target_include_directories (fflush1-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (fflush1-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for fflush2
|
||||
add_executable (fflush2 fflush2.f90)
|
||||
TARGET_NAMING (fflush2 ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (fflush2 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (fflush2 STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (fflush2 STATIC " " " ")
|
||||
target_link_libraries (fflush2
|
||||
${HDF5_F90_TEST_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
@ -190,7 +345,26 @@ target_include_directories (fflush2 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/st
|
||||
set_target_properties (fflush2 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (fflush2-shared fflush2.f90)
|
||||
TARGET_NAMING (fflush2-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (fflush2-shared SHARED " " " ")
|
||||
target_link_libraries (fflush2-shared
|
||||
${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
${HDF5_F90_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (fflush2-shared "ws2_32.lib")
|
||||
endif (WIN32 AND MSVC)
|
||||
target_include_directories (fflush2-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (fflush2-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
@ -26,3 +26,29 @@ add_test (NAME FORTRAN_fflush1 COMMAND $<TARGET_FILE:fflush1>)
|
||||
#-- Adding test for fflush2
|
||||
add_test (NAME FORTRAN_fflush2 COMMAND $<TARGET_FILE:fflush2>)
|
||||
set_tests_properties (FORTRAN_fflush2 PROPERTIES DEPENDS FORTRAN_fflush1)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (NAME FORTRAN_testhdf5_fortran-shared COMMAND $<TARGET_FILE:testhdf5_fortran-shared>)
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran-shared PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran-shared PROPERTIES DEPENDS FORTRAN_testhdf5_fortran)
|
||||
|
||||
#-- Adding test for testhdf5_fortran_1_8
|
||||
add_test (NAME FORTRAN_testhdf5_fortran_1_8-shared COMMAND $<TARGET_FILE:testhdf5_fortran_1_8-shared>)
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran_1_8-shared PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran_1_8-shared PROPERTIES DEPENDS FORTRAN_testhdf5_fortran_1_8)
|
||||
|
||||
#-- Adding test for fortranlib_test_F03
|
||||
if (HDF5_ENABLE_F2003)
|
||||
add_test (NAME FORTRAN_fortranlib_test_F03-shared COMMAND $<TARGET_FILE:fortranlib_test_F03-shared>)
|
||||
set_tests_properties (FORTRAN_fortranlib_test_F03-shared PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
set_tests_properties (FORTRAN_fortranlib_test_F03-shared PROPERTIES DEPENDS FORTRAN_fortranlib_test_F03)
|
||||
endif (HDF5_ENABLE_F2003)
|
||||
|
||||
#-- Adding test for fflush1
|
||||
add_test (NAME FORTRAN_fflush1-shared COMMAND $<TARGET_FILE:fflush1-shared>)
|
||||
set_tests_properties (FORTRAN_fflush1-shared PROPERTIES DEPENDS FORTRAN_fflush2)
|
||||
|
||||
#-- Adding test for fflush2
|
||||
add_test (NAME FORTRAN_fflush2-shared COMMAND $<TARGET_FILE:fflush2-shared>)
|
||||
set_tests_properties (FORTRAN_fflush2-shared PROPERTIES DEPENDS FORTRAN_fflush1-shared)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
@ -16,8 +16,8 @@ add_executable (parallel_test
|
||||
hyper.f90
|
||||
mdset.f90
|
||||
)
|
||||
TARGET_NAMING (parallel_test ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (parallel_test ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (parallel_test STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (parallel_test STATIC " " " ")
|
||||
target_link_libraries (parallel_test
|
||||
${HDF5_F90_TEST_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
@ -27,7 +27,7 @@ target_link_libraries (parallel_test
|
||||
if (WIN32 AND MSVC)
|
||||
target_link_libraries (parallel_test "ws2_32.lib")
|
||||
endif (WIN32 AND MSVC)
|
||||
target_include_directories (parallel_test PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
target_include_directories (parallel_test PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (parallel_test PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (parallel_test PROPERTIES FOLDER test/fortran)
|
||||
|
||||
|
@ -6,14 +6,6 @@ PROJECT (HDF5_HL C CXX)
|
||||
#-----------------------------------------------------------------------------
|
||||
add_definitions (${HDF_EXTRA_C_FLAGS})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Shared Libs
|
||||
#-----------------------------------------------------------------------------
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (HL_BUILT_AS_DYNAMIC_LIB 1)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
set (HL_BUILT_AS_STATIC_LIB 1)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# List Source files
|
||||
|
@ -11,8 +11,8 @@ INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_DIR}/src)
|
||||
# Add in the examples for the Packet Table codes
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (ptExampleFL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleFL.cpp)
|
||||
TARGET_NAMING (ptExampleFL ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ptExampleFL ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (ptExampleFL STATIC)
|
||||
TARGET_C_PROPERTIES (ptExampleFL STATIC " " " ")
|
||||
target_link_libraries (
|
||||
ptExampleFL
|
||||
${HDF5_HL_CPP_LIB_TARGET}
|
||||
|
@ -10,22 +10,42 @@ INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_SOURCE_DIR})
|
||||
set (HDF5_HL_CPP_SRCS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.cpp)
|
||||
set (HDF5_HL_CPP_HDRS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.h)
|
||||
|
||||
add_library (${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_CPP_SRCS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_HL_CPP_LIB_TARGET} STATIC ${HDF5_HL_CPP_SRCS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (
|
||||
${HDF5_HL_CPP_LIB_TARGET}
|
||||
${HDF5_HL_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
)
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_HL_CPP_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
set (install_targets ${HDF5_HL_CPP_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_HL_CPP_LIBSH_TARGET} SHARED ${HDF5_HL_CPP_SRCS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (
|
||||
${HDF5_HL_CPP_LIBSH_TARGET}
|
||||
${HDF5_HL_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIBSH_TARGET} ${HDF5_HL_CPP_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_HL_CPP_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
set (install_targets ${install_targets} ${HDF5_HL_CPP_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
# Add file(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
install (
|
||||
FILES
|
||||
@ -41,12 +61,12 @@ install (
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_HL_CPP_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlcpplibraries
|
||||
|
@ -16,8 +16,8 @@ INCLUDE_DIRECTORIES (${HDF5_HL_SRC_DIR}/test)
|
||||
INCLUDE_DIRECTORIES (${HDF5_CPP_SRC_DIR}/src)
|
||||
|
||||
add_executable (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
|
||||
TARGET_C_PROPERTIES (hl_ptableTest ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_ptableTest ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (hl_ptableTest STATIC " " " ")
|
||||
TARGET_NAMING (hl_ptableTest STATIC)
|
||||
target_link_libraries (
|
||||
hl_ptableTest
|
||||
${HDF5_LIB_TARGET}
|
||||
|
@ -28,8 +28,8 @@ set (examples
|
||||
|
||||
foreach (example ${examples})
|
||||
add_executable (hl_ex_${example} ${HDF5_HL_EXAMPLES_SOURCE_DIR}/${example}.c)
|
||||
TARGET_NAMING (hl_ex_${example} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (hl_ex_${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_ex_${example} STATIC)
|
||||
TARGET_C_PROPERTIES (hl_ex_${example} STATIC " " " ")
|
||||
target_link_libraries (hl_ex_${example} ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (hl_ex_${example} PROPERTIES FOLDER examples/hl)
|
||||
endforeach (example ${examples})
|
||||
|
@ -16,14 +16,14 @@ set (examples
|
||||
|
||||
foreach (example ${examples})
|
||||
add_executable (hl_f90_ex_${example} ${HDF5_HL_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
TARGET_NAMING (hl_f90_ex_${example} ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_ex_${example} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_f90_ex_${example} STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_ex_${example} STATIC " " " ")
|
||||
target_link_libraries (hl_f90_ex_${example}
|
||||
${HDF5_HL_F90_LIB_TARGET}
|
||||
${HDF5_F90_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
)
|
||||
target_include_directories (hl_f90_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
target_include_directories (hl_f90_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (hl_f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_ex_${example} PROPERTIES FOLDER examples/hl/fortran)
|
||||
|
||||
|
@ -24,16 +24,33 @@ set_source_files_properties (${HDF5_HL_F90_C_SRCS} PROPERTIES LANGUAGE C)
|
||||
|
||||
set (HDF5_HL_F90_HEADERS ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTf90proto.h)
|
||||
|
||||
add_library (${HDF5_HL_F90_C_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_HL_F90_C_LIB_TARGET} STATIC ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_HL_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_HL_F90_C_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_HL_F90_C_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_HL_F90_C_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl/fortran
|
||||
LINKER_LANGUAGE C
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
set (install_targets ${HDF5_HL_F90_C_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_HL_F90_C_LIBSH_TARGET} SHARED ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_F90_C_LIBSH_TARGET} ${HDF5_HL_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_HL_F90_C_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_HL_F90_C_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl/fortran
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
set (install_targets ${install_targets} ${HDF5_HL_F90_C_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Fortran Modules
|
||||
@ -46,45 +63,66 @@ set (HDF5_HL_F90_F_SRCS
|
||||
)
|
||||
set_source_files_properties (${HDF5_HL_F90_F_SRCS} PROPERTIES LANGUAGE Fortran)
|
||||
|
||||
add_library (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_F_SRCS})
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
BUILD_HDF5_HL_DLL
|
||||
)
|
||||
if (MSVC)
|
||||
set (SHARED_LINK_FLAGS "/DLL")
|
||||
endif (MSVC)
|
||||
endif (WIN32)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
HDF5F90_WINDOWS
|
||||
)
|
||||
endif (WIN32)
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
|
||||
add_library (${HDF5_HL_F90_LIB_TARGET} STATIC ${HDF5_HL_F90_F_SRCS})
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_HL_F90_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl/fortran
|
||||
LINKER_LANGUAGE Fortran
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS "HDF5F90_WINDOWS"
|
||||
)
|
||||
endif (WIN32)
|
||||
set (install_targets ${install_targets} ${HDF5_HL_F90_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_HL_F90_LIBSH_TARGET} SHARED ${HDF5_HL_F90_F_SRCS})
|
||||
set (SHARED_LINK_FLAGS " ")
|
||||
if (WIN32 AND MSVC)
|
||||
set (SHARED_LINK_FLAGS "/DLL")
|
||||
endif (WIN32 AND MSVC)
|
||||
TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIBSH_TARGET} SHARED " " ${SHARED_LINK_FLAGS})
|
||||
target_link_libraries (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_HL_F90_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_HL_F90_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl/fortran
|
||||
LINKER_LANGUAGE Fortran
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${HDF5_HL_F90_LIBSH_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS "BUILD_HDF5_HL_DLL;HDF5F90_WINDOWS"
|
||||
)
|
||||
endif (WIN32)
|
||||
set (install_targets ${install_targets} ${HDF5_HL_F90_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
if (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE})
|
||||
else (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
endif (WIN32)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/\${BUILD_TYPE})
|
||||
else (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
endif (WIN32)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/\${BUILD_TYPE})
|
||||
else (WIN32)
|
||||
set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
endif (WIN32)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
set (mod_files
|
||||
${MOD_BUILD_DIR}/h5ds.mod
|
||||
@ -107,14 +145,13 @@ install (
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
|
||||
#INSTALL_TARGET_PDB (${HDF5_HL_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
|
||||
#INSTALL_TARGET_PDB (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_HL_F90_C_LIB_TARGET}
|
||||
${HDF5_HL_F90_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlfortlibraries
|
||||
|
@ -4,42 +4,90 @@ PROJECT (HDF5_HL_FORTRAN_TESTS C CXX Fortran)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Tests
|
||||
#-----------------------------------------------------------------------------
|
||||
INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
|
||||
#-- Adding test for hl_f90_tstds
|
||||
add_executable (hl_f90_tstds tstds.f90)
|
||||
TARGET_NAMING (hl_f90_tstds ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstds ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_f90_tstds STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstds STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tstds ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
target_include_directories (hl_f90_tstds PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
target_include_directories (hl_f90_tstds PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (hl_f90_tstds PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tstds PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tstds-shared tstds.f90)
|
||||
TARGET_NAMING (hl_f90_tstds-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstds-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tstds-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
target_include_directories (hl_f90_tstds-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (hl_f90_tstds-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/hl/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for hl_f90_tstlite
|
||||
add_executable (hl_f90_tstlite tstlite.f90)
|
||||
TARGET_NAMING (hl_f90_tstlite ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_f90_tstlite STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (hl_f90_tstlite PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tstlite PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tstlite-shared tstlite.f90)
|
||||
TARGET_NAMING (hl_f90_tstlite-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tstlite-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
target_include_directories (hl_f90_tstlite-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (hl_f90_tstlite-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/hl/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for hl_f90_tstimage
|
||||
add_executable (hl_f90_tstimage tstimage.f90)
|
||||
TARGET_NAMING (hl_f90_tstimage ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_f90_tstimage STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tstimage ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
target_include_directories (hl_f90_tstimage PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
target_include_directories (hl_f90_tstimage PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (hl_f90_tstimage PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tstimage PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tstimage-shared tstimage.f90)
|
||||
TARGET_NAMING (hl_f90_tstimage-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tstimage-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
target_include_directories (hl_f90_tstimage-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (hl_f90_tstimage-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/hl/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for hl_f90_tsttable
|
||||
add_executable (hl_f90_tsttable tsttable.f90)
|
||||
TARGET_NAMING (hl_f90_tsttable ${LIB_TYPE})
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_f90_tsttable STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
|
||||
target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
|
||||
set_target_properties (hl_f90_tsttable PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tsttable PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tsttable-shared tsttable.f90)
|
||||
TARGET_NAMING (hl_f90_tsttable-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tsttable-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
target_include_directories (hl_f90_tsttable-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
|
||||
set_target_properties (hl_f90_tsttable-shared PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
FOLDER test/hl/fortran
|
||||
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
@ -31,3 +31,34 @@ set_tests_properties (HL_FORTRAN_f90_tstimage PROPERTIES DEPENDS HL_FORTRAN_test
|
||||
|
||||
add_test (NAME HL_FORTRAN_f90_tsttable COMMAND $<TARGET_FILE:hl_f90_tsttable>)
|
||||
set_tests_properties (HL_FORTRAN_f90_tsttable PROPERTIES DEPENDS HL_FORTRAN_test-clear-objects)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME HL_FORTRAN_test-shared-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
dsetf1.h5
|
||||
dsetf2.h5
|
||||
dsetf3.h5
|
||||
dsetf4.h5
|
||||
dsetf5.h5
|
||||
f1img.h5
|
||||
f1tab.h5
|
||||
tstds.h5
|
||||
)
|
||||
set_tests_properties (HL_FORTRAN_test-shared-clear-objects
|
||||
PROPERTIES DEPENDS "HL_FORTRAN_f90_tsttable;HL_FORTRAN_f90_tstimage;HL_FORTRAN_f90_tstlite;HL_FORTRAN_f90_tstds"
|
||||
)
|
||||
|
||||
add_test (NAME HL_FORTRAN_f90_tstds-shared COMMAND $<TARGET_FILE:hl_f90_tstds-shared>)
|
||||
set_tests_properties (HL_FORTRAN_f90_tstds-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
|
||||
|
||||
add_test (NAME HL_FORTRAN_f90_tstlite-shared COMMAND $<TARGET_FILE:hl_f90_tstlite-shared>)
|
||||
set_tests_properties (HL_FORTRAN_f90_tstlite-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
|
||||
|
||||
add_test (NAME HL_FORTRAN_f90_tstimage-shared COMMAND $<TARGET_FILE:hl_f90_tstimage-shared>)
|
||||
set_tests_properties (HL_FORTRAN_f90_tstimage-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
|
||||
|
||||
add_test (NAME HL_FORTRAN_f90_tsttable-shared COMMAND $<TARGET_FILE:hl_f90_tsttable-shared>)
|
||||
set_tests_properties (HL_FORTRAN_f90_tsttable-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
@ -1,12 +1,6 @@
|
||||
cmake_minimum_required (VERSION 3.1.0)
|
||||
PROJECT (HDF5_HL_SRC)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Shared Libs
|
||||
#-----------------------------------------------------------------------------
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (HL_BUILT_AS_DYNAMIC_LIB 1)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# List Source files
|
||||
@ -33,18 +27,34 @@ set (HL_HEADERS
|
||||
${HDF5_HL_SRC_SOURCE_DIR}/hdf5_hl.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_HL_LIB_TARGET} ${LIB_TYPE} ${HL_SRCS} ${HL_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SRCS} ${HL_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}")
|
||||
set (install_targets ${HDF5_HL_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SRCS} ${HL_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_HL_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_LIBSH_TARGET} ${HDF5_HL_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_HL_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/hl
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIBSH_TARGET}")
|
||||
set (install_targets ${install_targets} ${HDF5_HL_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
# Add file(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
install (
|
||||
FILES
|
||||
@ -60,12 +70,12 @@ install (
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_HL_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_HL_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hllibraries
|
||||
|
@ -22,8 +22,8 @@ INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
|
||||
# --------------------------------------------------------------------
|
||||
MACRO (HL_ADD_EXE hl_name)
|
||||
add_executable (hl_${hl_name} ${hl_name}.c)
|
||||
TARGET_NAMING (hl_${hl_name} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (hl_${hl_name} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (hl_${hl_name} STATIC)
|
||||
TARGET_C_PROPERTIES (hl_${hl_name} STATIC " " " ")
|
||||
target_link_libraries (hl_${hl_name}
|
||||
${HDF5_HL_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
@ -32,6 +32,18 @@ MACRO (HL_ADD_EXE hl_name)
|
||||
set_target_properties (hl_${hl_name} PROPERTIES FOLDER test/hl)
|
||||
ENDMACRO (HL_ADD_EXE)
|
||||
|
||||
MACRO (HL_ADD_SHEXE hl_name)
|
||||
add_executable (hl_${hl_name} ${hl_name}.c)
|
||||
TARGET_NAMING (hl_${hl_name} SHARED)
|
||||
TARGET_C_PROPERTIES (hl_${hl_name} SHARED " " " ")
|
||||
target_link_libraries (hl_${hl_name}
|
||||
${HDF5_HL_LIBSH_TARGET}
|
||||
${HDF5_LIBSH_TARGET}
|
||||
${HDF5_TEST_LIBSH_TARGET}
|
||||
)
|
||||
set_target_properties (hl_${hl_name} PROPERTIES FOLDER test/hl)
|
||||
ENDMACRO (HL_ADD_SHEXE)
|
||||
|
||||
HL_ADD_EXE (test_ds)
|
||||
HL_ADD_EXE (test_dset_opt)
|
||||
HL_ADD_EXE (test_image)
|
||||
@ -43,7 +55,7 @@ HL_ADD_EXE (test_table)
|
||||
# This executable is used to generate test files for the test_ds test.
|
||||
# It should only be run during development when new test files are needed
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (hl_gen_test_ds gen_test_ds.c)
|
||||
TARGET_NAMING (hl_gen_test_ds STATIC)
|
||||
TARGET_C_PROPERTIES (hl_gen_test_ds STATIC " " " ")
|
||||
@ -53,6 +65,6 @@ if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
${HDF5_TEST_LIB_TARGET}
|
||||
)
|
||||
set_target_properties (hl_gen_test_ds PROPERTIES FOLDER test/hl/gen)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
@ -18,8 +18,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
INCLUDE_DIRECTORIES (${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5)
|
||||
|
||||
add_executable (gif2h5 ${GIF2H5_SRCS})
|
||||
TARGET_NAMING (gif2h5 ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (gif2h5 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (gif2h5 STATIC)
|
||||
TARGET_C_PROPERTIES (gif2h5 STATIC " " " ")
|
||||
target_link_libraries (gif2h5 ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (gif2h5 PROPERTIES FOLDER tools/hl)
|
||||
|
||||
@ -29,8 +29,8 @@ set (hdf2gif_SRCS
|
||||
${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/hdfgifwr.c
|
||||
)
|
||||
add_executable (h52gif ${hdf2gif_SRCS})
|
||||
TARGET_NAMING (h52gif ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h52gif ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h52gif STATIC)
|
||||
TARGET_C_PROPERTIES (h52gif STATIC " " " ")
|
||||
target_link_libraries (h52gif ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h52gif PROPERTIES FOLDER tools/hl)
|
||||
|
||||
@ -40,15 +40,15 @@ if (BUILD_TESTING)
|
||||
# used in the CMake Build system as we rely on the test files that are
|
||||
# shipped with HDF5 source archives
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (hl_h52gifgentest ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/h52gifgentst.c)
|
||||
TARGET_NAMING (hl_h52gifgentest STATIC)
|
||||
TARGET_C_PROPERTIES (hl_h52gifgentest STATIC " " " ")
|
||||
target_link_libraries (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl)
|
||||
|
||||
|
||||
# add_test (NAME hl_h52gifgentest COMMAND $<TARGET_FILE:hl_h52gifgentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
endif (BUILD_TESTING)
|
||||
|
@ -853,8 +853,8 @@ set_source_files_properties (${HDF5_BINARY_DIR}/H5version.h GENERATED)
|
||||
set (common_SRCS ${common_SRCS} ${HDF5_BINARY_DIR}/H5overflow.h)
|
||||
set_source_files_properties (${HDF5_BINARY_DIR}/H5overflow.h GENERATED)
|
||||
|
||||
add_library (${HDF5_LIB_TARGET} ${LIB_TYPE} ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
if (NOT WIN32)
|
||||
target_link_libraries (${HDF5_LIB_TARGET} dl)
|
||||
@ -863,7 +863,7 @@ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
|
||||
endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
@ -876,6 +876,35 @@ if (HDF5_ENABLE_DEBUG_APIS)
|
||||
"H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG"
|
||||
)
|
||||
endif (HDF5_ENABLE_DEBUG_APIS)
|
||||
set (install_targets ${HDF5_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_LIBSH_TARGET} ${LINK_SHARED_LIBS})
|
||||
if (NOT WIN32)
|
||||
target_link_libraries (${HDF5_LIBSH_TARGET} dl)
|
||||
endif (NOT WIN32)
|
||||
if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
target_link_libraries (${HDF5_LIBSH_TARGET} ${MPI_C_LIBRARIES})
|
||||
endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
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)
|
||||
set_target_properties (${HDF5_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
|
||||
if (HDF5_ENABLE_DEBUG_APIS)
|
||||
set_property (TARGET ${HDF5_LIBSH_TARGET}
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
"H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG"
|
||||
)
|
||||
endif (HDF5_ENABLE_DEBUG_APIS)
|
||||
set (install_targets ${install_targets} ${HDF5_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
@ -896,12 +925,12 @@ endif (NOT HDF5_INSTALL_NO_DEVELOPMENT)
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT libraries
|
||||
|
@ -47,7 +47,7 @@
|
||||
/* This will only be defined if HDF5 was built with CMake */
|
||||
#ifdef H5_BUILT_AS_DYNAMIC_LIB
|
||||
|
||||
#if defined(hdf5_EXPORTS)
|
||||
#if defined(hdf5_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5_DLL __declspec(dllexport)
|
||||
#define H5_DLLVAR extern __declspec(dllexport)
|
||||
@ -70,7 +70,7 @@
|
||||
#define H5_DLLVAR extern
|
||||
#endif /* _HDF5DLL_ */
|
||||
|
||||
#if defined(hdf5_test_EXPORTS)
|
||||
#if defined(hdf5_test_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5TEST_DLL __declspec(dllexport)
|
||||
#define H5TEST_DLLVAR extern __declspec(dllexport)
|
||||
@ -93,7 +93,7 @@
|
||||
#define H5TEST_DLLVAR extern
|
||||
#endif /* H5TEST_DLL */
|
||||
|
||||
#if defined(hdf5_tools_EXPORTS)
|
||||
#if defined(hdf5_tools_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5TOOLS_DLL __declspec(dllexport)
|
||||
#define H5TOOLS_DLLVAR extern __declspec(dllexport)
|
||||
@ -116,7 +116,7 @@
|
||||
#define H5TOOLS_DLLVAR extern
|
||||
#endif /* H5TOOLS_DLL */
|
||||
|
||||
#if defined(hdf5_cpp_EXPORTS)
|
||||
#if defined(hdf5_cpp_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5_DLLCPP __declspec(dllexport)
|
||||
#define H5_DLLCPPVAR extern __declspec(dllexport)
|
||||
@ -139,7 +139,7 @@
|
||||
#define H5_DLLCPPVAR extern
|
||||
#endif /* H5_DLLCPP */
|
||||
|
||||
#if defined(hdf5_hl_EXPORTS)
|
||||
#if defined(hdf5_hl_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5_HLDLL __declspec(dllexport)
|
||||
#define H5_HLDLLVAR extern __declspec(dllexport)
|
||||
@ -162,7 +162,7 @@
|
||||
#define H5_HLDLLVAR extern
|
||||
#endif /* H5_HLDLL */
|
||||
|
||||
#if defined(hdf5_hl_cpp_EXPORTS)
|
||||
#if defined(hdf5_hl_cpp_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5_HLCPPDLL __declspec(dllexport)
|
||||
#define H5_HLCPPDLLVAR extern __declspec(dllexport)
|
||||
@ -185,7 +185,7 @@
|
||||
#define H5_HLCPPDLLVAR extern
|
||||
#endif /* H5_HLCPPDLL */
|
||||
|
||||
#if defined(hdf5_f90cstub_EXPORTS)
|
||||
#if defined(hdf5_f90cstub_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5_FCDLL __declspec(dllexport)
|
||||
#define H5_FCDLLVAR extern __declspec(dllexport)
|
||||
@ -208,7 +208,7 @@
|
||||
#define H5_FCDLLVAR extern
|
||||
#endif /* H5_FCDLL */
|
||||
|
||||
#if defined(hdf5_test_f90cstub_EXPORTS)
|
||||
#if defined(hdf5_test_f90cstub_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define H5_FCTESTDLL __declspec(dllexport)
|
||||
#define H5_FCTESTDLLVAR extern __declspec(dllexport)
|
||||
@ -231,7 +231,7 @@
|
||||
#define H5_FCTESTDLLVAR extern
|
||||
#endif /* H5_FCTESTDLL */
|
||||
|
||||
#if defined(hdf5_hl_f90cstub_EXPORTS)
|
||||
#if defined(hdf5_hl_f90cstub_shared_EXPORTS)
|
||||
#if defined (_MSC_VER) /* MSVC Compiler Case */
|
||||
#define HDF5_HL_F90CSTUBDLL __declspec(dllexport)
|
||||
#define HDF5_HL_F90CSTUBDLLVAR extern __declspec(dllexport)
|
||||
|
@ -26,8 +26,8 @@ set (TEST_LIB_HEADERS
|
||||
${HDF5_TEST_SOURCE_DIR}/h5test.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_TEST_LIB_TARGET} STATIC ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} STATIC " " " ")
|
||||
if (MSVC)
|
||||
target_link_libraries (${HDF5_TEST_LIB_TARGET} "ws2_32.lib")
|
||||
endif (MSVC)
|
||||
@ -35,16 +35,34 @@ if (MINGW)
|
||||
target_link_libraries (${HDF5_TEST_LIB_TARGET} "wsock32.lib")
|
||||
endif (MINGW)
|
||||
target_link_libraries (${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_TEST_LIB_TARGET} ${HDF5_TEST_LIB_NAME} ${LIB_TYPE})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_TEST_LIB_TARGET} ${HDF5_TEST_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_TEST_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/test
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_TEST_LIBSH_TARGET} SHARED ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_LIBSH_TARGET} SHARED " " " ")
|
||||
if (MSVC)
|
||||
target_link_libraries (${HDF5_TEST_LIBSH_TARGET} "ws2_32.lib")
|
||||
endif (MSVC)
|
||||
if (MINGW)
|
||||
target_link_libraries (${HDF5_TEST_LIBSH_TARGET} "wsock32.lib")
|
||||
endif (MINGW)
|
||||
target_link_libraries (${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_TEST_LIBSH_TARGET} ${HDF5_TEST_LIB_NAME} SHARED)
|
||||
set_target_properties (${HDF5_TEST_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/test
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# If plugin library tests can be tested
|
||||
#-----------------------------------------------------------------------------
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# make plugins dir
|
||||
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/testdir1")
|
||||
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/testdir2")
|
||||
@ -67,12 +85,12 @@ if (BUILD_SHARED_LIBS)
|
||||
add_definitions (${HDF_EXTRA_C_FLAGS})
|
||||
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
|
||||
|
||||
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (
|
||||
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
|
||||
${LIB_TYPE}
|
||||
SHARED
|
||||
HDF5_TEST_PLUGIN_LIB_NAME_RELEASE
|
||||
HDF5_TEST_PLUGIN_LIB_NAME_DEBUG
|
||||
)
|
||||
@ -85,7 +103,7 @@ if (BUILD_SHARED_LIBS)
|
||||
TARGET ${HDF5_TEST_PLUGIN_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different
|
||||
ARGS -E copy_if_different
|
||||
"$<TARGET_FILE:${HDF5_TEST_PLUGIN_LIB_TARGET}>"
|
||||
"${CMAKE_BINARY_DIR}/testdir1/$<TARGET_FILE_NAME:${HDF5_TEST_PLUGIN_LIB_TARGET}>"
|
||||
)
|
||||
@ -98,12 +116,12 @@ if (BUILD_SHARED_LIBS)
|
||||
add_definitions (${HDF_EXTRA_C_FLAGS})
|
||||
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
|
||||
|
||||
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (
|
||||
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
|
||||
${LIB_TYPE}
|
||||
SHARED
|
||||
HDF5_TEST_PLUGIN_LIB_NAME_RELEASE
|
||||
HDF5_TEST_PLUGIN_LIB_NAME_DEBUG
|
||||
)
|
||||
@ -116,12 +134,11 @@ if (BUILD_SHARED_LIBS)
|
||||
TARGET ${HDF5_TEST_PLUGIN_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different
|
||||
ARGS -E copy_if_different
|
||||
"$<TARGET_FILE:${HDF5_TEST_PLUGIN_LIB_TARGET}>"
|
||||
"${CMAKE_BINARY_DIR}/testdir2/$<TARGET_FILE_NAME:${HDF5_TEST_PLUGIN_LIB_TARGET}>"
|
||||
)
|
||||
endforeach (test_lib ${TEST2_PLUGIN_LIBS})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
set (testhdf5_SRCS
|
||||
${HDF5_TEST_SOURCE_DIR}/testhdf5.c
|
||||
@ -153,17 +170,31 @@ set (testhdf5_SRCS
|
||||
|
||||
#-- Adding test for testhdf5
|
||||
add_executable (testhdf5 ${testhdf5_SRCS})
|
||||
TARGET_NAMING (testhdf5 ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (testhdf5 STATIC)
|
||||
TARGET_C_PROPERTIES (testhdf5 STATIC " " " ")
|
||||
target_link_libraries (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (testhdf5 PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (testhdf5-shared ${testhdf5_SRCS})
|
||||
TARGET_NAMING (testhdf5-shared SHARED)
|
||||
TARGET_C_PROPERTIES (testhdf5-shared SHARED " " " ")
|
||||
target_link_libraries (testhdf5-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (testhdf5-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
MACRO (ADD_H5_EXE file)
|
||||
add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
|
||||
TARGET_NAMING (${file} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (${file} STATIC)
|
||||
TARGET_C_PROPERTIES (${file} STATIC " " " ")
|
||||
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (${file} PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (${file}-shared ${HDF5_TEST_SOURCE_DIR}/${file}.c)
|
||||
TARGET_NAMING (${file}-shared SHARED)
|
||||
TARGET_C_PROPERTIES (${file}-shared SHARED " " " ")
|
||||
target_link_libraries (${file}-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (${file}-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
ENDMACRO (ADD_H5_EXE file)
|
||||
|
||||
set (H5_TESTS
|
||||
@ -236,24 +267,45 @@ endforeach (test ${H5_TESTS})
|
||||
|
||||
#-- Adding test for cache
|
||||
add_executable (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (cache STATIC)
|
||||
TARGET_C_PROPERTIES (cache STATIC " " " ")
|
||||
target_link_libraries (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (cache PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (cache-shared ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache-shared SHARED)
|
||||
TARGET_C_PROPERTIES (cache-shared SHARED " " " ")
|
||||
target_link_libraries (cache-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (cache-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for cache_api
|
||||
add_executable (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_api ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache_api ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (cache_api STATIC)
|
||||
TARGET_C_PROPERTIES (cache_api STATIC " " " ")
|
||||
target_link_libraries (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (cache_api PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (cache_api-shared ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_api-shared SHARED)
|
||||
TARGET_C_PROPERTIES (cache_api-shared SHARED " " " ")
|
||||
target_link_libraries (cache_api-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (cache_api-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for cache_tagging
|
||||
add_executable (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_tagging ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache_tagging ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (cache_tagging STATIC)
|
||||
TARGET_C_PROPERTIES (cache_tagging STATIC " " " ")
|
||||
target_link_libraries (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (cache_tagging PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (cache_tagging-shared ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_tagging-shared SHARED)
|
||||
TARGET_C_PROPERTIES (cache_tagging-shared SHARED " " " ")
|
||||
target_link_libraries (cache_tagging-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (cache_tagging-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for ttsafe
|
||||
add_executable (ttsafe
|
||||
@ -263,37 +315,71 @@ add_executable (ttsafe
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
|
||||
)
|
||||
TARGET_NAMING (ttsafe ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ttsafe ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (ttsafe STATIC)
|
||||
TARGET_C_PROPERTIES (ttsafe STATIC " " " ")
|
||||
target_link_libraries (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (ttsafe PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (ttsafe-shared
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
|
||||
)
|
||||
TARGET_NAMING (ttsafe-shared SHARED)
|
||||
TARGET_C_PROPERTIES (ttsafe-shared SHARED " " " ")
|
||||
target_link_libraries (ttsafe-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (ttsafe-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for err_compat
|
||||
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
add_executable (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
|
||||
TARGET_NAMING (err_compat ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (err_compat ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (err_compat STATIC)
|
||||
TARGET_C_PROPERTIES (err_compat STATIC " " " ")
|
||||
target_link_libraries (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (err_compat PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (err_compat-shared ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
|
||||
TARGET_NAMING (err_compat-shared SHARED)
|
||||
TARGET_C_PROPERTIES (err_compat-shared SHARED " " " ")
|
||||
target_link_libraries (err_compat-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (err_compat-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
|
||||
#-- Adding test for error_test
|
||||
add_executable (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
|
||||
TARGET_NAMING (error_test ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (error_test ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (error_test STATIC)
|
||||
TARGET_C_PROPERTIES (error_test STATIC " " " ")
|
||||
target_link_libraries (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (error_test PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (error_test-shared ${HDF5_TEST_SOURCE_DIR}/error_test.c)
|
||||
TARGET_NAMING (error_test-shared SHARED)
|
||||
TARGET_C_PROPERTIES (error_test-shared SHARED " " " ")
|
||||
target_link_libraries (error_test-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (error_test-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for links_env
|
||||
add_executable (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
|
||||
TARGET_NAMING (links_env ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (links_env ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (links_env STATIC)
|
||||
TARGET_C_PROPERTIES (links_env STATIC " " " ")
|
||||
target_link_libraries (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (links_env PROPERTIES FOLDER test)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (links_env-shared ${HDF5_TEST_SOURCE_DIR}/links_env.c)
|
||||
TARGET_NAMING (links_env-shared SHARED)
|
||||
TARGET_C_PROPERTIES (links_env-shared SHARED " " " ")
|
||||
target_link_libraries (links_env-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (links_env-shared PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for libinfo
|
||||
set (GREP_RUNNER ${PROJECT_BINARY_DIR}/GrepRunner.cmake)
|
||||
file (WRITE ${GREP_RUNNER}
|
||||
file (WRITE ${GREP_RUNNER}
|
||||
"file (STRINGS \${TEST_PROGRAM} TEST_RESULT REGEX \"SUMMARY OF THE HDF5 CONFIGURATION\")
|
||||
if (\${TEST_RESULT} STREQUAL \"0\")
|
||||
message (FATAL_ERROR \"Failed: The output: \${TEST_RESULT} of \${TEST_PROGRAM} did not contain SUMMARY OF THE HDF5 CONFIGURATION\")
|
||||
@ -312,6 +398,12 @@ if (BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (plugin SHARED " " " ")
|
||||
target_link_libraries (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
|
||||
set_target_properties (plugin PROPERTIES FOLDER test)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
add_executable (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c)
|
||||
TARGET_NAMING (plugin STATIC)
|
||||
TARGET_C_PROPERTIES (plugin STATIC " " " ")
|
||||
target_link_libraries (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
|
||||
set_target_properties (plugin PROPERTIES FOLDER test)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
@ -9,6 +9,12 @@
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST")
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles")
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared")
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles")
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files")
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
if (HDF5_TEST_VFD)
|
||||
set (VFD_LIST
|
||||
sec2
|
||||
@ -23,6 +29,9 @@ if (HDF5_TEST_VFD)
|
||||
endif (DIRECT_VFD)
|
||||
foreach (vfdtest ${VFD_LIST})
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}")
|
||||
#if (BUILD_SHARED_LIBS)
|
||||
# file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}-shared")
|
||||
#endif (BUILD_SHARED_LIBS)
|
||||
endforeach (vfdtest ${VFD_LIST})
|
||||
endif (HDF5_TEST_VFD)
|
||||
|
||||
@ -35,25 +44,41 @@ set (HDF5_TEST_FILES
|
||||
|
||||
foreach (h5_tfile ${HDF5_TEST_FILES})
|
||||
set (dest "${PROJECT_BINARY_DIR}/H5TEST/${h5_tfile}")
|
||||
#message (STATUS " Copying ${h5_tfile}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${PROJECT_BINARY_DIR}/H5TEST-shared/${h5_tfile}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIBSH_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (h5_tfile ${HDF5_TEST_FILES})
|
||||
if (HDF5_TEST_VFD)
|
||||
foreach (vfdtest ${VFD_LIST})
|
||||
foreach (h5_tfile ${HDF5_TEST_FILES})
|
||||
set (dest "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}")
|
||||
#message (STATUS " Copying ${h5_tfile}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${PROJECT_BINARY_DIR}/${vfdtest}-shared/${h5_tfile}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIBSH_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (h5_tfile ${HDF5_TEST_FILES})
|
||||
endforeach (vfdtest ${VFD_LIST})
|
||||
endif (HDF5_TEST_VFD)
|
||||
@ -71,25 +96,41 @@ set (HDF5_REFERENCE_FILES
|
||||
|
||||
foreach (ref_file ${HDF5_REFERENCE_FILES})
|
||||
set (dest "${PROJECT_BINARY_DIR}/H5TEST/${ref_file}")
|
||||
#message (STATUS " Copying ${h5_file}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${PROJECT_BINARY_DIR}/H5TEST-shared/${ref_file}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIBSH_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (ref_file ${HDF5_REFERENCE_FILES})
|
||||
if (HDF5_TEST_VFD)
|
||||
foreach (vfdtest ${VFD_LIST})
|
||||
foreach (ref_file ${HDF5_REFERENCE_FILES})
|
||||
set (dest "${PROJECT_BINARY_DIR}/${vfdtest}/${ref_file}")
|
||||
#message (STATUS " Copying ${h5_file}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${PROJECT_BINARY_DIR}/${vfdtest}-shared/${ref_file}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (ref_file ${HDF5_REFERENCE_FILES})
|
||||
endforeach (vfdtest ${VFD_LIST})
|
||||
endif (HDF5_TEST_VFD)
|
||||
@ -126,13 +167,21 @@ set (HDF5_REFERENCE_PLIST_FILES
|
||||
|
||||
foreach (plistfile ${HDF5_REFERENCE_PLIST_FILES})
|
||||
set (dest "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files/${plistfile}")
|
||||
#message (STATUS " Copying ${plistfile} to ${dset}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files/${plistfile}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIBSH_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (plistfile ${HDF5_REFERENCE_PLIST_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
@ -177,25 +226,41 @@ set (HDF5_REFERENCE_TEST_FILES
|
||||
|
||||
foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
set (dest "${HDF5_TEST_BINARY_DIR}/H5TEST/${h5_file}")
|
||||
#message (STATUS " Copying ${h5_file} to ${dest}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${HDF5_TEST_BINARY_DIR}/H5TEST-shared/${h5_file}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIBSH_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
if (HDF5_TEST_VFD)
|
||||
foreach (vfdtest ${VFD_LIST})
|
||||
foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
set (dest "${HDF5_TEST_BINARY_DIR}/${vfdtest}/${h5_file}")
|
||||
#message (STATUS " Copying ${h5_file} to ${dest}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (dest "${HDF5_TEST_BINARY_DIR}/${vfdtest}-shared/${h5_file}")
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
endforeach (vfdtest ${VFD_LIST})
|
||||
endif (HDF5_TEST_VFD)
|
||||
@ -204,7 +269,7 @@ endif (HDF5_TEST_VFD)
|
||||
add_test (
|
||||
NAME H5TEST-clear-testhdf5-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
coord.h5
|
||||
dtypes10.h5
|
||||
sys_file1
|
||||
@ -258,8 +323,40 @@ else (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-testhdf5-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
coord.h5
|
||||
dtypes10.h5
|
||||
sys_file1
|
||||
tattr.h5
|
||||
tfile1.h5
|
||||
tfile2.h5
|
||||
tfile3.h5
|
||||
tfile4.h5
|
||||
tfile5.h5
|
||||
tfile6.h5
|
||||
tfile7.h5
|
||||
th5o_file
|
||||
th5s1.h5
|
||||
tselect.h5
|
||||
tsohm.h5
|
||||
tsohm_dst.h5
|
||||
tsohm_src.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-testhdf5 COMMAND $<TARGET_FILE:testhdf5-shared>)
|
||||
set_tests_properties (H5TEST-shared-testhdf5 PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-testhdf5-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
@ -270,7 +367,7 @@ endif (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
add_test (
|
||||
NAME H5TEST-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
dt_arith1.h5
|
||||
dt_arith2.h5
|
||||
dtransform.h5
|
||||
@ -344,7 +441,7 @@ foreach (test ${H5_TESTS})
|
||||
add_test (NAME H5TEST-${test} COMMAND $<TARGET_FILE:${test}>)
|
||||
endif (${test} STREQUAL "big" AND CYGWIN)
|
||||
set_tests_properties (H5TEST-${test} PROPERTIES
|
||||
DEPENDS H5TEST-clear-objects
|
||||
DEPENDS H5TEST-clear-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
@ -355,6 +452,97 @@ set_tests_properties (H5TEST-fheap PROPERTIES TIMEOUT 1800)
|
||||
set_tests_properties (H5TEST-testmeta PROPERTIES TIMEOUT 1800)
|
||||
set_tests_properties (H5TEST-big PROPERTIES TIMEOUT 1800)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Remove any output file left over from previous test run
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
dt_arith1.h5
|
||||
dt_arith2.h5
|
||||
dtransform.h5
|
||||
dtypes3.h5
|
||||
dtypes4.h5
|
||||
dtypes5.h5
|
||||
efc0.h5
|
||||
efc1.h5
|
||||
efc2.h5
|
||||
efc3.h5
|
||||
efc4.h5
|
||||
efc5.h5
|
||||
extlinks16A00000.h5
|
||||
extlinks16A00001.h5
|
||||
extlinks16A00002.h5
|
||||
extlinks16B-b.h5
|
||||
extlinks16B-g.h5
|
||||
extlinks16B-l.h5
|
||||
extlinks16B-r.h5
|
||||
extlinks16B-s.h5
|
||||
extlinks19B00000.h5
|
||||
extlinks19B00001.h5
|
||||
extlinks19B00002.h5
|
||||
extlinks19B00003.h5
|
||||
extlinks19B00004.h5
|
||||
extlinks19B00005.h5
|
||||
extlinks19B00006.h5
|
||||
extlinks19B00007.h5
|
||||
extlinks19B00008.h5
|
||||
extlinks19B00009.h5
|
||||
extlinks19B00010.h5
|
||||
extlinks19B00011.h5
|
||||
extlinks19B00012.h5
|
||||
extlinks19B00013.h5
|
||||
extlinks19B00014.h5
|
||||
extlinks19B00015.h5
|
||||
extlinks19B00016.h5
|
||||
extlinks19B00017.h5
|
||||
extlinks19B00018.h5
|
||||
extlinks19B00019.h5
|
||||
extlinks19B00020.h5
|
||||
extlinks19B00021.h5
|
||||
extlinks19B00022.h5
|
||||
extlinks19B00023.h5
|
||||
extlinks19B00024.h5
|
||||
extlinks19B00025.h5
|
||||
extlinks19B00026.h5
|
||||
extlinks19B00027.h5
|
||||
extlinks19B00028.h5
|
||||
fheap.h5
|
||||
log_vfd_out.log
|
||||
new_multi_file_v16-r.h5
|
||||
new_multi_file_v16-s.h5
|
||||
objcopy_ext.dat
|
||||
testmeta.h5
|
||||
tstint1.h5
|
||||
tstint2.h5
|
||||
unregister_filter_1.h5
|
||||
unregister_filter_2.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
|
||||
foreach (test ${H5_TESTS})
|
||||
if (${test} STREQUAL "big" AND CYGWIN)
|
||||
add_test (
|
||||
NAME H5TEST-shared-${test}
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${test}-shared"
|
||||
)
|
||||
else (${test} STREQUAL "big" AND CYGWIN)
|
||||
add_test (NAME H5TEST-shared-${test} COMMAND $<TARGET_FILE:${test}-shared>)
|
||||
endif (${test} STREQUAL "big" AND CYGWIN)
|
||||
set_tests_properties (H5TEST-shared-${test} PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
endforeach (test ${H5_TESTS})
|
||||
|
||||
set_tests_properties (H5TEST-shared-flush2 PROPERTIES DEPENDS H5TEST-shared-flush1)
|
||||
set_tests_properties (H5TEST-shared-fheap PROPERTIES TIMEOUT 1800)
|
||||
set_tests_properties (H5TEST-shared-testmeta PROPERTIES TIMEOUT 1800)
|
||||
set_tests_properties (H5TEST-shared-big PROPERTIES TIMEOUT 1800)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### A D D I T I O N A L T E S T S ###
|
||||
@ -362,33 +550,35 @@ set_tests_properties (H5TEST-big PROPERTIES TIMEOUT 1800)
|
||||
##############################################################################
|
||||
|
||||
#-- Adding test for cache
|
||||
add_test (
|
||||
NAME H5TEST-clear-cache-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_test.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
add_test (NAME H5TEST-cache COMMAND $<TARGET_FILE:cache>)
|
||||
set_tests_properties (H5TEST-cache PROPERTIES
|
||||
DEPENDS H5TEST-clear-cache-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
if (NOT CYGWIN)
|
||||
add_test (
|
||||
NAME H5TEST-clear-cache-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_test.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
add_test (NAME H5TEST-cache COMMAND $<TARGET_FILE:cache>)
|
||||
set_tests_properties (H5TEST-cache PROPERTIES
|
||||
DEPENDS H5TEST-clear-cache-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
endif (NOT CYGWIN)
|
||||
|
||||
#-- Adding test for cache_api
|
||||
add_test (
|
||||
NAME H5TEST-clear-cache_api-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
cache_api_test.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
add_test (NAME H5TEST-cache_api COMMAND $<TARGET_FILE:cache_api>)
|
||||
set_tests_properties (H5TEST-cache_api PROPERTIES
|
||||
DEPENDS H5TEST-clear-cache_api-objects
|
||||
DEPENDS H5TEST-clear-cache_api-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
@ -397,7 +587,7 @@ set_tests_properties (H5TEST-cache_api PROPERTIES
|
||||
add_test (
|
||||
NAME H5TEST-clear-cache_tagging-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
tagging_test.h5
|
||||
tagging_ext_test.h5
|
||||
WORKING_DIRECTORY
|
||||
@ -414,7 +604,7 @@ set_tests_properties (H5TEST-cache_tagging PROPERTIES
|
||||
add_test (
|
||||
NAME H5TEST-clear-ttsafe-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
ttsafe_error.h5
|
||||
ttsafe_dcreate.h5
|
||||
ttsafe_cancel.h5
|
||||
@ -434,7 +624,7 @@ if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
add_test (
|
||||
NAME H5TEST-clear-err_compat-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
err_compat.txt
|
||||
err_compat.txt.err
|
||||
WORKING_DIRECTORY
|
||||
@ -461,7 +651,7 @@ endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
add_test (
|
||||
NAME H5TEST-clear-error_test-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
-E remove
|
||||
error_test.txt
|
||||
error_test.txt.err
|
||||
WORKING_DIRECTORY
|
||||
@ -477,7 +667,7 @@ add_test (NAME H5TEST-error_test COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5TEST-error_test PROPERTIES
|
||||
set_tests_properties (H5TEST-error_test PROPERTIES
|
||||
DEPENDS H5TEST-clear-error_test-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5_PLUGIN_PRELOAD=::"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
@ -489,7 +679,7 @@ add_test (
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
links_env.txt
|
||||
links_env.txt.err
|
||||
links_env.txt.err
|
||||
extlinks_env0.h5
|
||||
extlinks_env1.h5
|
||||
tmp/extlinks_env1.h5
|
||||
@ -521,29 +711,184 @@ add_test (
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST
|
||||
)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
#-- Adding test for cache
|
||||
if (NOT CYGWIN)
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-cache-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_test.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-cache COMMAND $<TARGET_FILE:cache-shared>)
|
||||
set_tests_properties (H5TEST-shared-cache PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-cache-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
endif (NOT CYGWIN)
|
||||
|
||||
#-- Adding test for cache_api
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-cache_api-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_api_test.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-cache_api COMMAND $<TARGET_FILE:cache_api-shared>)
|
||||
set_tests_properties (H5TEST-shared-cache_api PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-cache_api-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
|
||||
#-- Adding test for cache_tagging
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-cache_tagging-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tagging_test.h5
|
||||
tagging_ext_test.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-cache_tagging COMMAND $<TARGET_FILE:cache_tagging-shared>)
|
||||
set_tests_properties (H5TEST-shared-cache_tagging PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-cache_tagging-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
|
||||
#-- Adding test for ttsafe
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-ttsafe-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
ttsafe_error.h5
|
||||
ttsafe_dcreate.h5
|
||||
ttsafe_cancel.h5
|
||||
ttsafe_acreate.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-ttsafe COMMAND $<TARGET_FILE:ttsafe-shared>)
|
||||
set_tests_properties (H5TEST-shared-ttsafe PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-ttsafe-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
|
||||
#-- Adding test for err_compat
|
||||
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-err_compat-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
err_compat.txt
|
||||
err_compat.txt.err
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-err_compat COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:err_compat-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_MASK_ERROR=true"
|
||||
-D "TEST_OUTPUT=err_compat.txt"
|
||||
-D "TEST_REFERENCE=err_compat_1"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5TEST-shared-err_compat PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-err_compat-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
|
||||
#-- Adding test for error_test
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-error_test-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
error_test.txt
|
||||
error_test.txt.err
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-error_test COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:error_test-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_MASK_ERROR=true"
|
||||
-D "TEST_OUTPUT=error_test.txt"
|
||||
-D "TEST_REFERENCE=error_test_1"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5TEST-shared-error_test PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-error_test-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared;HDF5_PLUGIN_PRELOAD=::"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
|
||||
#-- Adding test for links_env
|
||||
add_test (
|
||||
NAME H5TEST-shared-clear-links_env-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
links_env.txt
|
||||
links_env.txt.err
|
||||
extlinks_env0.h5
|
||||
extlinks_env1.h5
|
||||
tmp/extlinks_env1.h5
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
add_test (NAME H5TEST-shared-links_env COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:links_env-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
|
||||
-D "TEST_ENV_VALUE:STRING=.:tmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OUTPUT=links_env.txt"
|
||||
-D "TEST_REFERENCE=links_env.out"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5TEST-shared-links_env PROPERTIES
|
||||
DEPENDS H5TEST-shared-clear-links_env-objects
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
|
||||
#-- Adding test for libinfo
|
||||
add_test (
|
||||
NAME H5TEST-shared-testlibinfo
|
||||
COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIBSH_TARGET}>" -P "${GREP_RUNNER}"
|
||||
WORKING_DIRECTORY
|
||||
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
##############################################################################
|
||||
### P L U G I N T E S T S
|
||||
##############################################################################
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (WIN32)
|
||||
set (CMAKE_SEP "\;")
|
||||
else (WIN32)
|
||||
set (CMAKE_SEP ":")
|
||||
endif (WIN32)
|
||||
|
||||
if (WIN32)
|
||||
set (CMAKE_SEP "\;")
|
||||
else (WIN32)
|
||||
set (CMAKE_SEP ":")
|
||||
endif (WIN32)
|
||||
|
||||
add_test (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:plugin>)
|
||||
set_tests_properties (H5PLUGIN-plugin PROPERTIES
|
||||
ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2;srcdir=${HDF5_TEST_BINARY_DIR}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}
|
||||
)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
message (STATUS " **** Plugins libraries must be built as shared libraries **** ")
|
||||
add_test (
|
||||
NAME H5PLUGIN-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP H5PLUGIN TESTING"
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
add_test (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:plugin>)
|
||||
set_tests_properties (H5PLUGIN-plugin PROPERTIES
|
||||
ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2;srcdir=${HDF5_TEST_BINARY_DIR}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
@ -560,7 +905,7 @@ if (HDF5_TEST_VFD)
|
||||
ohdr
|
||||
stab
|
||||
gheap
|
||||
cache
|
||||
# cache
|
||||
cache_api
|
||||
cache_tagging
|
||||
pool
|
||||
@ -609,7 +954,7 @@ if (HDF5_TEST_VFD)
|
||||
unregister
|
||||
)
|
||||
if (NOT CYGWIN)
|
||||
set (H5_VFD_TESTS ${H5_VFD_TESTS} big)
|
||||
set (H5_VFD_TESTS ${H5_VFD_TESTS} big cache)
|
||||
endif (NOT CYGWIN)
|
||||
|
||||
MACRO (CHECK_VFD_TEST vfdtest vfdname resultcode)
|
||||
@ -617,13 +962,13 @@ if (HDF5_TEST_VFD)
|
||||
if (${vfdname} STREQUAL "multi" OR ${vfdname} STREQUAL "split")
|
||||
if (NOT BUILD_SHARED_LIBS AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdtest}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${vfdtest}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
@ -631,21 +976,44 @@ if (HDF5_TEST_VFD)
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${test}-shared
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${vfdtest}-shared"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-${vfdtest}-shared PROPERTIES
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
else (NOT BUILD_SHARED_LIBS AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP VFD-${vfdname}-${vfdtest}"
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${test}-shared
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP VFD-${vfdname}-${vfdtest}-shared"
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif(NOT BUILD_SHARED_LIBS AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
else (${vfdname} STREQUAL "multi" OR ${vfdname} STREQUAL "split")
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdtest}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${vfdtest}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
@ -653,16 +1021,33 @@ if (HDF5_TEST_VFD)
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${test}-shared
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${vfdtest}-shared"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-${vfdtest}-shared PROPERTIES
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (${vfdname} STREQUAL "multi" OR ${vfdname} STREQUAL "split")
|
||||
else (${vfdtest} STREQUAL "flush1" OR ${vfdtest} STREQUAL "flush2")
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
NAME VFD-${vfdname}-${vfdtest}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdtest}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${vfdtest}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
@ -670,6 +1055,23 @@ if (HDF5_TEST_VFD)
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${vfdtest}-shared
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${vfdtest}-shared"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-${vfdtest}-shared PROPERTIES
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (${vfdtest} STREQUAL "flush1" OR ${vfdtest} STREQUAL "flush2")
|
||||
ENDMACRO (CHECK_VFD_TEST vfdtest vfdname resultcode)
|
||||
|
||||
@ -679,45 +1081,85 @@ if (HDF5_TEST_VFD)
|
||||
CHECK_VFD_TEST (${test} ${vfdname} ${resultcode})
|
||||
else (WIN32)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${test}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${test}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
NAME VFD-${vfdname}-${test}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${test}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-${test} PROPERTIES
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-${test}-shared
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-${test}-shared"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-${test}-shared PROPERTIES
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (WIN32)
|
||||
endforeach (test ${H5_VFD_TESTS})
|
||||
set_tests_properties (VFD-${vfdname}-flush2 PROPERTIES DEPENDS VFD-${vfdname}-flush1)
|
||||
set_tests_properties (VFD-${vfdname}-flush1 PROPERTIES TIMEOUT 10)
|
||||
set_tests_properties (VFD-${vfdname}-flush2 PROPERTIES TIMEOUT 10)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES DEPENDS VFD-${vfdname}-flush1-shared)
|
||||
set_tests_properties (VFD-${vfdname}-flush1-shared PROPERTIES TIMEOUT 10)
|
||||
set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES TIMEOUT 10)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
if (HDF5_TEST_FHEAP_VFD)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-fheap
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:fheap>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-fheap"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
NAME VFD-${vfdname}-fheap
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:fheap>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-fheap"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-fheap PROPERTIES
|
||||
TIMEOUT 1800
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
|
||||
)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_test (
|
||||
NAME VFD-${vfdname}-fheap-shared
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:fheap-shared>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${vfdname}-fheap-shared"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (VFD-${vfdname}-fheap-shared PROPERTIES
|
||||
TIMEOUT 1800
|
||||
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
|
||||
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
endif (HDF5_TEST_FHEAP_VFD)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
foreach (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
@ -731,7 +1173,7 @@ endif (HDF5_TEST_VFD)
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
MACRO (ADD_H5_GENERATOR genfile)
|
||||
add_executable (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
|
||||
TARGET_NAMING (${genfile} STATIC)
|
||||
@ -767,4 +1209,4 @@ if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
ADD_H5_GENERATOR (${gen})
|
||||
endforeach (gen ${H5_GENERATORS})
|
||||
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
@ -28,15 +28,15 @@ set (testphdf5_SRCS
|
||||
|
||||
#-- Adding test for testhdf5
|
||||
add_executable (testphdf5 ${testphdf5_SRCS})
|
||||
TARGET_NAMING (testphdf5 ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (testphdf5 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (testphdf5 STATIC)
|
||||
TARGET_C_PROPERTIES (testphdf5 STATIC " " " ")
|
||||
target_link_libraries (testphdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
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} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (${file} STATIC)
|
||||
TARGET_C_PROPERTIES (${file} STATIC " " " ")
|
||||
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
set_target_properties (${file} PROPERTIES FOLDER test/par)
|
||||
ENDMACRO (ADD_H5P_EXE file)
|
||||
|
@ -10,15 +10,15 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5copy and test executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5copy ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copy.c)
|
||||
TARGET_NAMING (h5copy ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5copy ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5copy STATIC)
|
||||
TARGET_C_PROPERTIES (h5copy STATIC " " " ")
|
||||
target_link_libraries (h5copy ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5copy PROPERTIES FOLDER tools)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5copy)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (h5copygentest ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copygentest.c)
|
||||
TARGET_NAMING (h5copygentest STATIC)
|
||||
TARGET_C_PROPERTIES (h5copygentest STATIC " " " ")
|
||||
@ -26,7 +26,7 @@ if (BUILD_TESTING)
|
||||
set_target_properties (h5copygentest PROPERTIES FOLDER generator/tools)
|
||||
|
||||
#add_test (NAME h5copygentest COMMAND $<TARGET_FILE:h5copygentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
endif (BUILD_TESTING)
|
||||
@ -42,7 +42,7 @@ endif (BUILD_TESTING)
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
#INSTALL_PROGRAM_PDB (h5copy ${HDF5_INSTALL_BIN_DIR} toolsapplications)
|
||||
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
h5copy
|
||||
|
@ -13,8 +13,8 @@ add_executable (h5diff
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_main.c
|
||||
)
|
||||
TARGET_NAMING (h5diff ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5diff ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5diff STATIC)
|
||||
TARGET_C_PROPERTIES (h5diff STATIC " " " ")
|
||||
target_link_libraries (h5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5diff PROPERTIES FOLDER tools)
|
||||
|
||||
@ -25,8 +25,8 @@ if (H5_HAVE_PARALLEL)
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/ph5diff_main.c
|
||||
)
|
||||
TARGET_NAMING (ph5diff ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ph5diff ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (ph5diff STATIC)
|
||||
TARGET_C_PROPERTIES (ph5diff STATIC " " " ")
|
||||
target_link_libraries (ph5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (ph5diff PROPERTIES FOLDER tools)
|
||||
endif (H5_HAVE_PARALLEL)
|
||||
@ -35,18 +35,18 @@ if (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5diff and test executables
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (h5diffgentest ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diffgentest.c)
|
||||
TARGET_NAMING (h5diffgentest STATIC)
|
||||
TARGET_C_PROPERTIES (h5diffgentest STATIC " " " ")
|
||||
target_link_libraries (h5diffgentest ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5diffgentest PROPERTIES FOLDER generator/tools)
|
||||
|
||||
|
||||
#add_test (NAME h5diffgentest COMMAND $<TARGET_FILE:h5diffgentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
||||
|
||||
endif (BUILD_TESTING)
|
||||
|
||||
##############################################################################
|
||||
|
@ -14,8 +14,8 @@ add_executable (h5dump
|
||||
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_ddl.c
|
||||
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_xml.c
|
||||
)
|
||||
TARGET_NAMING (h5dump ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5dump ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5dump STATIC)
|
||||
TARGET_C_PROPERTIES (h5dump STATIC " " " ")
|
||||
target_link_libraries (h5dump ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5dump PROPERTIES FOLDER tools)
|
||||
|
||||
@ -25,15 +25,15 @@ if (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5dump test executable
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (h5dumpgentest ${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dumpgentest.c)
|
||||
TARGET_NAMING (h5dumpgentest STATIC)
|
||||
TARGET_C_PROPERTIES (h5dumpgentest STATIC " " " ")
|
||||
target_link_libraries (h5dumpgentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5dumpgentest PROPERTIES FOLDER generator/tools)
|
||||
|
||||
|
||||
#add_test (NAME h5dumpgentest COMMAND $<TARGET_FILE:h5dumpgentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
||||
|
@ -10,8 +10,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5import executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5import ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5import.c)
|
||||
TARGET_NAMING (h5import ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5import ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5import STATIC)
|
||||
TARGET_C_PROPERTIES (h5import STATIC " " " ")
|
||||
target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
#set_target_properties (h5import PROPERTIES COMPILE_DEFINITIONS H5DEBUGIMPORT)
|
||||
set_target_properties (h5import PROPERTIES FOLDER tools)
|
||||
@ -23,8 +23,8 @@ if (BUILD_TESTING)
|
||||
# Add the h5import executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5importtest ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5importtest.c)
|
||||
TARGET_NAMING (h5importtest ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5importtest ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5importtest STATIC)
|
||||
TARGET_C_PROPERTIES (h5importtest STATIC " " " ")
|
||||
target_link_libraries (h5importtest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5importtest PROPERTIES FOLDER tools)
|
||||
|
||||
|
@ -10,26 +10,26 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5jam executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5jam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jam.c)
|
||||
TARGET_NAMING (h5jam ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5jam ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5jam STATIC)
|
||||
TARGET_C_PROPERTIES (h5jam STATIC " " " ")
|
||||
target_link_libraries (h5jam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5jam PROPERTIES FOLDER tools)
|
||||
|
||||
add_executable (getub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/getub.c)
|
||||
TARGET_NAMING (getub ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (getub ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (getub STATIC)
|
||||
TARGET_C_PROPERTIES (getub STATIC " " " ")
|
||||
target_link_libraries (getub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (getub PROPERTIES FOLDER tools)
|
||||
|
||||
add_executable (tellub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/tellub.c)
|
||||
TARGET_NAMING (tellub ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (tellub ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (tellub STATIC)
|
||||
TARGET_C_PROPERTIES (tellub STATIC " " " ")
|
||||
target_link_libraries (tellub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (tellub PROPERTIES FOLDER tools)
|
||||
|
||||
add_executable (h5unjam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5unjam.c)
|
||||
TARGET_NAMING (h5unjam ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5unjam ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5unjam STATIC)
|
||||
TARGET_C_PROPERTIES (h5unjam STATIC " " " ")
|
||||
target_link_libraries (h5unjam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5unjam PROPERTIES FOLDER tools)
|
||||
|
||||
@ -44,15 +44,15 @@ if (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5jam test executables
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (h5jamgentest ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jamgentest.c)
|
||||
TARGET_NAMING (h5jamgentest ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5jamgentest STATIC)
|
||||
TARGET_C_PROPERTIES (testhdf5 STATIC " " " ")
|
||||
target_link_libraries (h5jamgentest ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5jamgentest PROPERTIES FOLDER generator/tools)
|
||||
|
||||
|
||||
#add_test (NAME h5jamgentest COMMAND $<TARGET_FILE:h5jamgentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
||||
|
@ -10,8 +10,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5ls executable
|
||||
#-----------------------------------------------------------------------------
|
||||
add_executable (h5ls ${HDF5_TOOLS_H5LS_SOURCE_DIR}/h5ls.c)
|
||||
TARGET_NAMING (h5ls ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5ls ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5ls STATIC)
|
||||
TARGET_C_PROPERTIES (h5ls STATIC " " " ")
|
||||
target_link_libraries (h5ls ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5ls PROPERTIES FOLDER tools)
|
||||
|
||||
|
@ -21,8 +21,8 @@ set (REPACK_COMMON_SRCS
|
||||
)
|
||||
|
||||
add_executable (h5repack ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repack_main.c)
|
||||
TARGET_NAMING (h5repack ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5repack ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5repack STATIC)
|
||||
TARGET_C_PROPERTIES (h5repack STATIC " " " ")
|
||||
target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5repack PROPERTIES FOLDER tools)
|
||||
|
||||
@ -33,54 +33,52 @@ if (BUILD_TESTING)
|
||||
# Add h5Repack test executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (testh5repack_detect_szip ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testh5repack_detect_szip.c)
|
||||
TARGET_NAMING (testh5repack_detect_szip ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (testh5repack_detect_szip ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (testh5repack_detect_szip STATIC)
|
||||
TARGET_C_PROPERTIES (testh5repack_detect_szip STATIC " " " ")
|
||||
target_link_libraries (testh5repack_detect_szip ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (testh5repack_detect_szip PROPERTIES FOLDER tools)
|
||||
|
||||
add_executable (h5repacktest ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repacktst.c)
|
||||
TARGET_NAMING (h5repacktest ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5repacktest ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5repacktest STATIC)
|
||||
TARGET_C_PROPERTIES (h5repacktest STATIC " " " ")
|
||||
target_link_libraries (h5repacktest ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (h5repacktest PROPERTIES FOLDER tools)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# If plugin library tests can be tested
|
||||
#-----------------------------------------------------------------------------
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (HDF5_TOOL_PLUGIN_LIB_CORENAME "dynlibadd")
|
||||
set (HDF5_TOOL_PLUGIN_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOL_PLUGIN_LIB_CORENAME}")
|
||||
set (HDF5_TOOL_PLUGIN_LIB_TARGET ${HDF5_TOOL_PLUGIN_LIB_CORENAME})
|
||||
add_definitions (${HDF_EXTRA_C_FLAGS})
|
||||
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
|
||||
set (HDF5_TOOL_PLUGIN_LIB_CORENAME "dynlibadd")
|
||||
set (HDF5_TOOL_PLUGIN_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOL_PLUGIN_LIB_CORENAME}")
|
||||
set (HDF5_TOOL_PLUGIN_LIB_TARGET ${HDF5_TOOL_PLUGIN_LIB_CORENAME})
|
||||
add_definitions (${HDF_EXTRA_C_FLAGS})
|
||||
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
|
||||
|
||||
add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (
|
||||
${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME}
|
||||
SHARED
|
||||
HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE
|
||||
HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG
|
||||
)
|
||||
add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c)
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (
|
||||
${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME}
|
||||
SHARED
|
||||
HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE
|
||||
HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG
|
||||
)
|
||||
|
||||
# make plugins dir
|
||||
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/plugins")
|
||||
#-----------------------------------------------------------------------------
|
||||
# Copy plugin library to a plugins folder
|
||||
#-----------------------------------------------------------------------------
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TOOL_PLUGIN_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different
|
||||
# make plugins dir
|
||||
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/plugins")
|
||||
#-----------------------------------------------------------------------------
|
||||
# Copy plugin library to a plugins folder
|
||||
#-----------------------------------------------------------------------------
|
||||
add_custom_command (
|
||||
TARGET ${HDF5_TOOL_PLUGIN_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different
|
||||
"$<TARGET_FILE:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
|
||||
"${CMAKE_BINARY_DIR}/plugins/$<TARGET_FILE_NAME:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
||||
|
||||
endif (BUILD_TESTING)
|
||||
|
||||
##############################################################################
|
||||
|
@ -992,16 +992,8 @@
|
||||
##############################################################################
|
||||
### P L U G I N T E S T S
|
||||
##############################################################################
|
||||
if (BUILD_SHARED_LIBS)
|
||||
ADD_H5_UD_TEST (plugin_test 0 h5repack_layout.h5 -v -f UD=257,1,9)
|
||||
ADD_H5_UD_TEST (plugin_none 0 h5repack_layout.UD.h5 -v -f NONE)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
message (STATUS " **** Plugins libraries must be built as shared libraries **** ")
|
||||
add_test (
|
||||
NAME H5REPACK-plugin
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP H5PLUGIN TESTING"
|
||||
)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
if (HDF5_TEST_VFD)
|
||||
# Run test with different Virtual File Driver
|
||||
|
@ -10,8 +10,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5stat executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5stat ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat.c)
|
||||
TARGET_NAMING (h5stat ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5stat ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5stat STATIC)
|
||||
TARGET_C_PROPERTIES (h5stat STATIC " " " ")
|
||||
target_link_libraries (h5stat ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5stat PROPERTIES FOLDER tools)
|
||||
|
||||
@ -21,15 +21,15 @@ if (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5stat test executables
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (h5stat_gentest ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat_gentest.c)
|
||||
TARGET_NAMING (h5stat_gentest STATIC)
|
||||
TARGET_C_PROPERTIES (h5stat_gentest STATIC " " " ")
|
||||
target_link_libraries (h5stat_gentest ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5stat_gentest PROPERTIES FOLDER generator/tools)
|
||||
|
||||
|
||||
#add_test (NAME h5stat_gentest COMMAND $<TARGET_FILE:h5stat_gentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
endif (BUILD_TESTING)
|
||||
|
@ -37,21 +37,43 @@ set (H5_TOOLS_LIB_HDRS
|
||||
${HDF5_TOOLS_LIB_SOURCE_DIR}/h5diff.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} " " " ")
|
||||
add_library (${HDF5_TOOLS_LIB_TARGET} STATIC ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} STATIC " " " ")
|
||||
target_link_libraries (${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (
|
||||
${HDF5_TOOLS_LIB_TARGET} ${HDF5_TOOLS_LIB_NAME}
|
||||
${LIB_TYPE}
|
||||
STATIC
|
||||
HDF5_TOOLS_LIB_NAME_RELEASE
|
||||
HDF5_TOOLS_LIB_NAME_DEBUG
|
||||
)
|
||||
#set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES COMPILE_DEFINITIONS H5DIFF_DEBUG)
|
||||
set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
|
||||
set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/tools
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
#set_property (TARGET ${HDF5_TOOLS_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS H5DIFF_DEBUG)
|
||||
set (install_targets ${HDF5_TOOLS_LIB_TARGET})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_TOOLS_LIBSH_TARGET} SHARED ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOLS_LIBSH_TARGET} SHARED " " " ")
|
||||
target_link_libraries (${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIBSH_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (
|
||||
${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_TOOLS_LIB_NAME}
|
||||
SHARED
|
||||
HDF5_TOOLS_LIB_NAME_RELEASE
|
||||
HDF5_TOOLS_LIB_NAME_DEBUG
|
||||
)
|
||||
set_target_properties (${HDF5_TOOLS_LIBSH_TARGET} PROPERTIES
|
||||
FOLDER libraries/tools
|
||||
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
|
||||
)
|
||||
#set_property (TARGET ${HDF5_TOOLS_LIBSH_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS H5DIFF_DEBUG)
|
||||
set (install_targets ${install_targets} ${HDF5_TOOLS_LIBSH_TARGET})
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
@ -76,12 +98,12 @@ install (
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_TOOLS_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
|
||||
INSTALL_TARGET_PDB (${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
${HDF5_TOOLS_LIB_TARGET}
|
||||
${install_targets}
|
||||
EXPORT
|
||||
${HDF5_EXPORTED_TARGETS}
|
||||
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT toolslibraries
|
||||
|
@ -11,20 +11,20 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# --------------------------------------------------------------------
|
||||
#-- Misc Executables
|
||||
add_executable (h5debug ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5debug.c)
|
||||
TARGET_NAMING (h5debug ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5debug ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5debug STATIC)
|
||||
TARGET_C_PROPERTIES (h5debug STATIC " " " ")
|
||||
target_link_libraries (h5debug ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5debug PROPERTIES FOLDER tools)
|
||||
|
||||
add_executable (h5repart ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart.c)
|
||||
TARGET_NAMING (h5repart ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5repart ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5repart STATIC)
|
||||
TARGET_C_PROPERTIES (h5repart STATIC " " " ")
|
||||
target_link_libraries (h5repart ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5repart PROPERTIES FOLDER tools)
|
||||
|
||||
add_executable (h5mkgrp ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5mkgrp.c)
|
||||
TARGET_NAMING (h5mkgrp ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5mkgrp ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5mkgrp STATIC)
|
||||
TARGET_C_PROPERTIES (h5mkgrp STATIC " " " ")
|
||||
target_link_libraries (h5mkgrp ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5mkgrp PROPERTIES FOLDER tools)
|
||||
|
||||
@ -45,18 +45,18 @@ if (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the misc test executables
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
if (HDF5_BUILD_GENERATORS)
|
||||
add_executable (h5repart_gentest ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart_gentest.c)
|
||||
TARGET_NAMING (h5repart_gentest STATIC)
|
||||
TARGET_C_PROPERTIES (h5repart_gentest STATIC " " " ")
|
||||
target_link_libraries (h5repart_gentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5repart_gentest PROPERTIES FOLDER generator/tools)
|
||||
#add_test (NAME h5repart_gentest COMMAND $<TARGET_FILE:h5repart_gentest>)
|
||||
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
endif (HDF5_BUILD_GENERATORS)
|
||||
|
||||
add_executable (h5repart_test ${HDF5_TOOLS_MISC_SOURCE_DIR}/repart_test.c)
|
||||
TARGET_NAMING (h5repart_test ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5repart_test ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5repart_test STATIC)
|
||||
TARGET_C_PROPERTIES (h5repart_test STATIC " " " ")
|
||||
target_link_libraries (h5repart_test ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5repart_test PROPERTIES FOLDER tools)
|
||||
|
||||
|
@ -21,8 +21,8 @@ set (h5perf_serial_SRCS
|
||||
${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
|
||||
)
|
||||
add_executable (h5perf_serial ${h5perf_serial_SRCS})
|
||||
TARGET_NAMING (h5perf_serial ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5perf_serial ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5perf_serial STATIC)
|
||||
TARGET_C_PROPERTIES (h5perf_serial STATIC " " " ")
|
||||
target_link_libraries (h5perf_serial ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5perf_serial PROPERTIES FOLDER perform)
|
||||
|
||||
@ -33,8 +33,8 @@ if (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
|
||||
)
|
||||
add_executable (h5perf_serial_alone ${h5perf_serial_alone_SRCS})
|
||||
TARGET_NAMING (h5perf_serial_alone ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5perf_serial_alone ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5perf_serial_alone STATIC)
|
||||
TARGET_C_PROPERTIES (h5perf_serial_alone STATIC " " " ")
|
||||
target_link_libraries (h5perf_serial_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5perf_serial_alone PROPERTIES FOLDER perform)
|
||||
set_property (TARGET h5perf_serial_alone
|
||||
@ -47,8 +47,8 @@ set (chunk_SRCS
|
||||
${HDF5_PERFORM_SOURCE_DIR}/chunk.c
|
||||
)
|
||||
ADD_EXECUTABLE(chunk ${chunk_SRCS})
|
||||
TARGET_NAMING (chunk ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (chunk ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (chunk STATIC)
|
||||
TARGET_C_PROPERTIES (chunk STATIC " " " ")
|
||||
TARGET_LINK_LIBRARIES(chunk ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (chunk PROPERTIES FOLDER perform)
|
||||
|
||||
@ -57,8 +57,8 @@ set (iopipe_SRCS
|
||||
${HDF5_PERFORM_SOURCE_DIR}/iopipe.c
|
||||
)
|
||||
add_executable (iopipe ${iopipe_SRCS})
|
||||
TARGET_NAMING (iopipe ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (iopipe ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (iopipe STATIC)
|
||||
TARGET_C_PROPERTIES (iopipe STATIC " " " ")
|
||||
target_link_libraries (iopipe ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (iopipe PROPERTIES FOLDER perform)
|
||||
|
||||
@ -67,8 +67,8 @@ set (overhead_SRCS
|
||||
${HDF5_PERFORM_SOURCE_DIR}/overhead.c
|
||||
)
|
||||
add_executable (overhead ${overhead_SRCS})
|
||||
TARGET_NAMING (overhead ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (overhead ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (overhead STATIC)
|
||||
TARGET_C_PROPERTIES (overhead STATIC " " " ")
|
||||
target_link_libraries (overhead ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (overhead PROPERTIES FOLDER perform)
|
||||
|
||||
@ -78,8 +78,8 @@ if (BUILD_TESTING)
|
||||
${HDF5_PERFORM_SOURCE_DIR}/perf_meta.c
|
||||
)
|
||||
add_executable (perf_meta ${perf_meta_SRCS})
|
||||
TARGET_NAMING (perf_meta ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (perf_meta ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (perf_meta STATIC)
|
||||
TARGET_C_PROPERTIES (perf_meta STATIC " " " ")
|
||||
target_link_libraries (perf_meta ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (perf_meta PROPERTIES FOLDER perform)
|
||||
endif (BUILD_TESTING)
|
||||
@ -89,8 +89,8 @@ set (zip_perf_SRCS
|
||||
${HDF5_PERFORM_SOURCE_DIR}/zip_perf.c
|
||||
)
|
||||
add_executable (zip_perf ${zip_perf_SRCS})
|
||||
TARGET_NAMING (zip_perf ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (zip_perf ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (zip_perf STATIC)
|
||||
TARGET_C_PROPERTIES (zip_perf STATIC " " " ")
|
||||
target_link_libraries (zip_perf ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (zip_perf PROPERTIES FOLDER perform)
|
||||
|
||||
@ -101,8 +101,8 @@ if (H5_HAVE_PARALLEL AND BUILD_TESTING)
|
||||
${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
|
||||
)
|
||||
add_executable (h5perf ${h5perf_SRCS})
|
||||
TARGET_NAMING (h5perf ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5perf ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5perf STATIC)
|
||||
TARGET_C_PROPERTIES (h5perf STATIC " " " ")
|
||||
target_link_libraries (h5perf ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (h5perf PROPERTIES FOLDER perform)
|
||||
|
||||
@ -113,8 +113,8 @@ if (H5_HAVE_PARALLEL AND BUILD_TESTING)
|
||||
${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
|
||||
)
|
||||
add_executable (h5perf_alone ${h5perf_alone_SRCS})
|
||||
TARGET_NAMING (h5perf_alone ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5perf_alone ${LIB_TYPE} " " " ")
|
||||
TARGET_NAMING (h5perf_alone STATIC)
|
||||
TARGET_C_PROPERTIES (h5perf_alone STATIC " " " ")
|
||||
target_link_libraries (h5perf_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
set_target_properties (h5perf_alone PROPERTIES FOLDER perform)
|
||||
set_property (TARGET h5perf_alone
|
||||
|
Loading…
x
Reference in New Issue
Block a user