1.10 Merge HDFGroup#2175 Implement option for using CMake GNUInstallDirs (#2222)
This commit is contained in:
@@ -238,7 +238,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
endif ()
|
||||
install (
|
||||
FILES ${release_files}
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
DESTINATION ${HDF5_INSTALL_DOC_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
endif ()
|
||||
|
||||
@@ -180,8 +180,8 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${HDF5_INSTALL_LIB_DIR})
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${HDF5_INSTALL_INCLUDE_DIR})
|
||||
set (_PKG_CONFIG_LIBNAME "${HDF5_CPP_LIB_CORENAME}")
|
||||
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ else ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# MAC machines need special option
|
||||
# MacOS machines need special options
|
||||
#-----------------------------------------------------------------------------
|
||||
if (APPLE)
|
||||
# Compiler choice
|
||||
|
||||
@@ -1,29 +1,31 @@
|
||||
# This is the CMakeCache file.
|
||||
# CMake cache file for external HDF5 filter plugins
|
||||
|
||||
########################
|
||||
#########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
#########################
|
||||
|
||||
# examples are the tests for plugins
|
||||
set (H5PL_BUILD_TESTING ON CACHE BOOL "Enable h5pl testing" FORCE)
|
||||
set (BUILD_EXAMPLES ON CACHE BOOL "Build h5pl Examples" FORCE)
|
||||
set (H5PL_BUILD_TESTING ON CACHE BOOL "Enable H5PL testing" FORCE)
|
||||
set (BUILD_EXAMPLES ON CACHE BOOL "Build H5PL Examples" FORCE)
|
||||
|
||||
set (HDF5_HDF5_HEADER "h5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE)
|
||||
set (HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "hdf5 target" FORCE)
|
||||
#set (HDF5_INCLUDE_DIR $<TARGET_PROPERTY:${HDF5_LIBSH_TARGET},INCLUDE_DIRECTORIES> CACHE PATH "hdf5 include dirs" FORCE)
|
||||
set (HDF5_INCLUDE_DIR "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR}" CACHE PATH "hdf5 include dirs" FORCE)
|
||||
set (HDF5_INCLUDE_DIRS "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR}" CACHE PATH "hdf5 include dirs" FORCE)
|
||||
set (HDF5_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "hdf5 build folder" FORCE)
|
||||
set (HDF5_HDF5_HEADER "H5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE)
|
||||
set (HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "HDF5 target" FORCE)
|
||||
#set (HDF5_INCLUDE_DIR $<TARGET_PROPERTY:${HDF5_LIBSH_TARGET},INCLUDE_DIRECTORIES> CACHE PATH "HDF5 include dirs" FORCE)
|
||||
set (HDF5_INCLUDE_DIR "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR}" CACHE PATH "HDF5 include dirs" FORCE)
|
||||
set (HDF5_INCLUDE_DIRS "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR}" CACHE PATH "HDF5 include dirs" FORCE)
|
||||
set (HDF5_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "HDF5 build folder" FORCE)
|
||||
|
||||
set (HDF5_DUMP_EXECUTABLE $<TARGET_FILE:h5dump-shared> CACHE STRING "hdf5 h5dump target" FORCE)
|
||||
set (HDF5_REPACK_EXECUTABLE $<TARGET_FILE:h5repack-shared> CACHE STRING "hdf5 h5repack target" FORCE)
|
||||
set (HDF5_DUMP_EXECUTABLE $<TARGET_FILE:h5dump-shared> CACHE STRING "HDF5 h5dump target" FORCE)
|
||||
set (HDF5_REPACK_EXECUTABLE $<TARGET_FILE:h5repack-shared> CACHE STRING "HDF5 h5repack target" FORCE)
|
||||
|
||||
set (H5PL_ALLOW_EXTERNAL_SUPPORT "${HDF5_ALLOW_EXTERNAL_SUPPORT}" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE)
|
||||
|
||||
set (H5PL_GIT_URL "https://github.com/HDFGroup/hdf5_plugins.git" CACHE STRING "Use plugins from HDF repository" FORCE)
|
||||
set (H5PL_GIT_URL "https://github.com/HDFGroup/hdf5_plugins.git" CACHE STRING "Use plugins from HDF Group repository" FORCE)
|
||||
set (H5PL_GIT_BRANCH "master" CACHE STRING "" FORCE)
|
||||
|
||||
set (H5PL_TGZ_NAME "${PLUGIN_TGZ_NAME}" CACHE STRING "Use plugins from compressed file" FORCE)
|
||||
|
||||
set (PL_PACKAGE_NAME "${PLUGIN_PACKAGE_NAME}" CACHE STRING "Name of plugins package" FORCE)
|
||||
set (H5PL_CPACK_ENABLE OFF CACHE BOOL "Enable the CPACK include and components" FORCE)
|
||||
set (H5PL_CPACK_ENABLE OFF CACHE BOOL "Enable CPack include and components" FORCE)
|
||||
|
||||
set (H5PL_USE_GNU_DIRS ${HDF5_USE_GNU_DIRS} CACHE BOOL "TRUE to use GNU Coding Standard install directory variables" FORCE)
|
||||
|
||||
@@ -67,6 +67,11 @@ macro (EXTERNAL_PLUGIN_LIBRARY compress_type)
|
||||
add_dependencies (h5ex_d_zfp ${HDF5_LIBSH_TARGET})
|
||||
target_include_directories (h5ex_d_zfp PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR}")
|
||||
endif ()
|
||||
if (ENABLE_ZSTD)
|
||||
add_dependencies (h5zstd ${HDF5_LIBSH_TARGET})
|
||||
add_dependencies (h5ex_d_zstd ${HDF5_LIBSH_TARGET})
|
||||
target_include_directories (h5ex_d_zstd PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
|
||||
message (VERBOSE "HDF5_INCLUDE_DIR=${HDF5_INCLUDE_DIR}")
|
||||
|
||||
@@ -181,3 +181,14 @@ set (ZFP_TGZ_NAME "zfp.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE
|
||||
|
||||
set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE)
|
||||
|
||||
######
|
||||
# zstd
|
||||
######
|
||||
|
||||
set (ZSTD_GIT_URL "https://github.com/facebook/zstd" CACHE STRING "Use ZSTD from repository" FORCE)
|
||||
set (ZSTD_GIT_BRANCH "dev" CACHE STRING "" FORCE)
|
||||
|
||||
set (ZSTD_TGZ_NAME "zstd.tar.gz" CACHE STRING "Use ZSTD from compressed file" FORCE)
|
||||
|
||||
set (ZSTD_PACKAGE_NAME "zstd" CACHE STRING "Name of ZSTD package" FORCE)
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
|
||||
# Launchers work only with Makefile and Ninja generators.
|
||||
if(NOT "${CTEST_CMAKE_GENERATOR}" MATCHES "Make|Ninja")
|
||||
if(NOT "${CTEST_CMAKE_GENERATOR}" MATCHES "Make|Ninja" OR LOCAL_SKIP_TEST)
|
||||
set(CTEST_USE_LAUNCHERS 0)
|
||||
set(ENV{CTEST_USE_LAUNCHERS_DEFAULT} 0)
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=OFF")
|
||||
@@ -269,7 +269,7 @@ endif ()
|
||||
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
|
||||
## -- LOCAL_COVERAGE_TEST executes code coverage process
|
||||
## --------------------------
|
||||
ctest_start (${MODEL} TRACK ${MODEL})
|
||||
ctest_start (${MODEL} GROUP ${MODEL})
|
||||
if (LOCAL_UPDATE)
|
||||
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif ()
|
||||
|
||||
3
config/cmake/scripts/HDF5options.cmake
Executable file → Normal file
3
config/cmake/scripts/HDF5options.cmake
Executable file → Normal file
@@ -74,7 +74,7 @@ set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRIN
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
|
||||
|
||||
#### package examples ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=ON -DHDF5_EXAMPLES_COMPRESSED:STRING=HDF5Examples-2.0.1-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=ON -DHDF5_EXAMPLES_COMPRESSED:STRING=HDF5Examples-2.0.2-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
|
||||
#############################################################################################
|
||||
### enable parallel builds
|
||||
@@ -96,6 +96,7 @@ endif()
|
||||
#############################################################################################
|
||||
### disable test program builds
|
||||
|
||||
#If using CTestScript.cmake file be sure to uncomment set (LOCAL_SKIP_TEST "TRUE")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
|
||||
@@ -24,12 +24,15 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DHDF_USE_GNU_DIRS:STRING=${HDF5_USE_GNU_DIRS}
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
@@ -43,12 +46,15 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DHDF_USE_GNU_DIRS:STRING=${HDF5_USE_GNU_DIRS}
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
@@ -93,6 +99,7 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
@@ -100,6 +107,8 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DHDF_USE_GNU_DIRS:STRING=${HDF5_USE_GNU_DIRS}
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
@@ -113,6 +122,7 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
@@ -120,6 +130,8 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DHDF_USE_GNU_DIRS:STRING=${HDF5_USE_GNU_DIRS}
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
@@ -184,12 +196,15 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DHDF_USE_GNU_DIRS:STRING=${HDF5_USE_GNU_DIRS}
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
@@ -203,19 +218,24 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DHDF_USE_GNU_DIRS:STRING=${HDF5_USE_GNU_DIRS}
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (HDF5_ZLIB BINARY_DIR SOURCE_DIR)
|
||||
|
||||
set (ZLIB_LIB_NAME "z")
|
||||
if (NOT ZLIB_LIB_NAME)
|
||||
set (ZLIB_LIB_NAME "z")
|
||||
endif ()
|
||||
##include (${BINARY_DIR}/${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
|
||||
# Create imported target zlib-static
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}zlib-static STATIC IMPORTED)
|
||||
|
||||
@@ -12,30 +12,30 @@
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
macro (SET_HDF_BUILD_TYPE)
|
||||
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(_isMultiConfig)
|
||||
set(HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
|
||||
set(HDF_BUILD_TYPE ${CMAKE_CFG_INTDIR})
|
||||
set(HDF_CFG_BUILD_TYPE \${CMAKE_INSTALL_CONFIG_NAME})
|
||||
else()
|
||||
set(HDF_CFG_BUILD_TYPE ".")
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
set(HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
|
||||
set(HDF_BUILD_TYPE ${CMAKE_BUILD_TYPE})
|
||||
else()
|
||||
set(HDF_CFG_NAME "Release")
|
||||
set(HDF_BUILD_TYPE "Release")
|
||||
endif()
|
||||
endif()
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
get_property (_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if (_isMultiConfig)
|
||||
set (HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
|
||||
set (HDF_BUILD_TYPE ${CMAKE_CFG_INTDIR})
|
||||
set (HDF_CFG_BUILD_TYPE \${CMAKE_INSTALL_CONFIG_NAME})
|
||||
else ()
|
||||
set (HDF_CFG_BUILD_TYPE ".")
|
||||
if (CMAKE_BUILD_TYPE)
|
||||
set (HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
|
||||
set (HDF_BUILD_TYPE ${CMAKE_BUILD_TYPE})
|
||||
else ()
|
||||
set (HDF_CFG_NAME "Release")
|
||||
set (HDF_BUILD_TYPE "Release")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
|
||||
message (VERBOSE "Setting build type to 'RelWithDebInfo' as none was specified.")
|
||||
endif()
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
|
||||
set (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
|
||||
# Set the possible values of build type for cmake-gui
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
|
||||
set_property (CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
|
||||
"MinSizeRel" "RelWithDebInfo")
|
||||
endif()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
@@ -45,7 +45,7 @@ endmacro ()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
macro (IDE_GENERATED_PROPERTIES SOURCE_PATH HEADERS SOURCES)
|
||||
#set(source_group_path "Source/AIM/${NAME}")
|
||||
#set (source_group_path "Source/AIM/${NAME}")
|
||||
string (REPLACE "/" "\\\\" source_group_path ${SOURCE_PATH})
|
||||
source_group (${source_group_path} FILES ${HEADERS} ${SOURCES})
|
||||
|
||||
@@ -321,6 +321,36 @@ macro (HDFTEST_COPY_FILE src dest target)
|
||||
endmacro ()
|
||||
|
||||
macro (HDF_DIR_PATHS package_prefix)
|
||||
option (HDF5_USE_GNU_DIRS "TRUE to use GNU Coding Standard install directory variables, FALSE to use historical settings" FALSE)
|
||||
if (HDF5_USE_GNU_DIRS)
|
||||
include(GNUInstallDirs)
|
||||
if (NOT ${package_prefix}_INSTALL_BIN_DIR)
|
||||
set (${package_prefix}_INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR})
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_LIB_DIR)
|
||||
set (${package_prefix}_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_JAR_DIR)
|
||||
set (${package_prefix}_INSTALL_JAR_DIR ${CMAKE_INSTALL_LIBDIR})
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_INCLUDE_DIR)
|
||||
set (${package_prefix}_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_MODULE_DIR)
|
||||
set (${package_prefix}_INSTALL_MODULE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/mod)
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_DATA_DIR)
|
||||
set (${package_prefix}_INSTALL_DATA_DIR ${CMAKE_INSTALL_DATADIR})
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_CMAKE_DIR)
|
||||
set (${package_prefix}_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake)
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_DOC_DIR)
|
||||
set (${package_prefix}_INSTALL_DOC_DIR ${CMAKE_INSTALL_DOCDIR})
|
||||
endif ()
|
||||
message(STATUS "GNU: ${${package_prefix}_INSTALL_DOC_DIR}")
|
||||
endif ()
|
||||
|
||||
if (APPLE)
|
||||
option (${package_prefix}_BUILD_FRAMEWORKS "TRUE to build as frameworks libraries, FALSE to build according to BUILD_SHARED_LIBS" FALSE)
|
||||
endif ()
|
||||
@@ -365,6 +395,10 @@ macro (HDF_DIR_PATHS package_prefix)
|
||||
if (NOT ${package_prefix}_INSTALL_CMAKE_DIR)
|
||||
set (${package_prefix}_INSTALL_CMAKE_DIR cmake)
|
||||
endif ()
|
||||
if (NOT ${package_prefix}_INSTALL_DOC_DIR)
|
||||
set (${package_prefix}_INSTALL_DOC_DIR ${${package_prefix}_INSTALL_DATA_DIR})
|
||||
endif ()
|
||||
message(STATUS "Final: ${${package_prefix}_INSTALL_DOC_DIR}")
|
||||
|
||||
# Always use full RPATH, i.e. don't skip the full RPATH for the build tree
|
||||
set (CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||
@@ -391,12 +425,12 @@ macro (HDF_DIR_PATHS package_prefix)
|
||||
endif ()
|
||||
|
||||
#set the default debug suffix for all library targets
|
||||
if(NOT CMAKE_DEBUG_POSTFIX)
|
||||
if (WIN32)
|
||||
set (CMAKE_DEBUG_POSTFIX "_D")
|
||||
else ()
|
||||
set (CMAKE_DEBUG_POSTFIX "_debug")
|
||||
endif ()
|
||||
if(NOT CMAKE_DEBUG_POSTFIX)
|
||||
if (WIN32)
|
||||
set (CMAKE_DEBUG_POSTFIX "_D")
|
||||
else ()
|
||||
set (CMAKE_DEBUG_POSTFIX "_debug")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
SET_HDF_BUILD_TYPE()
|
||||
|
||||
@@ -37,7 +37,7 @@ if (DOXYGEN_FOUND)
|
||||
|
||||
install (
|
||||
DIRECTORY ${HDF5_BINARY_DIR}/hdf5lib_docs/html
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
DESTINATION ${HDF5_INSTALL_DOC_DIR}
|
||||
COMPONENT Documents
|
||||
)
|
||||
|
||||
|
||||
@@ -534,9 +534,9 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
|
||||
set (_PKG_CONFIG_MODULEDIR \${prefix}/mod)
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${HDF5_INSTALL_LIB_DIR})
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${HDF5_INSTALL_INCLUDE_DIR})
|
||||
set (_PKG_CONFIG_MODULEDIR \${prefix}/${HDF5_INSTALL_MODULE_DIR})
|
||||
set (_PKG_CONFIG_LIBNAME "${HDF5_F90_LIB_CORENAME}")
|
||||
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
|
||||
@@ -91,8 +91,8 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${HDF5_INSTALL_LIB_DIR})
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${HDF5_INSTALL_INCLUDE_DIR})
|
||||
set (_PKG_CONFIG_LIBNAME "${HDF5_HL_CPP_LIB_CORENAME}")
|
||||
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
|
||||
@@ -324,9 +324,9 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
|
||||
set (_PKG_CONFIG_MODULEDIR \${prefix}/mod)
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${HDF5_INSTALL_LIB_DIR})
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${HDF5_INSTALL_INCLUDE_DIR})
|
||||
set (_PKG_CONFIG_MODULEDIR \${prefix}/${HDF5_INSTALL_MODULE_DIR})
|
||||
set (_PKG_CONFIG_LIBNAME "${HDF5_HL_F90_LIB_CORENAME}")
|
||||
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
|
||||
@@ -123,8 +123,8 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${HDF5_INSTALL_LIB_DIR})
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${HDF5_INSTALL_INCLUDE_DIR})
|
||||
set (_PKG_CONFIG_LIBNAME "${HDF5_HL_LIB_CORENAME}")
|
||||
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ create_javadoc(hdf5_java_doc
|
||||
CLASSPATH ${CMAKE_JAVA_INCLUDE_PATH}
|
||||
WINDOWTITLE "HDF5 Java"
|
||||
DOCTITLE "<h1>HDF5 Java Wrapper</h1>"
|
||||
INSTALLPATH ${HDF5_INSTALL_DATA_DIR}
|
||||
INSTALLPATH ${HDF5_INSTALL_DOC_DIR}
|
||||
AUTHOR TRUE
|
||||
USE TRUE
|
||||
VERSION TRUE
|
||||
|
||||
@@ -32,7 +32,8 @@ CMake version
|
||||
1. We suggest you obtain the latest CMake from the Kitware web site.
|
||||
The HDF5 1.10."X" product requires a minimum CMake version 3.12,
|
||||
where "X" is the current HDF5 release version. If you are using
|
||||
VS2019, the minimum version is 3.15.
|
||||
VS2019, the minimum version is 3.15. For VS2022, the minimum
|
||||
version is 3.21.
|
||||
|
||||
Note:
|
||||
To change the install prefix from the platform defaults initialize
|
||||
@@ -753,8 +754,20 @@ if (MSVC)
|
||||
HDF5_INSTALL_DATA_DIR "."
|
||||
else ()
|
||||
HDF5_INSTALL_DATA_DIR "share"
|
||||
HDF5_INSTALL_DOC_DIR "HDF5_INSTALL_DATA_DIR"
|
||||
|
||||
Defaults as defined by the `GNU Coding Standards`
|
||||
HDF5_INSTALL_BIN_DIR "bin"
|
||||
HDF5_INSTALL_LIB_DIR "lib"
|
||||
HDF5_INSTALL_INCLUDE_DIR "include"
|
||||
HDF5_INSTALL_MODULE_DIR "HDF5_INSTALL_INCLUDE_DIR/mod"
|
||||
HDF5_INSTALL_CMAKE_DIR "HDF5_INSTALL_LIB_DIR/cmake"
|
||||
HDF5_INSTALL_DATA_DIR "share"
|
||||
HDF5_INSTALL_DOC_DIR "HDF5_INSTALL_DATA_DIR/doc/hdf5"
|
||||
|
||||
---------------- HDF5 Advanced Options ---------------------
|
||||
HDF5_USE_GNU_DIRS "TRUE to use GNU Coding Standard install directory variables,
|
||||
FALSE to use historical settings" FALSE
|
||||
ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
|
||||
ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF
|
||||
HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." ""
|
||||
@@ -832,6 +845,10 @@ NOTE:
|
||||
flag is not available on windows and some modern linux systems will
|
||||
ignore the flag.
|
||||
|
||||
NOTE:
|
||||
The HDF5_USE_GNU_DIRS option is usually recommended for linux platforms, but may
|
||||
be useful on other platforms. See the CMake documentation for more details.
|
||||
|
||||
---------------- Unsupported Library Options ---------------------
|
||||
The threadsafe, C++ and Java interfaces are not compatible
|
||||
with the HDF5_ENABLE_PARALLEL option.
|
||||
|
||||
@@ -49,6 +49,16 @@ New Features
|
||||
|
||||
Configuration:
|
||||
-------------
|
||||
- Add new CMake configuration variable HDF5_USE_GNU_DIRS
|
||||
|
||||
HDF5_USE_GNU_DIRS (default OFF) selects the use of GNU Coding Standard install
|
||||
directory variables by including the CMake module, GNUInstallDirs(see CMake
|
||||
documentation for details). The HDF_DIR_PATHS macro in the HDFMacros.cmake file
|
||||
sets various PATH variables for use during the build, test and install processes.
|
||||
By default, the historical settings for these variables will be used.
|
||||
|
||||
(ADB - 2022/10/21, GH-2175, GH-1716)
|
||||
|
||||
- Correct the usage of CMAKE_Fortran_MODULE_DIRECTORY and where to
|
||||
install Fortran mod files.
|
||||
|
||||
|
||||
@@ -1251,8 +1251,8 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
|
||||
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${HDF5_INSTALL_LIB_DIR})
|
||||
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${HDF5_INSTALL_INCLUDE_DIR})
|
||||
set (_PKG_CONFIG_LIBNAME "${HDF5_LIB_CORENAME}")
|
||||
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user