summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2014-03-26 15:00:35 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2014-03-26 15:00:35 (GMT)
commitd9020f2e35342605b26b6260e05cc4a2cef2327b (patch)
tree344bb1fde0fd8def1e2228abadc7e64b605e11dc /CMakeLists.txt
parent3944dcb308de2d380822d2d56cf0d3bd96db5c8f (diff)
downloadhdf5-d9020f2e35342605b26b6260e05cc4a2cef2327b.zip
hdf5-d9020f2e35342605b26b6260e05cc4a2cef2327b.tar.gz
hdf5-d9020f2e35342605b26b6260e05cc4a2cef2327b.tar.bz2
[svn-r24906] Merge latest CMake changes from trunk.
Tested: local linux
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt1051
1 files changed, 518 insertions, 533 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48134d6..33010aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 2.8.10)
+cmake_minimum_required (VERSION 2.8.11)
PROJECT (HDF5 C CXX)
#-----------------------------------------------------------------------------
@@ -20,7 +20,7 @@ PROJECT (HDF5 C CXX)
# HDF5_EXPORTED_TARGETS :
# Set this to the name of the targets variable which controls exports
# If unset (because parent project does not support/use the
-# INSTALL (EXPORT target...) syntax), then targets are not configured
+# install (EXPORT target...) syntax), then targets are not configured
# for export during install.
#
# HDF5_LIB_DEPENDENCIES :
@@ -44,30 +44,30 @@ PROJECT (HDF5 C CXX)
# any project making use of this build of HDF5 will use the correct zlib
#
# # Tell hdf5 that we are manually overriding certain settings
-# SET(HDF5_EXTERNALLY_CONFIGURED 1)
+# set (HDF5_EXTERNALLY_CONFIGURED 1)
# # Avoid duplicating names of installed libraries
-# SET(HDF5_EXTERNAL_LIB_PREFIX "vtk")
+# set (HDF5_EXTERNAL_LIB_PREFIX "vtk")
# # Export configuration to this export variable
-# SET(HDF5_EXPORTED_TARGETS "paraview-targets")
+# set (HDF5_EXPORTED_TARGETS "paraview-targets")
#
# # Setup all necessary overrides for zlib so that HDF5 uses our
# # internally compiled zlib rather than any other version
-# IF(HDF5_ENABLE_Z_LIB_SUPPORT)
+# if (HDF5_ENABLE_Z_LIB_SUPPORT)
# # We must tell the main HDF5 library that it depends on our zlib
-# SET(HDF5_LIB_DEPENDENCIES vtkzlib)
+# set (HDF5_LIB_DEPENDENCIES vtkzlib)
# # Override the zlib header file
-# IF(VTK_USE_SYSTEM_ZLIB)
-# SET(H5_ZLIB_HEADER "zlib.h")
-# ELSE(VTK_USE_SYSTEM_ZLIB)
-# SET(H5_ZLIB_HEADER "vtk_zlib.h")
+# if (VTK_USE_SYSTEM_ZLIB)
+# set (H5_ZLIB_HEADER "zlib.h")
+# else (VTK_USE_SYSTEM_ZLIB)
+# set (H5_ZLIB_HEADER "vtk_zlib.h")
# # Set vars that FindZlib would have set if used in sub project
-# SET(ZLIB_INCLUDE_DIRS "${VTK_ZLIB_INCLUDE_DIRS}")
-# SET(ZLIB_LIBRARIES vtkzlib)
-# ENDIF(VTK_USE_SYSTEM_ZLIB)
-# ENDIF(HDF5_ENABLE_Z_LIB_SUPPORT)
+# set (ZLIB_INCLUDE_DIRS "${VTK_ZLIB_INCLUDE_DIRS}")
+# set (ZLIB_LIBRARIES vtkzlib)
+# endif (VTK_USE_SYSTEM_ZLIB)
+# endif (HDF5_ENABLE_Z_LIB_SUPPORT)
#
# # Add the sub project
-# ADD_SUBDIRECTORY(Utilities/hdf5-1.8)
+# add_subdirectory (Utilities/hdf5-1.8)
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
@@ -77,281 +77,277 @@ PROJECT (HDF5 C CXX)
# organization feature. Default to ON for non-Express users. Express users must
# explicitly turn off this option to build HDF5 in the Express IDE...
#
-OPTION (HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON)
-MARK_AS_ADVANCED (HDF5_USE_FOLDERS)
-IF (HDF5_USE_FOLDERS)
- SET_PROPERTY (GLOBAL PROPERTY USE_FOLDERS ON)
-ENDIF (HDF5_USE_FOLDERS)
-OPTION (HDF5_NO_PACKAGES "CPACK - Disable packaging" OFF)
-MARK_AS_ADVANCED (HDF5_NO_PACKAGES)
+option (HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON)
+mark_as_advanced (HDF5_USE_FOLDERS)
+if (HDF5_USE_FOLDERS)
+ set_property (GLOBAL PROPERTY USE_FOLDERS ON)
+endif (HDF5_USE_FOLDERS)
+option (HDF5_NO_PACKAGES "CPACK - Disable packaging" OFF)
+mark_as_advanced (HDF5_NO_PACKAGES)
#-----------------------------------------------------------------------------
# Set the core names of all the libraries
#-----------------------------------------------------------------------------
-SET (HDF5_LIB_CORENAME "hdf5")
-SET (HDF5_TEST_LIB_CORENAME "hdf5_test")
-SET (HDF5_CPP_LIB_CORENAME "hdf5_cpp")
-SET (HDF5_HL_LIB_CORENAME "hdf5_hl")
-SET (HDF5_HL_CPP_LIB_CORENAME "hdf5_hl_cpp")
-SET (HDF5_TOOLS_LIB_CORENAME "hdf5_tools")
-SET (HDF5_F90_LIB_CORENAME "hdf5_fortran")
-SET (HDF5_F90_C_LIB_CORENAME "hdf5_f90cstub")
-SET (HDF5_F90_TEST_LIB_CORENAME "hdf5_test_fortran")
-SET (HDF5_F90_C_TEST_LIB_CORENAME "hdf5_test_f90cstub")
-SET (HDF5_HL_F90_LIB_CORENAME "hdf5_hl_fortran")
-SET (HDF5_HL_F90_C_LIB_CORENAME "hdf5_hl_f90cstub")
+set (HDF5_LIB_CORENAME "hdf5")
+set (HDF5_TEST_LIB_CORENAME "hdf5_test")
+set (HDF5_CPP_LIB_CORENAME "hdf5_cpp")
+set (HDF5_HL_LIB_CORENAME "hdf5_hl")
+set (HDF5_HL_CPP_LIB_CORENAME "hdf5_hl_cpp")
+set (HDF5_TOOLS_LIB_CORENAME "hdf5_tools")
+set (HDF5_F90_LIB_CORENAME "hdf5_fortran")
+set (HDF5_F90_C_LIB_CORENAME "hdf5_f90cstub")
+set (HDF5_F90_TEST_LIB_CORENAME "hdf5_test_fortran")
+set (HDF5_F90_C_TEST_LIB_CORENAME "hdf5_test_f90cstub")
+set (HDF5_HL_F90_LIB_CORENAME "hdf5_hl_fortran")
+set (HDF5_HL_F90_C_LIB_CORENAME "hdf5_hl_f90cstub")
#-----------------------------------------------------------------------------
# Set the true names of all the libraries if customized by external project
#-----------------------------------------------------------------------------
-SET (HDF5_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_LIB_CORENAME}")
-SET (HDF5_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TEST_LIB_CORENAME}")
-SET (HDF5_CPP_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_CPP_LIB_CORENAME}")
-SET (HDF5_HL_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_LIB_CORENAME}")
-SET (HDF5_HL_CPP_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_CPP_LIB_CORENAME}")
-SET (HDF5_TOOLS_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOLS_LIB_CORENAME}")
-SET (HDF5_F90_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_LIB_CORENAME}")
-SET (HDF5_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_C_LIB_CORENAME}")
-SET (HDF5_F90_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_TEST_LIB_CORENAME}")
-SET (HDF5_F90_C_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_C_TEST_LIB_CORENAME}")
-SET (HDF5_HL_F90_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_LIB_CORENAME}")
-SET (HDF5_HL_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_C_LIB_CORENAME}")
+set (HDF5_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_LIB_CORENAME}")
+set (HDF5_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TEST_LIB_CORENAME}")
+set (HDF5_CPP_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_CPP_LIB_CORENAME}")
+set (HDF5_HL_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_LIB_CORENAME}")
+set (HDF5_HL_CPP_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_CPP_LIB_CORENAME}")
+set (HDF5_TOOLS_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOLS_LIB_CORENAME}")
+set (HDF5_F90_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_LIB_CORENAME}")
+set (HDF5_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_C_LIB_CORENAME}")
+set (HDF5_F90_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_TEST_LIB_CORENAME}")
+set (HDF5_F90_C_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_C_TEST_LIB_CORENAME}")
+set (HDF5_HL_F90_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_LIB_CORENAME}")
+set (HDF5_HL_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_C_LIB_CORENAME}")
#-----------------------------------------------------------------------------
# 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})
+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})
#-----------------------------------------------------------------------------
# Define some CMake variables for use later in the project
#-----------------------------------------------------------------------------
-SET (HDF5_RESOURCES_DIR ${HDF5_SOURCE_DIR}/config/cmake)
-SET (HDF5_SRC_DIR ${HDF5_SOURCE_DIR}/src)
-SET (HDF5_TEST_SRC_DIR ${HDF5_SOURCE_DIR}/test)
-SET (HDF5_CPP_SRC_DIR ${HDF5_SOURCE_DIR}/c++)
-SET (HDF5_CPP_TST_DIR ${HDF5_SOURCE_DIR}/c++/test)
-SET (HDF5_HL_SRC_DIR ${HDF5_SOURCE_DIR}/hl)
-SET (HDF5_HL_CPP_SRC_DIR ${HDF5_SOURCE_DIR}/hl/c++)
-SET (HDF5_TOOLS_SRC_DIR ${HDF5_SOURCE_DIR}/tools)
-SET (HDF5_PERFORM_SRC_DIR ${HDF5_SOURCE_DIR}/perform)
-SET (HDF5_F90_SRC_DIR ${HDF5_SOURCE_DIR}/fortran)
-
-IF (NOT HDF5_INSTALL_BIN_DIR)
- SET (HDF5_INSTALL_BIN_DIR bin)
-ENDIF (NOT HDF5_INSTALL_BIN_DIR)
-IF (NOT HDF5_INSTALL_LIB_DIR)
- SET (HDF5_INSTALL_LIB_DIR lib)
-ENDIF (NOT HDF5_INSTALL_LIB_DIR)
-IF (NOT HDF5_INSTALL_INCLUDE_DIR)
- SET (HDF5_INSTALL_INCLUDE_DIR include)
-ENDIF (NOT HDF5_INSTALL_INCLUDE_DIR)
-IF (NOT HDF5_INSTALL_DATA_DIR)
- IF (NOT WIN32)
- SET (HDF5_INSTALL_DATA_DIR share)
- SET (HDF5_INSTALL_CMAKE_DIR share/cmake)
- ELSE (NOT WIN32)
- SET (HDF5_INSTALL_DATA_DIR ".")
- SET (HDF5_INSTALL_CMAKE_DIR cmake)
- ENDIF (NOT WIN32)
-ENDIF (NOT HDF5_INSTALL_DATA_DIR)
+set (HDF5_RESOURCES_DIR ${HDF5_SOURCE_DIR}/config/cmake)
+set (HDF5_SRC_DIR ${HDF5_SOURCE_DIR}/src)
+set (HDF5_TEST_SRC_DIR ${HDF5_SOURCE_DIR}/test)
+set (HDF5_CPP_SRC_DIR ${HDF5_SOURCE_DIR}/c++)
+set (HDF5_CPP_TST_DIR ${HDF5_SOURCE_DIR}/c++/test)
+set (HDF5_HL_SRC_DIR ${HDF5_SOURCE_DIR}/hl)
+set (HDF5_HL_CPP_SRC_DIR ${HDF5_SOURCE_DIR}/hl/c++)
+set (HDF5_TOOLS_SRC_DIR ${HDF5_SOURCE_DIR}/tools)
+set (HDF5_PERFORM_SRC_DIR ${HDF5_SOURCE_DIR}/perform)
+set (HDF5_F90_SRC_DIR ${HDF5_SOURCE_DIR}/fortran)
+
+if (NOT HDF5_INSTALL_BIN_DIR)
+ set (HDF5_INSTALL_BIN_DIR bin)
+endif (NOT HDF5_INSTALL_BIN_DIR)
+if (NOT HDF5_INSTALL_LIB_DIR)
+ set (HDF5_INSTALL_LIB_DIR lib)
+endif (NOT HDF5_INSTALL_LIB_DIR)
+if (NOT HDF5_INSTALL_INCLUDE_DIR)
+ set (HDF5_INSTALL_INCLUDE_DIR include)
+endif (NOT HDF5_INSTALL_INCLUDE_DIR)
+if (NOT HDF5_INSTALL_DATA_DIR)
+ if (NOT WIN32)
+ set (HDF5_INSTALL_DATA_DIR share)
+ set (HDF5_INSTALL_CMAKE_DIR share/cmake)
+ else (NOT WIN32)
+ set (HDF5_INSTALL_DATA_DIR ".")
+ set (HDF5_INSTALL_CMAKE_DIR cmake)
+ endif (NOT WIN32)
+endif (NOT HDF5_INSTALL_DATA_DIR)
#-----------------------------------------------------------------------------
# parse the full version number from H5public.h and include in H5_VERS_INFO
#-----------------------------------------------------------------------------
-FILE (READ ${HDF5_SRC_DIR}/H5public.h _h5public_h_contents)
-STRING (REGEX REPLACE ".*#define[ \t]+H5_VERS_MAJOR[ \t]+([0-9]*).*$"
+file (READ ${HDF5_SRC_DIR}/H5public.h _h5public_h_contents)
+string (REGEX REPLACE ".*#define[ \t]+H5_VERS_MAJOR[ \t]+([0-9]*).*$"
"\\1" H5_VERS_MAJOR ${_h5public_h_contents})
-STRING (REGEX REPLACE ".*#define[ \t]+H5_VERS_MINOR[ \t]+([0-9]*).*$"
+string (REGEX REPLACE ".*#define[ \t]+H5_VERS_MINOR[ \t]+([0-9]*).*$"
"\\1" H5_VERS_MINOR ${_h5public_h_contents})
-STRING (REGEX REPLACE ".*#define[ \t]+H5_VERS_RELEASE[ \t]+([0-9]*).*$"
+string (REGEX REPLACE ".*#define[ \t]+H5_VERS_RELEASE[ \t]+([0-9]*).*$"
"\\1" H5_VERS_RELEASE ${_h5public_h_contents})
-STRING (REGEX REPLACE ".*#define[ \t]+H5_VERS_SUBRELEASE[ \t]+\"([0-9A-Za-z._]*)\".*$"
+string (REGEX REPLACE ".*#define[ \t]+H5_VERS_SUBRELEASE[ \t]+\"([0-9A-Za-z._]*)\".*$"
"\\1" H5_VERS_SUBRELEASE ${_h5public_h_contents})
-#MESSAGE (STATUS "VERSION: ${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}-${H5_VERS_SUBRELEASE}")
+#message (STATUS "VERSION: ${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}-${H5_VERS_SUBRELEASE}")
#-----------------------------------------------------------------------------
# parse the full soversion number from config/lt_vers.am and include in H5_SOVERS_INFO
#-----------------------------------------------------------------------------
-FILE (READ ${HDF5_SOURCE_DIR}/config/lt_vers.am _lt_vers_am_contents)
-STRING (REGEX REPLACE ".*LT_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$"
+file (READ ${HDF5_SOURCE_DIR}/config/lt_vers.am _lt_vers_am_contents)
+string (REGEX REPLACE ".*LT_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$"
"\\1" H5_SOVERS_INTERFACE ${_lt_vers_am_contents})
-STRING (REGEX REPLACE ".*LT_VERS_REVISION[ \t]+=[ \t]+([0-9]*).*$"
+string (REGEX REPLACE ".*LT_VERS_REVISION[ \t]+=[ \t]+([0-9]*).*$"
"\\1" H5_SOVERS_MINOR ${_lt_vers_am_contents})
-STRING (REGEX REPLACE ".*LT_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$"
+string (REGEX REPLACE ".*LT_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$"
"\\1" H5_SOVERS_RELEASE ${_lt_vers_am_contents})
-MATH(EXPR H5_SOVERS_MAJOR ${H5_SOVERS_INTERFACE}-${H5_SOVERS_RELEASE})
-MESSAGE (STATUS "SOVERSION: ${H5_SOVERS_MAJOR}.${H5_SOVERS_RELEASE}.${H5_SOVERS_MINOR}")
+MATH (EXPR H5_SOVERS_MAJOR ${H5_SOVERS_INTERFACE}-${H5_SOVERS_RELEASE})
+message (STATUS "SOVERSION: ${H5_SOVERS_MAJOR}.${H5_SOVERS_RELEASE}.${H5_SOVERS_MINOR}")
#-----------------------------------------------------------------------------
# Basic HDF5 stuff here
#-----------------------------------------------------------------------------
-SET (HDF5_PACKAGE "hdf5")
-SET (HDF5_PACKAGE_NAME "HDF5")
-SET (HDF5_PACKAGE_VERSION "${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}")
-SET (HDF5_PACKAGE_VERSION_MAJOR "${H5_VERS_MAJOR}.${H5_VERS_MINOR}")
-SET (HDF5_PACKAGE_VERSION_MINOR "${H5_VERS_RELEASE}")
-IF (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
- SET (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}-${H5_VERS_SUBRELEASE}")
-ELSE (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
- SET (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}")
-ENDIF (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
-SET (HDF5_PACKAGE_SOVERSION "${H5_SOVERS_MAJOR}.${H5_SOVERS_RELEASE}.${H5_SOVERS_MINOR}")
-SET (HDF5_PACKAGE_STRING "${HDF5_PACKAGE_NAME} ${HDF5_PACKAGE_VERSION_STRING}")
-SET (HDF5_PACKAGE_TARNAME "${HDF5_PACKAGE}${HDF_PACKAGE_EXT}")
-SET (HDF5_PACKAGE_URL "http://www.hdfgroup.org")
-SET (HDF5_PACKAGE_BUGREPORT "help@hdfgroup.org")
+set (HDF5_PACKAGE "hdf5")
+set (HDF5_PACKAGE_NAME "HDF5")
+set (HDF5_PACKAGE_VERSION "${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}")
+set (HDF5_PACKAGE_VERSION_MAJOR "${H5_VERS_MAJOR}.${H5_VERS_MINOR}")
+set (HDF5_PACKAGE_VERSION_MINOR "${H5_VERS_RELEASE}")
+if (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
+ set (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}-${H5_VERS_SUBRELEASE}")
+else (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
+ set (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}")
+endif (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
+set (HDF5_PACKAGE_SOVERSION "${H5_SOVERS_MAJOR}.${H5_SOVERS_RELEASE}.${H5_SOVERS_MINOR}")
+set (HDF5_PACKAGE_STRING "${HDF5_PACKAGE_NAME} ${HDF5_PACKAGE_VERSION_STRING}")
+set (HDF5_PACKAGE_TARNAME "${HDF5_PACKAGE}${HDF_PACKAGE_EXT}")
+set (HDF5_PACKAGE_URL "http://www.hdfgroup.org")
+set (HDF5_PACKAGE_BUGREPORT "help@hdfgroup.org")
#-----------------------------------------------------------------------------
# Set Install folder value
#-----------------------------------------------------------------------------
-IF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- IF(CMAKE_HOST_UNIX)
- SET(CMAKE_INSTALL_PREFIX "/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}"
+if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ if (CMAKE_HOST_UNIX)
+ set (CMAKE_INSTALL_PREFIX "/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}"
CACHE PATH "Install path prefix, prepended onto install directories." FORCE)
- ELSE(CMAKE_HOST_UNIX)
+ else (CMAKE_HOST_UNIX)
GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
- SET(CMAKE_INSTALL_PREFIX
+ set (CMAKE_INSTALL_PREFIX
"${CMAKE_GENERIC_PROGRAM_FILES}/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}"
CACHE PATH "Install path prefix, prepended onto install directories." FORCE)
- SET(CMAKE_GENERIC_PROGRAM_FILES)
- ENDIF(CMAKE_HOST_UNIX)
-ENDIF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ set (CMAKE_GENERIC_PROGRAM_FILES)
+ endif (CMAKE_HOST_UNIX)
+endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
#-----------------------------------------------------------------------------
# Include some macros for reusable code
#-----------------------------------------------------------------------------
-INCLUDE (${HDF5_RESOURCES_DIR}/HDFMacros.cmake)
-INCLUDE (${HDF5_RESOURCES_DIR}/HDFLibMacros.cmake)
-INCLUDE (${HDF5_RESOURCES_DIR}/HDF5Macros.cmake)
+include (${HDF5_RESOURCES_DIR}/HDFMacros.cmake)
+include (${HDF5_RESOURCES_DIR}/HDFLibMacros.cmake)
+include (${HDF5_RESOURCES_DIR}/HDF5Macros.cmake)
#-----------------------------------------------------------------------------
# Setup output Directories
#-----------------------------------------------------------------------------
-IF (NOT HDF5_EXTERNALLY_CONFIGURED)
- SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
+if (NOT HDF5_EXTERNALLY_CONFIGURED)
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all Executables."
)
- SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all Libraries"
)
- SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all static libraries."
)
- SET (CMAKE_Fortran_MODULE_DIRECTORY
- ${PROJECT_BINARY_DIR}/bin/fortran CACHE PATH "Single Directory for all fortran modules."
+ set (CMAKE_Fortran_MODULE_DIRECTORY
+ ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all fortran modules."
)
-ELSE (NOT HDF5_EXTERNALLY_CONFIGURED)
+else (NOT HDF5_EXTERNALLY_CONFIGURED)
# if we are externally configured, but the project uses old cmake scripts
# this may not be set and utilities like H5detect will fail
- IF (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
- SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
- ENDIF (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
-ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
+ if (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
+ endif (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+endif (NOT HDF5_EXTERNALLY_CONFIGURED)
#-----------------------------------------------------------------------------
# Targets built within this project are exported at Install time for use
# by other projects using FindHDF5.
#-----------------------------------------------------------------------------
-IF (NOT HDF5_EXPORTED_TARGETS)
- SET (HDF5_EXPORTED_TARGETS "hdf5-targets")
-ENDIF (NOT HDF5_EXPORTED_TARGETS)
+if (NOT HDF5_EXPORTED_TARGETS)
+ set (HDF5_EXPORTED_TARGETS "hdf5-targets")
+endif (NOT HDF5_EXPORTED_TARGETS)
#-----------------------------------------------------------------------------
# To include a library in the list exported by the project AT BUILD TIME,
# add it to this variable. This is NOT used by Make Install, but for projects
# which include hdf5 as a sub-project within their build tree
#-----------------------------------------------------------------------------
-SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "")
-SET (EXTERNAL_HEADER_LIST "")
-SET (EXTERNAL_LIBRARY_LIST "")
-SET (EXTERNAL_LIBRARYDLL_LIST "")
+set_global_variable (HDF5_LIBRARIES_TO_EXPORT "")
+set (EXTERNAL_HEADER_LIST "")
+set (EXTERNAL_LIBRARY_LIST "")
+set (EXTERNAL_LIBRARYDLL_LIST "")
#-----------------------------------------------------------------------------
# Run all the CMake configuration tests for our build environment
#-----------------------------------------------------------------------------
-INCLUDE (${HDF5_RESOURCES_DIR}/ConfigureChecks.cmake)
+include (${HDF5_RESOURCES_DIR}/ConfigureChecks.cmake)
+
+set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
#-----------------------------------------------------------------------------
# Option to Build Shared/Static libs, default is static
#-----------------------------------------------------------------------------
-OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
-SET (LIB_TYPE STATIC)
-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)
- IF (NOT WIN32)
- # should this be a user setting : Everyone uses it anyway ?
- ADD_DEFINITIONS (-DPIC)
- IF (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
- ADD_DEFINITIONS (-KPIC)
- ENDIF (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
- ENDIF (NOT WIN32)
-ENDIF (BUILD_SHARED_LIBS)
+option (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
+set (LIB_TYPE STATIC)
+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 (CMAKE_POSITION_INDEPENDENT_CODE ON)
+endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Option to Build Static executables
#-----------------------------------------------------------------------------
-OPTION (BUILD_STATIC_EXECS "Build Static Executabless" OFF)
-IF (BUILD_STATIC_EXECS)
- IF (NOT WIN32)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
- ENDIF (NOT WIN32)
-ENDIF (BUILD_STATIC_EXECS)
+option (BUILD_STATIC_EXECS "Build Static Executabless" OFF)
+if (BUILD_STATIC_EXECS)
+ if (NOT WIN32)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
+ endif (NOT WIN32)
+endif (BUILD_STATIC_EXECS)
#-----------------------------------------------------------------------------
# Option to use code coverage
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
-IF (HDF5_ENABLE_COVERAGE)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
- SET (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
-ENDIF (HDF5_ENABLE_COVERAGE)
+option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
+if (HDF5_ENABLE_COVERAGE)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+ set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
+endif (HDF5_ENABLE_COVERAGE)
#-----------------------------------------------------------------------------
# Option to indicate using dmalloc
#-----------------------------------------------------------------------------
-# OPTION (HDF5_ENABLE_USING_DMALLOC "Indicate that dmalloc is used" OFF)
-# IF (HDF5_ENABLE_USING_DMALLOC)
-# FIND_PACKAGE (DMALLOC)
-# SET (H5_HAVE_DMALLOC DMALLOC_FOUND)
-# ENDIF (HDF5_ENABLE_USING_DMALLOC)
+# option (HDF5_ENABLE_USING_DMALLOC "Indicate that dmalloc is used" OFF)
+# if (HDF5_ENABLE_USING_DMALLOC)
+# find_package (DMALLOC)
+# set (H5_HAVE_DMALLOC DMALLOC_FOUND)
+# endif (HDF5_ENABLE_USING_DMALLOC)
#-----------------------------------------------------------------------------
# Option to indicate using a memory checker
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF)
-IF (HDF5_ENABLE_USING_MEMCHECKER)
- SET (H5_USING_MEMCHECKER 1)
-ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
+option (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF)
+if (HDF5_ENABLE_USING_MEMCHECKER)
+ set (H5_USING_MEMCHECKER 1)
+endif (HDF5_ENABLE_USING_MEMCHECKER)
#-----------------------------------------------------------------------------
# Option to use deprecated public API symbols
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON)
-IF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
- SET (H5_NO_DEPRECATED_SYMBOLS 0)
-ELSE (HDF5_ENABLE_DEPRECATED_SYMBOLS)
- SET (H5_NO_DEPRECATED_SYMBOLS 1)
-ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+option (HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON)
+if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ set (H5_NO_DEPRECATED_SYMBOLS 0)
+else (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ set (H5_NO_DEPRECATED_SYMBOLS 1)
+endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
#-----------------------------------------------------------------------------
# When building utility executables that generate other (source) files :
@@ -359,296 +355,290 @@ ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
# Certain systems may add /Debug or /Release to output paths
# and we need to call the executable from inside the CMake configuration
#-----------------------------------------------------------------------------
-SET (EXE_EXT "")
-IF (WIN32)
- SET (EXE_EXT ".exe")
- IF (NOT CYGWIN)
- ADD_DEFINITIONS (-D_BIND_TO_CURRENT_VCLIBS_VERSION=1)
- ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS)
- ADD_DEFINITIONS (-D_CONSOLE)
- ENDIF (NOT CYGWIN)
-ENDIF (WIN32)
-
-IF (MSVC)
- SET (CMAKE_MFC_FLAG 0)
- SET (WIN_COMPILE_FLAGS "")
- SET (WIN_LINK_FLAGS "")
-ENDIF (MSVC)
-
-SET (MAKE_SYSTEM)
-IF (CMAKE_BUILD_TOOL MATCHES "make")
- SET (MAKE_SYSTEM 1)
-ENDIF (CMAKE_BUILD_TOOL MATCHES "make")
-
-SET (CFG_INIT "/${CMAKE_CFG_INTDIR}")
-IF (MAKE_SYSTEM)
- SET (CFG_INIT "")
-ENDIF (MAKE_SYSTEM)
+set (EXE_EXT "")
+if (WIN32)
+ set (EXE_EXT ".exe")
+ if (NOT CYGWIN)
+ add_definitions (-D_BIND_TO_CURRENT_VCLIBS_VERSION=1)
+ add_definitions (-D_CRT_SECURE_NO_WARNINGS)
+ add_definitions (-D_CONSOLE)
+ endif (NOT CYGWIN)
+endif (WIN32)
+
+if (MSVC)
+ set (CMAKE_MFC_FLAG 0)
+ set (WIN_COMPILE_FLAGS "")
+ set (WIN_LINK_FLAGS "")
+endif (MSVC)
+
+set (MAKE_SYSTEM)
+if (CMAKE_BUILD_TOOL MATCHES "make")
+ set (MAKE_SYSTEM 1)
+endif (CMAKE_BUILD_TOOL MATCHES "make")
+
+set (CFG_INIT "/${CMAKE_CFG_INTDIR}")
+if (MAKE_SYSTEM)
+ set (CFG_INIT "")
+endif (MAKE_SYSTEM)
#-----------------------------------------------------------------------------
# Add some definitions for Debug Builds
#-----------------------------------------------------------------------------
-IF (CMAKE_BUILD_TYPE MATCHES Debug)
- ADD_DEFINITIONS (-DDEBUG)
- ADD_DEFINITIONS (
- -DH5Z_DEBUG -DH5V_DEBUG -DH5T_DEBUG
- -DH5S_DEBUG -DH5P_DEBUG -DH5O_DEBUG -DH5MM_DEBUG -DH5MF_DEBUG
- -DH5I_DEBUG -DH5HL_DEBUG -DH5HG_DEBUG -DH5G_DEBUG -DH5F_DEBUG
- -DH5E_DEBUG -DH5D_DEBUG -DH5B_DEBUG -DH5AC_DEBUG -UNDEBUG
- )
+if (CMAKE_BUILD_TYPE MATCHES Debug)
+ add_definitions (-DDEBUG)
# Enable tracing of the API
- OPTION (HDF5_ENABLE_TRACE "Enable API tracing capability" ON)
- IF (HDF5_ENABLE_TRACE)
- ADD_DEFINITIONS (-DH5_DEBUG_API )
- ENDIF (HDF5_ENABLE_TRACE)
+ option (HDF5_ENABLE_TRACE "Enable API tracing capability" ON)
+ if (HDF5_ENABLE_TRACE)
+ add_definitions (-DH5_DEBUG_API )
+ endif (HDF5_ENABLE_TRACE)
# Enable instrumenting of the library's internal operations
- OPTION (HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF)
- IF (HDF5_ENABLE_INSTRUMENT)
- SET (H5_HAVE_INSTRUMENTED_LIBRARY 1)
- ENDIF (HDF5_ENABLE_INSTRUMENT)
- MARK_AS_ADVANCED (HDF5_Enable_Instrument)
+ option (HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF)
+ if (HDF5_ENABLE_INSTRUMENT)
+ set (H5_HAVE_INSTRUMENTED_LIBRARY 1)
+ endif (HDF5_ENABLE_INSTRUMENT)
+ mark_as_advanced (HDF5_Enable_Instrument)
#-- NMake Makefiles will overwhelm the console with warnings if -Wall is used.
- IF (NOT WIN32)
- ADD_DEFINITIONS (-Wall)
- ENDIF (NOT WIN32)
-ELSE (CMAKE_BUILD_TYPE MATCHES Debug)
- ADD_DEFINITIONS (-DNDEBUG)
- OPTION (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF)
- IF (HDF5_ENABLE_TRACE)
- ADD_DEFINITIONS (-DH5_DEBUG_API )
- ENDIF (HDF5_ENABLE_TRACE)
-ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
+ if (NOT WIN32)
+ add_definitions (-Wall)
+ endif (NOT WIN32)
+else (CMAKE_BUILD_TYPE MATCHES Debug)
+ add_definitions (-DNDEBUG)
+ option (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF)
+ if (HDF5_ENABLE_TRACE)
+ add_definitions (-DH5_DEBUG_API )
+ endif (HDF5_ENABLE_TRACE)
+endif (CMAKE_BUILD_TYPE MATCHES Debug)
#-----------------------------------------------------------------------------
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
-IF (CMAKE_COMPILER_IS_GNUCC)
- IF (CMAKE_BUILD_TYPE MATCHES Debug)
- SET (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -finline-functions -fno-common")
- ELSE (CMAKE_BUILD_TYPE MATCHES Debug)
- SET (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common")
- ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
-ENDIF (CMAKE_COMPILER_IS_GNUCC)
-IF (CMAKE_COMPILER_IS_GNUCXX)
- IF (CMAKE_BUILD_TYPE MATCHES Debug)
- SET (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -finline-functions -fno-common")
- ELSE (CMAKE_BUILD_TYPE MATCHES Debug)
- SET (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common")
- ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
-ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+if (CMAKE_COMPILER_IS_GNUCC)
+ if (CMAKE_BUILD_TYPE MATCHES Debug)
+ set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -finline-functions -fno-common")
+ else (CMAKE_BUILD_TYPE MATCHES Debug)
+ set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common")
+ endif (CMAKE_BUILD_TYPE MATCHES Debug)
+endif (CMAKE_COMPILER_IS_GNUCC)
+if (CMAKE_COMPILER_IS_GNUCXX)
+ if (CMAKE_BUILD_TYPE MATCHES Debug)
+ set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -finline-functions -fno-common")
+ else (CMAKE_BUILD_TYPE MATCHES Debug)
+ set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common")
+ endif (CMAKE_BUILD_TYPE MATCHES Debug)
+endif (CMAKE_COMPILER_IS_GNUCXX)
#-----------------------------------------------------------------------------
# Option to embed library info into executables
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON)
-IF (HDF5_ENABLE_EMBEDDED_LIBINFO)
- SET (H5_HAVE_EMBEDDED_LIBINFO 1)
-ENDIF (HDF5_ENABLE_EMBEDDED_LIBINFO)
+option (HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON)
+if (HDF5_ENABLE_EMBEDDED_LIBINFO)
+ set (H5_HAVE_EMBEDDED_LIBINFO 1)
+endif (HDF5_ENABLE_EMBEDDED_LIBINFO)
#-----------------------------------------------------------------------------
# Option to allow the user to disable compiler warnings
#-----------------------------------------------------------------------------
-OPTION (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF)
-IF (HDF5_DISABLE_COMPILER_WARNINGS)
+option (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF)
+if (HDF5_DISABLE_COMPILER_WARNINGS)
# MSVC uses /w to suppress warnings. It also complains if another
# warning level is given, so remove it.
- IF (MSVC)
- SET (HDF5_WARNINGS_BLOCKED 1)
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w")
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w")
- ENDIF (MSVC)
- IF (WIN32 AND NOT CYGWIN)
- ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS)
- ENDIF (WIN32 AND NOT CYGWIN)
+ if (MSVC)
+ set (HDF5_WARNINGS_BLOCKED 1)
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w")
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w")
+ endif (MSVC)
+ if (WIN32 AND NOT CYGWIN)
+ add_definitions (-D_CRT_SECURE_NO_WARNINGS)
+ endif (WIN32 AND NOT CYGWIN)
# Borland uses -w- to suppress warnings.
- IF (BORLAND)
- SET (HDF5_WARNINGS_BLOCKED 1)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
- ENDIF (BORLAND)
+ if (BORLAND)
+ set (HDF5_WARNINGS_BLOCKED 1)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
+ endif (BORLAND)
# Most compilers use -w to suppress warnings.
- IF (NOT HDF5_WARNINGS_BLOCKED)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
- ENDIF (NOT HDF5_WARNINGS_BLOCKED)
-ENDIF (HDF5_DISABLE_COMPILER_WARNINGS)
+ if (NOT HDF5_WARNINGS_BLOCKED)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
+ endif (NOT HDF5_WARNINGS_BLOCKED)
+endif (HDF5_DISABLE_COMPILER_WARNINGS)
#-----------------------------------------------------------------------------
# CDash is configured to only allow 3000 warnings, so
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
-IF (NOT MSVC)
- IF (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline")
- ELSE (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
- ENDIF (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+if (NOT MSVC)
+ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline")
+ else (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
+ endif (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
# Append warning flags
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
- # SET (H5_CFLAGS "${H5_CFLAGS} -Wtraditional")
+ # set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional")
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
# from GCC's assert macro
- # SET (H5_CFLAGS "${H5_CFLAGS} -Wtraditional-conversion")
+ # set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional-conversion")
# Append warning flags from gcc-3* case
# (don't use -Wpadded flag for normal builds, many of the warnings its
# issuing can't be fixed and they are making it hard to detect other,
# more important warnings)
- #SET (H5_CFLAGS "${H5_CFLAGS} -Wfloat-equal -Wmissing-format-attribute -Wpadded")
- SET (H5_CFLAGS1 "${H5_CFLAGS1} -Wfloat-equal -Wmissing-format-attribute")
+ #set (H5_CFLAGS "${H5_CFLAGS} -Wfloat-equal -Wmissing-format-attribute -Wpadded")
+ set (H5_CFLAGS1 "${H5_CFLAGS1} -Wfloat-equal -Wmissing-format-attribute")
# Append warning flags from gcc-3.2* case
- SET (H5_CFLAGS1 "${H5_CFLAGS1} -Wmissing-noreturn -Wpacked -Wdisabled-optimization")
+ set (H5_CFLAGS1 "${H5_CFLAGS1} -Wmissing-noreturn -Wpacked -Wdisabled-optimization")
# Enable more format checking flags, beyond the basic -Wformat included
# in -Wall
- SET (H5_CFLAGS1 "${H5_CFLAGS1} -Wformat=2")
+ set (H5_CFLAGS1 "${H5_CFLAGS1} -Wformat=2")
# The "unreachable code" warning appears to be reliable now...
# (this warning was removed in gcc 4.5+)
- #SET (H5_CFLAGS "${H5_CFLAGS} -Wunreachable-code")
+ #set (H5_CFLAGS "${H5_CFLAGS} -Wunreachable-code")
# Append warning flags from gcc-3.3* case
- SET (H5_CFLAGS1 "${H5_CFLAGS1} -Wendif-labels")
+ set (H5_CFLAGS1 "${H5_CFLAGS1} -Wendif-labels")
# Append warning flags from gcc-3.4* case
- SET (H5_CFLAGS2 "${H5_CFLAGS2} -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch")
+ set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch")
# Append more extra warning flags that only gcc4.0+ know about
- SET (H5_CFLAGS2 "${H5_CFLAGS2} -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros")
+ set (H5_CFLAGS2 "${H5_CFLAGS2} -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros")
# Append more extra warning flags that only gcc 4.1+ know about
- SET (H5_CFLAGS3 "${H5_CFLAGS3} -Wunsafe-loop-optimizations -Wc++-compat")
+ set (H5_CFLAGS3 "${H5_CFLAGS3} -Wunsafe-loop-optimizations -Wc++-compat")
# Append more extra warning flags that only gcc 4.2+ know about
- SET (H5_CFLAGS3 "${H5_CFLAGS3} -Wstrict-overflow")
+ set (H5_CFLAGS3 "${H5_CFLAGS3} -Wstrict-overflow")
# Append more extra warning flags that only gcc 4.3+ know about
#
# Technically, variable-length arrays are part of the C99 standard, but
# we should approach them a bit cautiously... -QAK
- SET (H5_CFLAGS3 "${H5_CFLAGS3} -Wlogical-op -Wlarger-than=2048 -Wvla")
+ set (H5_CFLAGS3 "${H5_CFLAGS3} -Wlogical-op -Wlarger-than=2048 -Wvla")
# Append more extra warning flags that only gcc 4.4+ know about
- SET (H5_CFLAGS4 "${H5_CFLAGS4} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
+ set (H5_CFLAGS4 "${H5_CFLAGS4} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
# Append more extra warning flags that only gcc 4.5+ know about
- SET (H5_CFLAGS4 "${H5_CFLAGS4} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
+ set (H5_CFLAGS4 "${H5_CFLAGS4} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
# Append more extra warning flags that only gcc 4.6+ know about
- SET (H5_CFLAGS5 "${H5_CFLAGS5} -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines")
+ set (H5_CFLAGS5 "${H5_CFLAGS5} -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines")
# Append more extra warning flags that only gcc 4.7+ know about
- SET (H5_CFLAGS5 "${H5_CFLAGS5} -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
-ENDIF (NOT MSVC)
+ set (H5_CFLAGS5 "${H5_CFLAGS5} -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
+endif (NOT MSVC)
#-----------------------------------------------------------------------------
# Option to allow the user to enable all warnings
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF)
-IF (HDF5_ENABLE_ALL_WARNINGS)
- IF (MSVC)
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall")
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall")
- ELSE (MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4}")
- ENDIF (MSVC)
-ENDIF (HDF5_ENABLE_ALL_WARNINGS)
+option (HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF)
+if (HDF5_ENABLE_ALL_WARNINGS)
+ if (MSVC)
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall")
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall")
+ else (MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4}")
+ endif (MSVC)
+endif (HDF5_ENABLE_ALL_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_GROUPZERO_WARNINGS "Enable group zero warnings" OFF)
-IF (HDF5_ENABLE_GROUPZERO_WARNINGS)
- IF (MSVC)
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W1")
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W1")
- ELSE (MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
- ENDIF (MSVC)
-ENDIF (HDF5_ENABLE_GROUPZERO_WARNINGS)
+option (HDF5_ENABLE_GROUPZERO_WARNINGS "Enable group zero warnings" OFF)
+if (HDF5_ENABLE_GROUPZERO_WARNINGS)
+ if (MSVC)
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W1")
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W1")
+ else (MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
+ endif (MSVC)
+endif (HDF5_ENABLE_GROUPZERO_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_GROUPONE_WARNINGS "Enable group one warnings" OFF)
-IF (HDF5_ENABLE_GROUPONE_WARNINGS)
- IF (MSVC)
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2")
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W2")
- ELSE (MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS1}")
- ENDIF (MSVC)
-ENDIF (HDF5_ENABLE_GROUPONE_WARNINGS)
+option (HDF5_ENABLE_GROUPONE_WARNINGS "Enable group one warnings" OFF)
+if (HDF5_ENABLE_GROUPONE_WARNINGS)
+ if (MSVC)
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2")
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W2")
+ else (MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS1}")
+ endif (MSVC)
+endif (HDF5_ENABLE_GROUPONE_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_GROUPTWO_WARNINGS "Enable group two warnings" OFF)
-IF (HDF5_ENABLE_GROUPTWO_WARNINGS)
- IF (MSVC)
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
- ELSE (MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS2}")
- ENDIF (MSVC)
-ENDIF (HDF5_ENABLE_GROUPTWO_WARNINGS)
+option (HDF5_ENABLE_GROUPTWO_WARNINGS "Enable group two warnings" OFF)
+if (HDF5_ENABLE_GROUPTWO_WARNINGS)
+ if (MSVC)
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
+ else (MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS2}")
+ endif (MSVC)
+endif (HDF5_ENABLE_GROUPTWO_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_GROUPTHREE_WARNINGS "Enable group three warnings" OFF)
-IF (HDF5_ENABLE_GROUPTHREE_WARNINGS)
- IF (MSVC)
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
- STRING (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
- ELSE (MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS3}")
- ENDIF (MSVC)
-ENDIF (HDF5_ENABLE_GROUPTHREE_WARNINGS)
+option (HDF5_ENABLE_GROUPTHREE_WARNINGS "Enable group three warnings" OFF)
+if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
+ if (MSVC)
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
+ string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
+ else (MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS3}")
+ endif (MSVC)
+endif (HDF5_ENABLE_GROUPTHREE_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
-IF (HDF5_ENABLE_GROUPFOUR_WARNINGS)
- IF (NOT MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS4}")
- ENDIF (NOT MSVC)
-ENDIF (HDF5_ENABLE_GROUPFOUR_WARNINGS)
+option (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
+if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
+ if (NOT MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS4}")
+ endif (NOT MSVC)
+endif (HDF5_ENABLE_GROUPFOUR_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
-OPTION (HDF5_ENABLE_GROUPFIVE_WARNINGS "Enable group five warnings" OFF)
-IF (HDF5_ENABLE_GROUPFIVE_WARNINGS)
- IF (NOT MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS5}")
- ENDIF (NOT MSVC)
-ENDIF (HDF5_ENABLE_GROUPFIVE_WARNINGS)
+option (HDF5_ENABLE_GROUPFIVE_WARNINGS "Enable group five warnings" OFF)
+if (HDF5_ENABLE_GROUPFIVE_WARNINGS)
+ if (NOT MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS5}")
+ endif (NOT MSVC)
+endif (HDF5_ENABLE_GROUPFIVE_WARNINGS)
#-----------------------------------------------------------------------------
# This is in here to help some of the GCC based IDES like Eclipse
# and code blocks parse the compiler errors and warnings better.
#-----------------------------------------------------------------------------
-IF (CMAKE_COMPILER_IS_GNUCC)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0")
-ENDIF (CMAKE_COMPILER_IS_GNUCC)
-IF (CMAKE_COMPILER_IS_GNUCXX)
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
-ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+if (CMAKE_COMPILER_IS_GNUCC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0")
+endif (CMAKE_COMPILER_IS_GNUCC)
+if (CMAKE_COMPILER_IS_GNUCXX)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
+endif (CMAKE_COMPILER_IS_GNUCXX)
#-----------------------------------------------------------------------------
# All libs/tests/examples need the main include directories
@@ -658,143 +648,143 @@ INCLUDE_DIRECTORIES (${HDF5_BINARY_DIR} ${HDF5_SRC_DIR} ${CMAKE_RUNTIME_OUTPUT_D
#-----------------------------------------------------------------------------
# Option to Enable MPI Parallel
#-----------------------------------------------------------------------------
-SET (CMAKE_MODULE_PATH ${HDF5_RESOURCES_DIR} ${CMAKE_MODULE_PATH})
-OPTION (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
-IF (HDF5_ENABLE_PARALLEL)
- INCLUDE (FindMPI)
+set (CMAKE_MODULE_PATH ${HDF5_RESOURCES_DIR} ${CMAKE_MODULE_PATH})
+option (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
+if (HDF5_ENABLE_PARALLEL)
+ include (FindMPI)
INCLUDE_DIRECTORIES (${MPI_C_INCLUDE_PATH})
- IF (MPI_C_FOUND)
- SET (H5_HAVE_PARALLEL 1)
+ if (MPI_C_FOUND)
+ set (H5_HAVE_PARALLEL 1)
# MPI checks, only do these if MPI_C_FOUND is true, otherwise they always fail
# and once set, they are cached as false and not regenerated
- SET (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}" )
+ set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}" )
CHECK_FUNCTION_EXISTS (MPI_File_get_size H5_HAVE_MPI_GET_SIZE)
- SET (H5_MPI_FILE_SET_SIZE_BIG 1)
+ set (H5_MPI_FILE_SET_SIZE_BIG 1)
# Used by Fortran + MPI
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_PATH}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_PATH}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
- ELSE (MPI_C_FOUND)
- MESSAGE (STATUS "Parallel libraries not found")
- ENDIF (MPI_C_FOUND)
-ENDIF (HDF5_ENABLE_PARALLEL)
+ else (MPI_C_FOUND)
+ message (STATUS "Parallel libraries not found")
+ endif (MPI_C_FOUND)
+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})
- IF (MPI_C_LINK_FLAGS)
- SET (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
- ENDIF (MPI_C_LINK_FLAGS)
-ENDIF (H5_HAVE_PARALLEL)
+if (H5_HAVE_PARALLEL)
+ set (LINK_LIBS ${LINK_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)
+endif (H5_HAVE_PARALLEL)
-SET (DEFAULT_API_VERSION "v18")
+set (DEFAULT_API_VERSION "v18")
#-----------------------------------------------------------------------------
# Option to use 1.6.x API
#-----------------------------------------------------------------------------
-OPTION (HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF)
-SET (H5_USE_16_API_DEFAULT 0)
-IF (HDF5_USE_16_API_DEFAULT)
- SET (H5_USE_16_API_DEFAULT 1)
- SET (DEFAULT_API_VERSION "v16")
-ENDIF (HDF5_USE_16_API_DEFAULT)
+option (HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF)
+set (H5_USE_16_API_DEFAULT 0)
+if (HDF5_USE_16_API_DEFAULT)
+ set (H5_USE_16_API_DEFAULT 1)
+ set (DEFAULT_API_VERSION "v16")
+endif (HDF5_USE_16_API_DEFAULT)
#-----------------------------------------------------------------------------
# Include user macros
#-----------------------------------------------------------------------------
-INCLUDE (UserMacros.cmake)
+include (UserMacros.cmake)
-INCLUDE (CMakeFilters.cmake)
+include (CMakeFilters.cmake)
#-----------------------------------------------------------------------------
# Option for external libraries on windows
#-----------------------------------------------------------------------------
-OPTION (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF)
-IF (NOT HDF5_EXTERNALLY_CONFIGURED)
- IF (HDF5_PACKAGE_EXTLIBS)
- SET (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE)
- IF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
+option (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF)
+if (NOT HDF5_EXTERNALLY_CONFIGURED)
+ if (HDF5_PACKAGE_EXTLIBS)
+ set (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE)
+ if (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
PACKAGE_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
- ENDIF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
+ endif (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
- IF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
+ if (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
PACKAGE_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
- ENDIF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
- ENDIF (HDF5_PACKAGE_EXTLIBS)
-ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
+ endif (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
+ endif (HDF5_PACKAGE_EXTLIBS)
+endif (NOT HDF5_EXTERNALLY_CONFIGURED)
#-----------------------------------------------------------------------------
# Option to use threadsafe
# Note: Currently CMake only allows configuring of threadsafe on WINDOWS.
#-----------------------------------------------------------------------------
-IF (WIN32 AND NOT CYGWIN)
- OPTION (HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF)
- IF (HDF5_ENABLE_THREADSAFE)
+if (WIN32 AND NOT CYGWIN)
+ option (HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF)
+ if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
- IF (HDF5_ENABLE_PARALLEL)
- MESSAGE (FATAL_ERROR " **** Parallel and Threadsafe options are mutually exclusive **** ")
- ENDIF (HDF5_ENABLE_PARALLEL)
- SET (H5_HAVE_THREADSAFE 1)
- IF (H5_HAVE_IOEO)
- MESSAGE (STATUS " **** Windows Threads only available in WINVER>=0x600 (Vista or Windows 7) **** ")
- SET (H5_HAVE_WIN_THREADS 1)
- ELSE (H5_HAVE_IOEO)
- IF (NOT H5_HAVE_PTHREAD_H)
- SET (H5_HAVE_THREADSAFE 0)
- MESSAGE (FATAL_ERROR " **** Threadsafe option requires thread library **** ")
- ENDIF (NOT H5_HAVE_PTHREAD_H)
- ENDIF (H5_HAVE_IOEO)
- ENDIF (HDF5_ENABLE_THREADSAFE)
-ENDIF (WIN32 AND NOT CYGWIN)
+ if (HDF5_ENABLE_PARALLEL)
+ message (FATAL_ERROR " **** Parallel and Threadsafe options are mutually exclusive **** ")
+ endif (HDF5_ENABLE_PARALLEL)
+ set (H5_HAVE_THREADSAFE 1)
+ if (H5_HAVE_IOEO)
+ message (STATUS " **** Windows Threads only available in WINVER>=0x600 (Vista or Windows 7) **** ")
+ set (H5_HAVE_WIN_THREADS 1)
+ else (H5_HAVE_IOEO)
+ if (NOT H5_HAVE_PTHREAD_H)
+ set (H5_HAVE_THREADSAFE 0)
+ message (FATAL_ERROR " **** Threadsafe option requires thread library **** ")
+ endif (NOT H5_HAVE_PTHREAD_H)
+ endif (H5_HAVE_IOEO)
+ endif (HDF5_ENABLE_THREADSAFE)
+endif (WIN32 AND NOT CYGWIN)
#-----------------------------------------------------------------------------
# Add the HDF5 Library Target to the build
#-----------------------------------------------------------------------------
-ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src)
+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)
+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)
- ENDIF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
- IF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
+ endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
+ if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} SZIP)
- ENDIF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
-ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
+endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
#-----------------------------------------------------------------------------
# Dashboard and Testing Settings
#-----------------------------------------------------------------------------
-OPTION (BUILD_TESTING "Build HDF5 Unit Testing" OFF)
-IF (BUILD_TESTING)
- SET (DART_TESTING_TIMEOUT 1200
+option (BUILD_TESTING "Build HDF5 Unit Testing" OFF)
+if (BUILD_TESTING)
+ set (DART_TESTING_TIMEOUT 1200
CACHE INTEGER
"Timeout in seconds for each test (default 1200=20minutes)"
)
- ENABLE_TESTING ()
- INCLUDE (CTest)
- IF (NOT HDF5_EXTERNALLY_CONFIGURED)
- IF (EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/tools/lib ${PROJECT_BINARY_DIR}/tools/lib)
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/test ${PROJECT_BINARY_DIR}/test)
- ENDIF (EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
- IF (EXISTS "${HDF5_SOURCE_DIR}/perform" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/perform")
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/perform ${PROJECT_BINARY_DIR}/perform)
- ENDIF(EXISTS "${HDF5_SOURCE_DIR}/perform" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/perform")
- IF (H5_HAVE_PARALLEL)
- IF (EXISTS "${HDF5_SOURCE_DIR}/testpar" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/testpar")
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/testpar ${PROJECT_BINARY_DIR}/testpar)
- ENDIF (EXISTS "${HDF5_SOURCE_DIR}/testpar" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/testpar")
- ENDIF (H5_HAVE_PARALLEL)
- ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
-
- OPTION (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
- MARK_AS_ADVANCED (HDF5_TEST_VFD)
- IF (HDF5_TEST_VFD)
- OPTION (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON)
- MARK_AS_ADVANCED (HDF5_TEST_FHEAP_VFD)
- ENDIF (HDF5_TEST_VFD)
+ enable_testing ()
+ include (CTest)
+ if (NOT HDF5_EXTERNALLY_CONFIGURED)
+ if (EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
+ add_subdirectory (${HDF5_SOURCE_DIR}/tools/lib ${PROJECT_BINARY_DIR}/tools/lib)
+ add_subdirectory (${HDF5_SOURCE_DIR}/test ${PROJECT_BINARY_DIR}/test)
+ endif (EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
+ if (EXISTS "${HDF5_SOURCE_DIR}/perform" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/perform")
+ add_subdirectory (${HDF5_SOURCE_DIR}/perform ${PROJECT_BINARY_DIR}/perform)
+ endif (EXISTS "${HDF5_SOURCE_DIR}/perform" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/perform")
+ if (H5_HAVE_PARALLEL)
+ if (EXISTS "${HDF5_SOURCE_DIR}/testpar" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/testpar")
+ add_subdirectory (${HDF5_SOURCE_DIR}/testpar ${PROJECT_BINARY_DIR}/testpar)
+ endif (EXISTS "${HDF5_SOURCE_DIR}/testpar" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/testpar")
+ endif (H5_HAVE_PARALLEL)
+ endif (NOT HDF5_EXTERNALLY_CONFIGURED)
+
+ option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
+ mark_as_advanced (HDF5_TEST_VFD)
+ if (HDF5_TEST_VFD)
+ option (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON)
+ mark_as_advanced (HDF5_TEST_FHEAP_VFD)
+ endif (HDF5_TEST_VFD)
- INCLUDE (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
- CONFIGURE_FILE (${HDF5_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
-ENDIF (BUILD_TESTING)
+ include (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
+ configure_file (${HDF5_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
+endif (BUILD_TESTING)
#-----------------------------------------------------------------------------
# Option to build Fortran bindings/tests/examples
@@ -802,88 +792,83 @@ ENDIF (BUILD_TESTING)
# so that fortran name mangling is detected before writing H5pubconf.h
#-----------------------------------------------------------------------------
# Set default name mangling : overridden by Fortran detection in fortran dir
-SET (H5_FC_FUNC "H5_FC_FUNC(name,NAME) name ## _")
-SET (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
-IF (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
- OPTION (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
- IF (HDF5_BUILD_FORTRAN)
- IF (BUILD_SHARED_LIBS AND APPLE)
- MESSAGE (FATAL_ERROR " **** Shared FORTRAN libraries are unsupported **** ")
- ENDIF (BUILD_SHARED_LIBS AND APPLE)
- OPTION (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF)
- INCLUDE (${HDF5_RESOURCES_DIR}/HDF5UseFortran.cmake)
- IF (HDF5_ENABLE_F2003)
- IF (NOT FORTRAN_HAVE_ISO_C_BINDING)
- SET (HDF5_ENABLE_F2003 OFF)
- ENDIF (NOT FORTRAN_HAVE_ISO_C_BINDING)
- ENDIF (HDF5_ENABLE_F2003)
-
- # -----------------------------------------------------------------------
- # wrapper script variables
- #
-# SET (FCFLAGS "${Fortran_DEFINES}")
-
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/fortran ${PROJECT_BINARY_DIR}/fortran)
- IF (HDF5_BUILD_HL_LIB)
- IF (EXISTS "${HDF5_SOURCE_DIR}/hl/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/fortran")
+set (H5_FC_FUNC "H5_FC_FUNC(name,NAME) name ## _")
+set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
+if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
+ option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
+ if (HDF5_BUILD_FORTRAN)
+ if (BUILD_SHARED_LIBS AND APPLE)
+ message (FATAL_ERROR " **** Shared FORTRAN libraries are unsupported **** ")
+ endif (BUILD_SHARED_LIBS AND APPLE)
+ option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF)
+ include (${HDF5_RESOURCES_DIR}/HDF5UseFortran.cmake)
+ if (HDF5_ENABLE_F2003)
+ if (NOT FORTRAN_HAVE_ISO_C_BINDING)
+ set (HDF5_ENABLE_F2003 OFF)
+ endif (NOT FORTRAN_HAVE_ISO_C_BINDING)
+ endif (HDF5_ENABLE_F2003)
+
+ add_subdirectory (${HDF5_SOURCE_DIR}/fortran ${PROJECT_BINARY_DIR}/fortran)
+ if (HDF5_BUILD_HL_LIB)
+ if (EXISTS "${HDF5_SOURCE_DIR}/hl/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/fortran")
#-- Build the High Level Fortran source codes
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/hl/fortran ${PROJECT_BINARY_DIR}/hl/fortran)
- ENDIF (EXISTS "${HDF5_SOURCE_DIR}/hl/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/fortran")
- ENDIF (HDF5_BUILD_HL_LIB)
- ENDIF (HDF5_BUILD_FORTRAN)
-ENDIF (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
+ add_subdirectory (${HDF5_SOURCE_DIR}/hl/fortran ${PROJECT_BINARY_DIR}/hl/fortran)
+ endif (EXISTS "${HDF5_SOURCE_DIR}/hl/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/fortran")
+ endif (HDF5_BUILD_HL_LIB)
+ endif (HDF5_BUILD_FORTRAN)
+endif (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
#-----------------------------------------------------------------------------
# Option to build examples
#-----------------------------------------------------------------------------
-IF (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
- OPTION (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF)
- IF (HDF5_BUILD_EXAMPLES)
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
- ENDIF (HDF5_BUILD_EXAMPLES)
-ENDIF (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
+if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
+ option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF)
+ if (HDF5_BUILD_EXAMPLES)
+ add_subdirectory (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
+ endif (HDF5_BUILD_EXAMPLES)
+endif (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
#-----------------------------------------------------------------------------
# Option to build HDF5 C++ Library
#-----------------------------------------------------------------------------
-IF (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
- OPTION (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
- IF (HDF5_BUILD_CPP_LIB)
+if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
+ option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
+ if (HDF5_BUILD_CPP_LIB)
# check for unsupported options
- IF (HDF5_ENABLE_PARALLEL)
- MESSAGE (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
- ENDIF (HDF5_ENABLE_PARALLEL)
- IF (CMAKE_NO_STD_NAMESPACE)
- SET (H5_NO_STD 1)
- ENDIF (CMAKE_NO_STD_NAMESPACE)
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
- ENDIF (HDF5_BUILD_CPP_LIB)
-ENDIF (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
+ if (HDF5_ENABLE_PARALLEL)
+ message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
+ endif (HDF5_ENABLE_PARALLEL)
+ if (CMAKE_NO_STD_NAMESPACE)
+ set (H5_NO_STD 1)
+ endif (CMAKE_NO_STD_NAMESPACE)
+ add_subdirectory (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
+ endif (HDF5_BUILD_CPP_LIB)
+endif (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
#-----------------------------------------------------------------------------
# Option to build HDF5 Tools
#-----------------------------------------------------------------------------
-IF (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
- OPTION (HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF)
- IF (HDF5_BUILD_TOOLS)
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
- ENDIF (HDF5_BUILD_TOOLS)
-ENDIF (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
+if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
+ option (HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF)
+ if (HDF5_BUILD_TOOLS)
+ add_subdirectory (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
+ endif (HDF5_BUILD_TOOLS)
+endif (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
#-----------------------------------------------------------------------------
# Option to build High Level API's
#-----------------------------------------------------------------------------
-IF (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
- OPTION (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF)
- IF (HDF5_BUILD_HL_LIB)
- SET (H5_INCLUDE_HL 1)
- ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
- ENDIF (HDF5_BUILD_HL_LIB)
-ENDIF (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
+if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
+ option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF)
+ if (HDF5_BUILD_HL_LIB)
+ set (H5_INCLUDE_HL 1)
+ add_subdirectory (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
+ endif (HDF5_BUILD_HL_LIB)
+endif (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
#-----------------------------------------------------------------------------
# Generate the H5pubconf.h file containing user settings needed by compilation
#-----------------------------------------------------------------------------
-CONFIGURE_FILE (${HDF5_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
+configure_file (${HDF5_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
-INCLUDE (CMakeInstallation.cmake)
+include (CMakeInstallation.cmake)