summaryrefslogtreecommitdiffstats
path: root/CMakePlugins.cmake
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2021-04-08 02:07:31 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2021-04-08 02:07:31 (GMT)
commit94ecd14100c226ae16ba8e6122e8a025b408f360 (patch)
treeead9be12c20e05113ec060ddfc81bac74c8162e9 /CMakePlugins.cmake
parentce39d7501c58427add05aba62956acb84a6f56da (diff)
downloadhdf5-94ecd14100c226ae16ba8e6122e8a025b408f360.zip
hdf5-94ecd14100c226ae16ba8e6122e8a025b408f360.tar.gz
hdf5-94ecd14100c226ae16ba8e6122e8a025b408f360.tar.bz2
Brings many CMake changes from develop
Diffstat (limited to 'CMakePlugins.cmake')
-rw-r--r--CMakePlugins.cmake56
1 files changed, 56 insertions, 0 deletions
diff --git a/CMakePlugins.cmake b/CMakePlugins.cmake
new file mode 100644
index 0000000..16fb874
--- /dev/null
+++ b/CMakePlugins.cmake
@@ -0,0 +1,56 @@
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://www.hdfgroup.org/licenses.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
+
+include (ExternalProject)
+#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO")
+set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)")
+set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
+if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN" 1)
+ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT")
+ set (PLUGIN_URL ${PLUGIN_GIT_URL} CACHE STRING "Path to PLUGIN git repository")
+ set (PLUGIN_BRANCH ${PLUGIN_GIT_BRANCH})
+ elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ if (NOT TGZPATH)
+ set (TGZPATH ${HDF5_SOURCE_DIR})
+ endif ()
+ set (PLUGIN_URL ${TGZPATH}/${PLUGIN_TGZ_NAME})
+ if (NOT EXISTS "${PLUGIN_URL}")
+ set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE)
+ message (STATUS "Filter PLUGIN file ${PLUGIN_URL} not found")
+ endif ()
+ else ()
+ set (PLUGIN_USE_EXTERNAL 0)
+ endif ()
+endif ()
+
+#-----------------------------------------------------------------------------
+# Option for PLUGIN support
+#-----------------------------------------------------------------------------
+option (HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF)
+if (HDF5_ENABLE_PLUGIN_SUPPORT)
+ if (NOT PLUGIN_USE_EXTERNAL)
+ find_package (PLUGIN NAMES ${PLUGIN_PACKAGE_NAME}${HDF_PACKAGE_EXT})
+ if (NOT PLUGIN_FOUND)
+ find_package (PLUGIN) # Legacy find
+ endif ()
+ endif ()
+ if (NOT PLUGIN_FOUND)
+ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ EXTERNAL_PLUGIN_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
+ message (STATUS "Filter PLUGIN is built")
+ else ()
+ message (FATAL_ERROR " PLUGIN is Required for PLUGIN support in HDF5")
+ endif ()
+ endif ()
+ message (STATUS "Filter PLUGIN is ON")
+endif ()