summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2014-04-04 20:51:30 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2014-04-04 20:51:30 (GMT)
commitb17ef126a75779f00ee4fef70a2b590b2c19fb4e (patch)
tree846887128b92979fd6e1c3cd84bb6a5c445e1068 /CMakeLists.txt
parent79a891c2417859de411a36e25203499f1f0d4280 (diff)
downloadhdf5-b17ef126a75779f00ee4fef70a2b590b2c19fb4e.zip
hdf5-b17ef126a75779f00ee4fef70a2b590b2c19fb4e.tar.gz
hdf5-b17ef126a75779f00ee4fef70a2b590b2c19fb4e.tar.bz2
[svn-r24961] Updates to Win32 thread-local storage cleanup when the thread-safe library is built on Windows. Previously, thread-local storage was not cleaned up, causing resource leaks.
Fixes HDFFV-8518, HDFFV-8699 As a part of these changes, the thread-safe + static library options are declared unsupported since the solution relies on DllMain. A solution for the static library is probably doable, but requires much more complicated surgery and has been deferred to HDF5 1.8.14. Tested on: 64-bit Windows 7 using VS 2012 (changes only affect Windows)
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt9
1 files changed, 6 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index efa9ba6..106c59c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -730,14 +730,17 @@ if (WIN32)
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
+ if (H5_BUILT_AS_STATIC_LIB)
+ message (FATAL_ERROR " **** thread-safety option not supported with static library **** ")
+ endif (H5_BUILT_AS_STATIC_LIB)
if (HDF5_ENABLE_PARALLEL)
- message (FATAL_ERROR " **** parallel and thread-safety options are mutually exclusive **** ")
+ message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
endif (HDF5_ENABLE_PARALLEL)
if (HDF5_BUILD_FORTRAN)
- message (FATAL_ERROR " **** Fortran and thread-safety options are mutually exclusive **** ")
+ message (FATAL_ERROR " **** Fortran and thread-safety options are not supported **** ")
endif (HDF5_BUILD_FORTRAN)
if (HDF5_BUILD_CPP_LIB)
- message (FATAL_ERROR " **** C++ and thread-safety options are mutually exclusive **** ")
+ message (FATAL_ERROR " **** C++ and thread-safety options are not supported **** ")
endif (HDF5_BUILD_CPP_LIB)
set (H5_HAVE_THREADSAFE 1)
if (H5_HAVE_IOEO)