HDFFV-10845 update mingw cmake changes

This commit is contained in:
Allen Byrne 2019-07-17 16:08:43 -05:00
parent ac8a1f02ab
commit 0a9180c074
7 changed files with 27 additions and 21 deletions

View File

@ -112,7 +112,10 @@ if (BUILD_SHARED_LIBS)
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
TARGET_C_PROPERTIES (${HDF5_CPP_LIBSH_TARGET} SHARED)
target_link_libraries (${HDF5_CPP_LIBSH_TARGET} PUBLIC ${HDF5_LIBSH_TARGET})
target_link_libraries (${HDF5_CPP_LIBSH_TARGET}
PUBLIC ${HDF5_LIBSH_TARGET}
PRIVATE $<$<PLATFORM_ID:MinGW>:-static -static-libgcc -static-libstdc++ -dynamic>
)
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 "CXX")
set_target_properties (${HDF5_CPP_LIBSH_TARGET} PROPERTIES FOLDER libraries/cpp)

View File

@ -21,9 +21,6 @@ include (CheckTypeSize)
include (CheckVariableExists)
include (TestBigEndian)
set (HDF_EXTRA_C_FLAGS)
set (HDF_EXTRA_FLAGS)
#-----------------------------------------------------------------------------
# APPLE/Darwin setup
#-----------------------------------------------------------------------------
@ -264,6 +261,8 @@ HDF_FUNCTION_TEST (STDC_HEADERS)
# The linux-lfs option is deprecated.
set (LINUX_LFS 0)
set (HDF_EXTRA_C_FLAGS)
set (HDF_EXTRA_FLAGS)
if (NOT WINDOWS)
# Might want to check explicitly for Linux and possibly Cygwin
# instead of checking for not Solaris or Darwin.

View File

@ -86,7 +86,7 @@ macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
${targetfilename}
DESTINATION
${targetdestination}
CONFIGURATIONS $<CONFIG>
CONFIGURATIONS Debug RelWithDebInfo
COMPONENT ${targetcomponent}
OPTIONAL
)
@ -101,7 +101,7 @@ macro (INSTALL_PROGRAM_PDB progtarget targetdestination targetcomponent)
$<TARGET_PDB_FILE:${progtarget}>
DESTINATION
${targetdestination}
CONFIGURATIONS $<CONFIG>
CONFIGURATIONS Debug RelWithDebInfo
COMPONENT ${targetcomponent}
OPTIONAL
)
@ -128,6 +128,12 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
endif ()
endif ()
set_target_properties (${libtarget}
PROPERTIES
OUTPUT_NAME
${LIB_RELEASE_NAME}
)
if (${libtype} MATCHES "STATIC")
if (WIN32)
set_target_properties (${libtarget}

View File

@ -6,16 +6,16 @@ This tar file contains
CTestScript.cmake
HDF5config.cmake CMake scripts for building HDF5
HDF5options.cmake
hdf5-1.11.4 HDF5 1.11.4 source
hdf5-1.11.6 HDF5 1.11.6 source
SZip.tar.gz source for building SZIP
ZLib.tar.gz source for building ZLIB
For more information about building HDF5 with CMake, see USING_HDF5_CMake.txt in
hdf5-1.11.4/release_docs, or
hdf5-1.11.6/release_docs, or
https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake.
For more information about building HDF5 with CMake on HPC machines, including
cross compiling on Cray XC40, see README_HPC in hdf5-1.11.4/release_docs.
cross compiling on Cray XC40, see README_HPC in hdf5-1.11.6/release_docs.

View File

@ -50,10 +50,10 @@ New Features
-------------
- Windows PDB files are always installed
There are configuration settings for Windows, that may not generate
PDB files. As such the install utility will break because those files
are not found. Add an optional variable that can be set to not install
PDB files.
There are build configuration or flag settings for Windows that may not
generate PDB files. If those files are not generated then the install
utility will fail because those PDB files are not found. An optional
variable, DISABLE_PDB_FILES, was added to not install PDB files.
(ADB - 2019/07/17, HDFFV-100424)

View File

@ -69,13 +69,6 @@ typedef __int64 h5_stat_size_t;
#define HDtzset() _tzset()
#define HDunlink(S) _unlink(S)
#define HDwrite(F,M,Z) _write(F,M,Z)
#if (_MSC_VER < 1800)
/* va_copy() does not exist on pre-2013 Visual Studio. Since va_lists are
* just pointers into the stack in those CRTs, the usual work-around
* is to just define the operation as a pointer copy.
*/
#define HDva_copy(D,S) ((D) = (S))
#endif /* MSC_VER < 1800 */
#ifdef H5_HAVE_VISUAL_STUDIO
@ -86,6 +79,11 @@ typedef __int64 h5_stat_size_t;
#ifndef H5_HAVE_STRTOULL
#define HDstrtoull(S,R,N) _strtoui64(S,R,N)
#endif /* H5_HAVE_STRTOULL */
/* va_copy() does not exist on pre-2013 Visual Studio. Since va_lists are
* just pointers into the stack in those CRTs, the usual work-around
* is to just define the operation as a pointer copy.
*/
#define HDva_copy(D,S) ((D) = (S))
#endif /* MSC_VER < 1800 */
/*

View File

@ -50,7 +50,7 @@ endforeach ()
add_test (
NAME MPI_TEST_VFD-${vfdname}-${h5_test}
COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:${h5_test}>"
-D "TEST_ARGS:STRING="
-D "TEST_VFD:STRING=${vfdname}"