summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2015-03-25 22:08:46 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2015-03-25 22:08:46 (GMT)
commit451a91e53bdc0f930c2acf382d14a5e2fd9cb2d9 (patch)
tree145b94b29e9cc5b7f9c6b2477d076f793430d62e /config
parentd3114a96da64de8ea987f7c1714f8ad4a2474f4e (diff)
downloadhdf5-451a91e53bdc0f930c2acf382d14a5e2fd9cb2d9.zip
hdf5-451a91e53bdc0f930c2acf382d14a5e2fd9cb2d9.tar.gz
hdf5-451a91e53bdc0f930c2acf382d14a5e2fd9cb2d9.tar.bz2
[svn-r26594] Merge macros and fortran changes from dual_binary feature.
Tested: local linux
Diffstat (limited to 'config')
-rw-r--r--config/cmake/H5pubconf.h.in4
-rw-r--r--config/cmake/cacheinit.cmake4
-rw-r--r--config/cmake/hdf5-config.cmake.in65
3 files changed, 63 insertions, 10 deletions
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index 3c7c893..63eb23f 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -50,10 +50,6 @@
/* Define if C++ compiler recognizes offsetof */
#cmakedefine H5_CXX_HAVE_OFFSETOF @H5_CXX_HAVE_OFFSETOF@
-/* Define a macro for Cygwin (on XP only) where the compiler has rounding
- problem converting from unsigned long long to long double */
-#cmakedefine H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM @H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM@
-
/* Define the default plugins path to compile */
#cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@"
diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake
index a18395f..87d4fcc 100644
--- a/config/cmake/cacheinit.cmake
+++ b/config/cmake/cacheinit.cmake
@@ -14,10 +14,6 @@ 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_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
-
-set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" 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)
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
index ea61b18..1b4de77 100644
--- a/config/cmake/hdf5-config.cmake.in
+++ b/config/cmake/hdf5-config.cmake.in
@@ -5,6 +5,16 @@
string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME)
+set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS
+ C
+ CXX
+ Fortran
+ HL
+ CXX_HL
+ Fortran_HL
+ Tools
+)
+
#-----------------------------------------------------------------------------
# User Options
#-----------------------------------------------------------------------------
@@ -19,7 +29,7 @@ set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
-set (${HDF5_PACKAGE_NAME}_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@)
+set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@)
#-----------------------------------------------------------------------------
# Dependencies
@@ -86,4 +96,55 @@ if (NOT TARGET "@HDF5_PACKAGE@")
set (HDF5_LIBRARIES "@HDF5_LIBRARIES_TO_EXPORT@")
endif ()
-check_required_components(hdf5)
+# Handle default component :
+if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C)
+ set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_C true)
+endif ()
+
+# Handle requested components:
+list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
+endforeach ()
+ foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ set (hdf5_comp2)
+ if (${comp} MATCHES "C")
+ set (hdf5_comp "hdf5")
+ elseif (${comp} MATCHES "CXX")
+ set (hdf5_comp "hdf5_cpp")
+ elseif (${comp} MATCHES "HL")
+ set (hdf5_comp "hdf5_hl")
+ elseif (${comp} MATCHES "CXX_HL")
+ set (hdf5_comp "hdf5_hl_cpp")
+ elseif (${comp} MATCHES "Tools")
+ set (hdf5_comp "hdf5_tools")
+ elseif (${comp} MATCHES "Fortran")
+ set (hdf5_comp2 "hdf5_f90cstub")
+ set (hdf5_comp "hdf5_fortran")
+ elseif (${comp} MATCHES "Fortran_HL")
+ set (hdf5_comp2 "hdf5_hl_f90cstub")
+ set (hdf5_comp "hdf5_hl_fortran")
+ endif ()
+ list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
+ if (${HAVE_COMP} LESS 0)
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
+ else ()
+ if (hdf5_comp2)
+ list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}" HAVE_COMP2)
+ if (${HAVE_COMP2} LESS 0)
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
+ else ()
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
+ string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
+ set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp2} ${hdf5_comp})
+ endif ()
+ else ()
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
+ string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
+ set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp})
+ endif ()
+ endforeach ()
+endforeach ()
+
+check_required_components(${HDF5_PACKAGE_NAME})