Skip to content
Commits on Source (4)
......@@ -18,14 +18,10 @@ if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MAT
set (ZLIB_BRANCH ${ZLIB_GIT_BRANCH})
set (SZIP_URL ${SZIP_GIT_URL})
set (SZIP_BRANCH ${SZIP_GIT_BRANCH})
elseif (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
set (JPEG_URL ${JPEG_SVN_URL})
set (ZLIB_URL ${ZLIB_SVN_URL})
set (SZIP_URL ${SZIP_SVN_URL})
elseif (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (NOT TGZPATH)
set (TGZPATH ${HDF4_SOURCE_DIR})
endif (NOT TGZPATH)
endif ()
set (JPEG_URL ${TGZPATH}/${JPEG_TGZ_NAME})
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME})
set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME})
......@@ -47,8 +43,8 @@ if (HDF4_ENABLE_JPEG_LIB_SUPPORT)
if (NOT JPEG_FOUND)
find_package (JPEG) # Legacy find
if (JPEG_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${JPEG_LIBRARIES})
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${JPEG_LIBRARIES})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${JPEG_LIBRARIES})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${JPEG_LIBRARIES})
endif ()
endif ()
endif ()
......@@ -59,7 +55,7 @@ if (HDF4_ENABLE_JPEG_LIB_SUPPORT)
set (JPEG_INCLUDE_DIR_GEN ${JPEG_INCLUDE_DIR})
set (JPEG_INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
else ()
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
# May need to build JPEG with PIC on x64 machines with gcc
# Need to use CMAKE_ANSI_CFLAGS define so that compiler test works
if (BUILD_JPEG_WITH_PIC)
......@@ -86,9 +82,9 @@ if (HDF4_ENABLE_JPEG_LIB_SUPPORT)
set (H4_HAVE_JPEGLIB_H 1)
endif ()
if (BUILD_SHARED_LIBS)
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${JPEG_SHARED_LIBRARY})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${JPEG_SHARED_LIBRARY})
endif ()
set (LINK_LIBS ${LINK_LIBS} ${JPEG_STATIC_LIBRARY})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${JPEG_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${JPEG_INCLUDE_DIRS})
message (STATUS "JPEGLIB is ON")
endif ()
......@@ -104,8 +100,8 @@ if (HDF4_ENABLE_Z_LIB_SUPPORT)
if (NOT ZLIB_FOUND)
find_package (ZLIB) # Legacy find
if (ZLIB_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_LIBRARIES})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_LIBRARIES})
endif ()
endif ()
endif ()
......@@ -117,7 +113,7 @@ if (HDF4_ENABLE_Z_LIB_SUPPORT)
set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
else ()
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_ZLIB_LIBRARY (${HDF4_ALLOW_EXTERNAL_SUPPORT})
set (H4_HAVE_FILTER_DEFLATE 1)
set (H4_HAVE_ZLIB_H 1)
......@@ -134,9 +130,9 @@ if (HDF4_ENABLE_Z_LIB_SUPPORT)
set (H4_HAVE_LIBZ 1)
endif ()
if (BUILD_SHARED_LIBS)
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
endif ()
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_STATIC_LIBRARY})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
message (STATUS "Filter ZLIB is ON")
endif ()
......@@ -153,8 +149,8 @@ if (HDF4_ENABLE_SZIP_SUPPORT)
if (NOT SZIP_FOUND)
find_package (SZIP) # Legacy find
if (SZIP_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_LIBRARIES})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_LIBRARIES})
endif ()
endif ()
endif ()
......@@ -165,7 +161,7 @@ if (HDF4_ENABLE_SZIP_SUPPORT)
set (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIRS} ${SZIP_INCLUDE_DIR})
else ()
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_SZIP_LIBRARY (${HDF4_ALLOW_EXTERNAL_SUPPORT} ${HDF4_ENABLE_SZIP_ENCODING})
set (H4_HAVE_FILTER_SZIP 1)
set (H4_HAVE_SZLIB_H 1)
......@@ -176,9 +172,9 @@ if (HDF4_ENABLE_SZIP_SUPPORT)
endif ()
endif ()
if (BUILD_SHARED_LIBS)
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
endif ()
set (LINK_LIBS ${LINK_LIBS} ${SZIP_STATIC_LIBRARY})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
message (STATUS "Filter SZIP is ON")
if (HDF4_ENABLE_SZIP_ENCODING)
......
......@@ -29,7 +29,7 @@ endif ()
if (NOT HDF4_EXTERNALLY_CONFIGURED)
install (
EXPORT ${HDF4_EXPORTED_TARGETS}
DESTINATION ${HDF4_INSTALL_CMAKE_DIR}
DESTINATION ${HDF4_INSTALL_CMAKE_DIR}/hdf4
FILE ${HDF4_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
NAMESPACE ${HDF4_PACKAGE}::
COMPONENT configinstall
......@@ -45,7 +45,7 @@ if (NOT HDF4_EXTERNALLY_CONFIGURED)
FILE ${HDF4_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
NAMESPACE ${HDF4_PACKAGE}::
)
endif (NOT HDF4_EXTERNALLY_CONFIGURED)
endif ()
#-----------------------------------------------------------------------------
# Set includes needed for build
......@@ -73,7 +73,7 @@ set (CURRENT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" )
configure_package_config_file (
${HDF_RESOURCES_DIR}/hdf4-config.cmake.in
"${HDF4_BINARY_DIR}/${HDF4_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake"
INSTALL_DESTINATION "${HDF4_INSTALL_CMAKE_DIR}"
INSTALL_DESTINATION "${HDF4_INSTALL_CMAKE_DIR}/hdf4"
PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR
INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
)
......@@ -87,13 +87,13 @@ set (CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" )
configure_package_config_file (
${HDF_RESOURCES_DIR}/hdf4-config.cmake.in
"${HDF4_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF4_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake"
INSTALL_DESTINATION "${HDF4_INSTALL_CMAKE_DIR}"
INSTALL_DESTINATION "${HDF4_INSTALL_CMAKE_DIR}/hdf4"
PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR
)
if (NOT HDF4_EXTERNALLY_CONFIGURED)
install (
FILES ${HDF4_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF4_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake
DESTINATION ${HDF4_INSTALL_CMAKE_DIR}
DESTINATION ${HDF4_INSTALL_CMAKE_DIR}/hdf4
COMPONENT configinstall
)
endif ()
......@@ -108,7 +108,7 @@ if (NOT HDF4_EXTERNALLY_CONFIGURED)
)
install (
FILES ${HDF4_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF4_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
DESTINATION ${HDF4_INSTALL_CMAKE_DIR}
DESTINATION ${HDF4_INSTALL_CMAKE_DIR}/hdf4
COMPONENT configinstall
)
endif ()
......
......@@ -200,6 +200,8 @@ set (HDF4_JAVA_LOGGING_JAR ${HDF4_SOURCE_DIR}/java/lib/slf4j-api-1.7.5.j
set (HDF4_JAVA_LOGGING_NOP_JAR ${HDF4_SOURCE_DIR}/java/lib/ext/slf4j-nop-1.7.5.jar)
set (HDF4_JAVA_LOGGING_SIMPLE_JAR ${HDF4_SOURCE_DIR}/java/lib/ext/slf4j-simple-1.7.5.jar)
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
if (APPLE)
option (HDF4_BUILD_FRAMEWORKS "TRUE to build as frameworks libraries, FALSE to build according to BUILD_SHARED_LIBS" FALSE)
endif ()
......@@ -285,6 +287,8 @@ include (${HDF_RESOURCES_EXT_DIR}/HDFMacros.cmake)
include (${HDF_RESOURCES_EXT_DIR}/HDFLibMacros.cmake)
include (${HDF_RESOURCES_DIR}/HDF4Macros.cmake)
SET_HDF_BUILD_TYPE()
#-----------------------------------------------------------------------------
# Setup output Directories
#-----------------------------------------------------------------------------
......@@ -302,12 +306,12 @@ if (NOT HDF4_EXTERNALLY_CONFIGURED)
${PROJECT_BINARY_DIR}/bin/fortran CACHE PATH "Single Directory for all fortran modules."
)
if (WIN32)
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE})
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
set (CMAKE_PDB_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all pdb files."
)
else ()
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
endif ()
else ()
# if we are externally configured, but the project uses old cmake scripts
......@@ -319,7 +323,7 @@ endif ()
#-----------------------------------------------------------------------------
# Targets built within this project are exported at Install time for use
# by other projects using FindHDF4.
# by other projects
#-----------------------------------------------------------------------------
if (NOT HDF4_EXPORTED_TARGETS)
set (HDF4_EXPORTED_TARGETS "hdf4-targets")
......@@ -357,7 +361,6 @@ option (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
set (H4_ENABLE_SHARED_LIB NO)
if (BUILD_SHARED_LIBS)
set (H4_ENABLE_SHARED_LIB YES)
set (LINK_SHARED_LIBS ${LINK_LIBS})
endif ()
set (H4_ENABLE_STATIC_LIB YES)
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
......@@ -421,12 +424,10 @@ INCLUDE_DIRECTORIES (${HDF4_INCLUDE_DIRECTORIES} )
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 ()
endif ()
if (MSVC)
set (CMAKE_MFC_FLAG 0)
......@@ -447,7 +448,7 @@ endif ()
#-----------------------------------------------------------------------------
# Add some definitions for Debug Builds
#-----------------------------------------------------------------------------
if (CMAKE_BUILD_TYPE MATCHES Debug)
if (${HDF_CFG_NAME} MATCHES Debug)
#-- NMake Makefiles will overwhelm the console with warnings if -Wall is used.
if (NOT WIN32)
add_definitions (-Wall)
......@@ -458,14 +459,14 @@ endif ()
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCC)
if (CMAKE_BUILD_TYPE MATCHES Debug)
if (${HDF_CFG_NAME} MATCHES Debug)
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -finline-functions -fno-common")
else ()
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common")
endif ()
endif ()
if (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_BUILD_TYPE MATCHES Debug)
if (${HDF_CFG_NAME} MATCHES Debug)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -finline-functions -fno-common")
else ()
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common")
......@@ -482,9 +483,9 @@ if (HDF4_DISABLE_COMPILER_WARNINGS)
if (MSVC)
set (HDF4_WARNINGS_BLOCKED 1)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W0")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
endif ()
if (WIN32)
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
......@@ -513,36 +514,6 @@ if (CMAKE_COMPILER_IS_GNUCXX)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
endif ()
#-----------------------------------------------------------------------------
# Option to Enable MPI Parallel
#-----------------------------------------------------------------------------
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
option (HDF4_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
if (HDF4_ENABLE_PARALLEL)
include (FindMPI)
INCLUDE_DIRECTORIES (${MPI_C_INCLUDE_PATH})
if (MPI_C_FOUND)
set (H4_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}" )
CHECK_FUNCTION_EXISTS (MPI_File_get_size H4_HAVE_MPI_GET_SIZE)
# Used by Fortran + MPI
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_PATH}/mpi.h" H4_HAVE_MPI_MULTI_LANG_Comm)
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_PATH}/mpi.h" H4_HAVE_MPI_MULTI_LANG_Info)
else ()
message (STATUS "Parallel libraries not found")
endif ()
endif ()
# Parallel IO usage requires MPI to be Linked and Included
if (H4_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 ()
endif ()
#-----------------------------------------------------------------------------
# Include user macros
#-----------------------------------------------------------------------------
......@@ -595,16 +566,16 @@ else ()
endif ()
if (HDF4_BUILD_XDR_LIB)
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf/xdr ${PROJECT_BINARY_DIR}/xdr)
add_subdirectory (mfhdf/xdr)
endif ()
#-----------------------------------------------------------------------------
# Add the HDF4 Library Target to the build
#-----------------------------------------------------------------------------
add_subdirectory (${HDF4_SOURCE_DIR}/hdf/src ${PROJECT_BINARY_DIR}/hdf/src )
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf/libsrc ${PROJECT_BINARY_DIR}/mfhdf/libsrc)
add_subdirectory (hdf/src )
add_subdirectory (mfhdf/libsrc)
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF4_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (JPEG_FOUND AND JPEG_USE_EXTERNAL)
add_dependencies (${HDF4_SRC_LIB_TARGET} JPEG)
if (BUILD_SHARED_LIBS)
......@@ -649,10 +620,10 @@ if (BUILD_TESTING)
if (NOT HDF4_EXTERNALLY_CONFIGURED)
if (EXISTS "${HDF4_SOURCE_DIR}/hdf/test" AND IS_DIRECTORY "${HDF4_SOURCE_DIR}/hdf/test")
add_subdirectory (${HDF4_SOURCE_DIR}/hdf/test ${PROJECT_BINARY_DIR}/hdf/test)
add_subdirectory (hdf/test)
endif ()
if (EXISTS "${HDF4_SOURCE_DIR}/mfhdf/test" AND IS_DIRECTORY "${HDF4_SOURCE_DIR}/mfhdf/test")
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf/test ${PROJECT_BINARY_DIR}/mfhdf/test)
add_subdirectory (mfhdf/test)
endif ()
endif ()
endif ()
......@@ -673,8 +644,8 @@ if (EXISTS "${HDF4_SOURCE_DIR}/mfhdf/fortran" AND IS_DIRECTORY "${HDF4_SOURCE_DI
set (H4_F77_FUNC_ "H4_F77_FUNC_(name,NAME) NAME")
endif ()
include (${HDF_RESOURCES_DIR}/HDF4UseFortran.cmake)
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf/fortran ${PROJECT_BINARY_DIR}/mfhdf/fortran)
add_subdirectory (${HDF4_SOURCE_DIR}/hdf/fortran ${PROJECT_BINARY_DIR}/hdf/fortran)
add_subdirectory (mfhdf/fortran)
add_subdirectory (hdf/fortran)
endif ()
endif ()
......@@ -687,8 +658,8 @@ endif ()
#-----------------------------------------------------------------------------
# Library utilities
#-----------------------------------------------------------------------------
add_subdirectory (${HDF4_SOURCE_DIR}/hdf ${PROJECT_BINARY_DIR}/hdf)
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf ${PROJECT_BINARY_DIR}/mfhdf)
add_subdirectory (hdf)
add_subdirectory (mfhdf)
#-----------------------------------------------------------------------------
# Option to build HDF4 Examples
......@@ -698,15 +669,15 @@ if (EXISTS "${HDF4_SOURCE_DIR}/mfhdf/examples" AND IS_DIRECTORY "${HDF4_SOURCE_D
if (HDF4_BUILD_EXAMPLES)
if (HDF4_BUILD_FORTRAN)
if (EXISTS "${HDF4_SOURCE_DIR}/hdf/fortran/examples" AND IS_DIRECTORY "${HDF4_SOURCE_DIR}/hdf/fortran/examples")
add_subdirectory (${HDF4_SOURCE_DIR}/hdf/fortran/examples ${PROJECT_BINARY_DIR}/hdf/fortran/examples)
add_subdirectory (hdf/fortran/examples)
endif ()
if (EXISTS "${HDF4_SOURCE_DIR}/mfhdf/fortran/examples" AND IS_DIRECTORY "${HDF4_SOURCE_DIR}/mfhdf/fortran/examples")
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf/fortran/examples ${PROJECT_BINARY_DIR}/mfhdf/fortran/examples)
add_subdirectory (mfhdf/fortran/examples)
endif ()
endif ()
add_subdirectory (${HDF4_SOURCE_DIR}/hdf/examples ${PROJECT_BINARY_DIR}/hdf/examples)
add_subdirectory (${HDF4_SOURCE_DIR}/mfhdf/examples ${PROJECT_BINARY_DIR}/mfhdf/examples)
add_subdirectory (hdf/examples)
add_subdirectory (mfhdf/examples)
endif ()
endif ()
......@@ -716,7 +687,7 @@ endif ()
if (EXISTS "${HDF4_SOURCE_DIR}/java" AND IS_DIRECTORY "${HDF4_SOURCE_DIR}/java")
option (HDF4_BUILD_JAVA "Build Java HDF Library" OFF)
if (HDF4_BUILD_JAVA)
add_subdirectory (${HDF4_SOURCE_DIR}/java ${PROJECT_BINARY_DIR}/java)
add_subdirectory (java)
endif ()
endif ()
......
......@@ -575,8 +575,6 @@
./java/test/Makefile.am
./java/test/Makefile.in
./java/test/junit.sh.in
./java/test/JUnit-interface.ert
./java/test/JUnit-interface.txt
./java/test/TestAll.java
./java/test/TestH4.java
./java/test/TestH4ANparams.java
......@@ -588,7 +586,16 @@
./java/test/TestH4SDparams.java
./java/test/TestH4Vparams.java
./java/test/TestH4VSparams.java
./java/test/testfiles/JUnit-TestH4.txt
./java/test/testfiles/JUnit-TestH4ANparams.txt
./java/test/testfiles/JUnit-TestH4DFparams.txt
./java/test/testfiles/JUnit-TestH4DFPparams.txt
./java/test/testfiles/JUnit-TestH4DFRparams.txt
./java/test/testfiles/JUnit-TestH4GRparams.txt
./java/test/testfiles/JUnit-TestH4HCparams.txt
./java/test/testfiles/JUnit-TestH4SDparams.txt
./java/test/testfiles/JUnit-TestH4Vparams.txt
./java/test/testfiles/JUnit-TestH4VSparams.txt
./man/Makefile.am
./man/Makefile.in
./man/gr_chunk.3
......@@ -1167,10 +1174,8 @@
./config/cmake/UseJavaClassFilelist.cmake
./config/cmake/UseJavaSymlinks.cmake
./config/cmake_ext_mod/CheckTypeSize.cmake
./config/cmake_ext_mod/ConfigureChecks.cmake
./config/cmake_ext_mod/CTestCustom.cmake
./config/cmake_ext_mod/FindMPI.cmake _DO_NOT_DISTRIBUTE_
./config/cmake_ext_mod/FindSZIP.cmake
./config/cmake_ext_mod/GetTimeOfDayTest.cpp
./config/cmake_ext_mod/grepTest.cmake
......
HDF version 4.2.13 released on 2017-06-24
HDF version 4.2.14 released on 2018-06-26
===================================================
Information about HDF
......
......@@ -7,9 +7,9 @@
#-----------------------------------------------------------------------------
# Option to Build with User Defined Values
#-----------------------------------------------------------------------------
MACRO (MACRO_USER_DEFINED_LIBS)
macro (MACRO_USER_DEFINED_LIBS)
set (USER_DEFINED_VALUE "FALSE")
ENDMACRO ()
endmacro ()
#-------------------------------------------------------------------------------
option (BUILD_USER_DEFINED_LIBS "Build With User Defined Values" OFF)
......
......@@ -188,7 +188,7 @@ die "unable to read file: $file\n" unless -r $file;
#my $LT_VERS = $file;
#$LT_VERS =~ s/[^\/]*$/..\/config\/lt_vers.am/;
#die "unable to read file: $LT_VERS\n" unless -r $file;
# config/cmake/scripts/HDF5config.cmake
# config/cmake/scripts/HDF4config.cmake
my $HDF4CONFIGCMAKE = $file;
$HDF4CONFIGCMAKE =~ s/[^\/]*$/..\/..\/config\/cmake\/scripts\/HDF4config.cmake/;
die "unable to read file: $HDF4CONFIGCMAKE\n" unless -r $file;
......
......@@ -53,7 +53,7 @@ Usage: $0 -d <dir> [-h] [--nocheck] [--private] <methods> ...
This must be run at the top level of the source directory.
The other command-line options are the names of the programs to use
for compressing the resulting tar archive (if none are given then
"tar md5" is assumed):
"tar" is assumed):
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
cmake-tgz -- create a tar file using the gzip default level with a
......@@ -100,7 +100,7 @@ EOF
# Modifications
#
# Steps:
# 1. untar the tarball in a temporay directory;
# 1. untar the tarball in a temporary directory;
# Note: do this in a temporary directory to avoid changing
# the original source directory which may be around.
# 2. convert all its text files to DOS (LF-CR) style;
......@@ -191,6 +191,10 @@ tar2zip()
# Returns 0 if successful; 1 otherwise
#
# need function to create another temporary directory, extract the
# $tmpdir/$HDF4_VERS.tar into it, add (create) build-unix.sh,
# CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz, ZLib.tar.gz,
# and JPEG8d.tar.gz, and then zip it.
tar2cmakezip()
{
if [ $# -ne 3 ]; then
......@@ -215,12 +219,12 @@ tar2cmakezip()
fi
# step 2: add batch file for building CMake on window
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS2012 -C Release -V -O hdf4.log" > build-VS2012-32.bat; chmod 755 build-VS2012-32.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS201264 -C Release -V -O hdf4.log" > build-VS2012-64.bat; chmod 755 build-VS2012-64.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS2013 -C Release -V -O hdf4.log" > build-VS2013-32.bat; chmod 755 build-VS2013-32.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS201364 -C Release -V -O hdf4.log" > build-VS2013-64.bat; chmod 755 build-VS2013-64.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS2015 -C Release -V -O hdf4.log" > build-VS2015-32.bat; chmod 755 build-VS2015-32.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS201564 -C Release -V -O hdf4.log" > build-VS2015-64.bat; chmod 755 build-VS2015-32.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS2017 -C Release -V -O hdf4.log" > build-VS2017-32.bat; chmod 755 build-VS2017-32.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF4config.cmake,BUILD_GENERATOR=VS201764 -C Release -V -O hdf4.log" > build-VS2017-64.bat; chmod 755 build-VS2017-64.bat)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf4/CMake/SZip.tar.gz $cmziptmpsubdir
......@@ -388,9 +392,9 @@ while [ -n "$1" ]; do
esac
done
# Default methods are tar and md5
# Default methods is tar and md5
if [ "X$methods" = "X" ]; then
methods="tar md5"
methods="tar"
fi
# Create the temporay work directory.
......
......@@ -56,7 +56,7 @@ if (APPLE)
# Shared fortran is not supported, build static
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
else ()
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF4_BUILD_FORTRAN:BOOL=OFF")
endif ()
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
......
......@@ -23,10 +23,12 @@ find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATHS "/usr/include" "/usr/include/t
if (NOT XDR_INT_FOUND)
foreach(lib nsl rpc tirpc)
## Try to find the corresponding lib
message(STATUS "Try to find the library ${lib}.")
set(XDR_INT_LIBRARY)
find_library(XDR_INT_LIBRARY ${lib})
if (XDR_INT_LIBRARY)
message(STATUS "Found library ${lib}. Check for symbol.")
CHECK_LIBRARY_EXISTS(${XDR_INT_LIBRARY} xdr_int "" XDR_INT_SYMBOL_FOUND)
endif()
if (XDR_INT_SYMBOL_FOUND)
......@@ -39,7 +41,7 @@ find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATHS "/usr/include" "/usr/include/t
endif()
if(NOT XDR_INT_FOUND)
message(SEND_ERROR "Could not locate xdr symbols in libc or libnsl.")
message(STATUS "Could not locate xdr symbols.")
else()
set(XDR_FOUND TRUE)
endif()
......@@ -79,7 +79,7 @@ endif()
if(${CDASH_LOCAL})
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCDASH_LOCAL:BOOL=ON")
endif()
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF4_PACKAGE@@HDF_PACKAGE_EXT@")
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF4_PACKAGE_NAME:STRING=@HDF4_PACKAGE@@HDF_PACKAGE_EXT@")
###############################################################################################################
# For any comments please contact cdashhelp@hdfgroup.org
......
......@@ -63,9 +63,6 @@ For more information see USING_CMake_Examples.txt in the install folder.
===========================================================================
Documentation for this release can be found at the following URL:
http://www.hdfgroup.org/doc.html
See the HDF4 home page for further details:
http://hdfgroup.org/products/hdf4/
https://portal.hdfgroup.org/display/support
Bugs should be reported to help@hdfgroup.org.
......@@ -285,7 +285,7 @@
#
# Example:
# create_javadoc(my_example_doc
# PACKAGES com.exmaple.foo com.example.bar
# PACKAGES com.example.foo com.example.bar
# SOURCEPATH "${CMAKE_CURRENT_SOURCE_DIR}"
# CLASSPATH ${CMAKE_JAVA_INCLUDE_PATH}
# WINDOWTITLE "My example"
......@@ -482,6 +482,8 @@ function(add_jar _TARGET_NAME)
else()
get_filename_component(_add_jar_OUTPUT_DIR ${_add_jar_OUTPUT_DIR} ABSOLUTE)
endif()
# ensure output directory exists
file (MAKE_DIRECTORY "${_add_jar_OUTPUT_DIR}")
if (_add_jar_ENTRY_POINT)
set(_ENTRY_POINT_OPTION e)
......@@ -516,7 +518,7 @@ function(add_jar _TARGET_NAME)
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
endforeach()
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
......@@ -547,7 +549,7 @@ function(add_jar _TARGET_NAME)
list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
elseif (_JAVA_EXT MATCHES ".java")
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${_add_jar_OUTPUT_DIR} ${_JAVA_FULL})
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${CMAKE_CURRENT_BINARY_DIR} ${_JAVA_FULL})
file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
......
......@@ -26,10 +26,6 @@ set (HDF4_ENABLE_NETCDF ON CACHE BOOL "Build HDF4 versions of NetCDF-3 APIS" FOR
set (HDF4_BUILD_XDR_LIB OFF CACHE BOOL "Build HDF4 XDR Library" FORCE)
set (HDF4_ENABLE_PARALLEL OFF CACHE BOOL "Enable parallel build (requires MPI)" FORCE)
set (MPIEXEC_MAX_NUMPROCS "3" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
set (HDF4_ENABLE_JPEG_LIB_SUPPORT ON CACHE BOOL "Enable Jpeg library" FORCE)
set (HDF4_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
......
......@@ -16,7 +16,6 @@ set (${HDF4_PACKAGE_NAME}_VALID_COMPONENTS
#-----------------------------------------------------------------------------
# User Options
#-----------------------------------------------------------------------------
set (${HDF4_PACKAGE_NAME}_ENABLE_PARALLEL @HDF4_ENABLE_PARALLEL@)
set (${HDF4_PACKAGE_NAME}_BUILD_FORTRAN @HDF4_BUILD_FORTRAN@)
set (${HDF4_PACKAGE_NAME}_BUILD_JAVA @HDF4_BUILD_JAVA@)
set (${HDF4_PACKAGE_NAME}_BUILD_XDR_LIB @HDF4_BUILD_XDR_LIB@)
......@@ -70,9 +69,9 @@ endif ()
#-----------------------------------------------------------------------------
# Version Strings
#-----------------------------------------------------------------------------
set (HDF4_VERSION_STRING @HDF4_VERSION_STRING@)
set (HDF4_VERSION_MAJOR @HDF4_VERSION_MAJOR@)
set (HDF4_VERSION_MINOR @HDF4_VERSION_MINOR@)
set (${HDF4_PACKAGE_NAME}_VERSION_STRING @HDF4_VERSION_STRING@)
set (${HDF4_PACKAGE_NAME}_VERSION_MAJOR @HDF4_VERSION_MAJOR@)
set (${HDF4_PACKAGE_NAME}_VERSION_MINOR @HDF4_VERSION_MINOR@)
#-----------------------------------------------------------------------------
# Don't include targets if this file is being picked up by another
......@@ -80,15 +79,15 @@ set (HDF4_VERSION_MINOR @HDF4_VERSION_MINOR@)
#-----------------------------------------------------------------------------
if (NOT TARGET "@HDF4_PACKAGE@")
if (${HDF4_PACKAGE_NAME}_ENABLE_JPEG_LIB_SUPPORT AND ${HDF4_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "jpeg")
include (@PACKAGE_SHARE_INSTALL_DIR@/@JPEG_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
include (@PACKAGE_SHARE_INSTALL_DIR@/@JPEG_PACKAGE_NAME@/@JPEG_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
if (${HDF4_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF4_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
if (${HDF4_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF4_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip")
include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF4_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF4_PACKAGE@/@HDF4_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
# Handle default component(static) :
......
......@@ -109,7 +109,7 @@ if (TEST_MASK_ERROR)
endif ()
# if the return value is !=0 bail out
if (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT})
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
message (STATUS "ERROR OUTPUT: ${TEST_STREAM}")
message (FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != 0.\n${TEST_ERROR}")
endif ()
......@@ -128,13 +128,13 @@ if (NOT TEST_SKIP_COMPARE)
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
RESULT_VARIABLE TEST_RESULT
)
if (NOT ${TEST_RESULT} STREQUAL 0)
if (NOT "${TEST_RESULT}" STREQUAL "0")
set (TEST_RESULT 0)
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
list (LENGTH test_act len_act)
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
list (LENGTH test_ref len_ref)
if (NOT ${len_act} STREQUAL "0" AND NOT ${len_ref} STREQUAL "0")
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
math (EXPR _FP_LEN "${len_ref} - 1")
foreach (line RANGE 0 ${_FP_LEN})
list (GET test_act ${line} str_act)
......@@ -147,14 +147,14 @@ if (NOT TEST_SKIP_COMPARE)
endif ()
endforeach ()
else ()
if (${len_act} STREQUAL "0")
if ("${len_act}" STREQUAL "0")
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
endif ()
if (${len_ref} STREQUAL "0")
if ("${len_ref}" STREQUAL "0")
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
endif ()
endif ()
if (NOT ${len_act} STREQUAL ${len_ref})
if (NOT "${len_act}" STREQUAL "${len_ref}")
set (TEST_RESULT 1)
endif ()
endif ()
......@@ -162,7 +162,7 @@ if (NOT TEST_SKIP_COMPARE)
message (STATUS "COMPARE Result: ${TEST_RESULT}")
# again, if return value is !=0 scream and shout
if (NOT ${TEST_RESULT} STREQUAL 0)
if (NOT "${TEST_RESULT}" STREQUAL "0")
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
endif ()
......@@ -178,14 +178,14 @@ if (NOT TEST_SKIP_COMPARE)
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
RESULT_VARIABLE TEST_RESULT
)
if (NOT ${TEST_RESULT} STREQUAL 0)
if (NOT "${TEST_RESULT}" STREQUAL "0")
set (TEST_RESULT 0)
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
list (LENGTH test_act len_act)
file (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
list (LENGTH test_ref len_ref)
math (EXPR _FP_LEN "${len_ref} - 1")
if (NOT ${len_act} STREQUAL "0" AND NOT ${len_ref} STREQUAL "0")
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
math (EXPR _FP_LEN "${len_ref} - 1")
foreach (line RANGE 0 ${_FP_LEN})
list (GET test_act ${line} str_act)
......@@ -198,14 +198,14 @@ if (NOT TEST_SKIP_COMPARE)
endif ()
endforeach ()
else ()
if (${len_act} STREQUAL "0")
if ("${len_act}" STREQUAL "0")
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT}.err is empty")
endif ()
if (${len_ref} STREQUAL "0")
if ("${len_ref}" STREQUAL "0")
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_ERRREF} is empty")
endif ()
endif()
if (NOT ${len_act} STREQUAL ${len_ref})
if (NOT "${len_act}" STREQUAL "${len_ref}")
set (TEST_RESULT 1)
endif ()
endif ()
......@@ -226,15 +226,15 @@ if (TEST_GREP_COMPARE)
# TEST_REFERENCE should always be matched
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
if (${TEST_RESULT} STREQUAL "0")
if ("${TEST_RESULT}" STREQUAL "0")
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
endif ()
string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
if (${TEST_EXPECT} STREQUAL "1")
if ("${TEST_EXPECT}" STREQUAL "1")
# TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
if (NOT ${TEST_RESULT} STREQUAL "0")
if (NOT "${TEST_RESULT}" STREQUAL "0")
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
endif ()
endif ()
......
......@@ -24,10 +24,6 @@ set (HDF4_ENABLE_NETCDF ON CACHE BOOL "Build HDF4 versions of NetCDF-3 APIS" FOR
set (HDF4_BUILD_XDR_LIB OFF CACHE BOOL "Build HDF4 XDR Library" FORCE)
set (HDF4_ENABLE_PARALLEL OFF CACHE BOOL "Enable parallel build (requires MPI)" FORCE)
set (MPIEXEC_MAX_NUMPROCS "3" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
set (HDF4_ENABLE_JPEG_LIB_SUPPORT ON CACHE BOOL "Enable Jpeg library" FORCE)
set (HDF4_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
......
......@@ -57,7 +57,7 @@ if (APPLE)
# Shared fortran is not supported, build static
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
else ()
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF4_BUILD_FORTRAN:BOOL=OFF")
endif ()
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
......
#############################################################################################
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
### BUILD_GENERATOR required [Unix, VS2015, VS201564, VS2013, VS201364, VS2012, VS201264] ###
### ctest -S HDFconfig.cmake,BUILD_GENERATOR=VS201264 -C Release -VV -O hdf.log ###
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
### ctest -S HDFconfig.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf.log ###
#############################################################################################
cmake_minimum_required (VERSION 3.2.2 FATAL_ERROR)
......@@ -11,12 +11,12 @@ cmake_minimum_required (VERSION 3.2.2 FATAL_ERROR)
# where valid options for OPTION are:
# BUILD_GENERATOR - The cmake build generator:
# Unix * Unix Makefiles
# VS2017 * Visual Studio 15 2017
# VS201764 * Visual Studio 15 2017 Win64
# VS2015 * Visual Studio 14 2015
# VS201564 * Visual Studio 14 2015 Win64
# VS2013 * Visual Studio 12 2013
# VS201364 * Visual Studio 12 2013 Win64
# VS2012 * Visual Studio 11 2012
# VS201264 * Visual Studio 11 2012 Win64
#
# INSTALLDIR - root folder where hdf is installed
# - windowsdefault: C:/Program Files/HDF_Group/HDF/4.2.13
......@@ -28,7 +28,7 @@ cmake_minimum_required (VERSION 3.2.2 FATAL_ERROR)
# NO_MAC_FORTRAN - Yes to be SHARED on a Mac
##############################################################################
set (CTEST_SOURCE_VERSION "4.2.13")
set (CTEST_SOURCE_VERSION "4.2.14")
set (CTEST_SOURCE_VERSEXT "")
##############################################################################
......@@ -54,25 +54,7 @@ endif ()
# build generator must be defined
if (NOT DEFINED BUILD_GENERATOR)
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2015, VS201564, VS2013, VS201364, VS2012, or VS201264")
else ()
if (${BUILD_GENERATOR} STREQUAL "Unix")
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
elseif (${BUILD_GENERATOR} STREQUAL "VS2015")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
elseif (${BUILD_GENERATOR} STREQUAL "VS201564")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
elseif (${BUILD_GENERATOR} STREQUAL "VS2013")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
elseif (${BUILD_GENERATOR} STREQUAL "VS201364")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
elseif (${BUILD_GENERATOR} STREQUAL "VS2012")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
elseif (${BUILD_GENERATOR} STREQUAL "VS201264")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
else ()
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2015, VS201564, VS2013, VS201364, VS2012, or VS201264")
endif ()
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
endif ()
###################################################################
......@@ -121,30 +103,48 @@ endif ()
if (WIN32)
set (SITE_OS_NAME "Windows")
set (SITE_OS_VERSION "WIN7")
if (${BUILD_GENERATOR} STREQUAL "VS201564")
if (${BUILD_GENERATOR} STREQUAL "VS201764")
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2017")
set (SITE_COMPILER_VERSION "15")
elseif (${BUILD_GENERATOR} STREQUAL "VS2017")
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2017")
set (SITE_COMPILER_VERSION "15")
elseif (${BUILD_GENERATOR} STREQUAL "VS201564")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2015")
set (SITE_COMPILER_VERSION "14")
elseif (${BUILD_GENERATOR} STREQUAL "VS2015")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2015")
set (SITE_COMPILER_VERSION "14")
elseif (${BUILD_GENERATOR} STREQUAL "VS201364")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2013")
set (SITE_COMPILER_VERSION "12")
elseif (${BUILD_GENERATOR} STREQUAL "VS2013")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2013")
set (SITE_COMPILER_VERSION "12")
elseif (${BUILD_GENERATOR} STREQUAL "VS201264")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2012")
set (SITE_COMPILER_VERSION "11")
elseif (${BUILD_GENERATOR} STREQUAL "VS2012")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2012")
set (SITE_COMPILER_VERSION "11")
else ()
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
endif ()
## Set the following to unique id your computer ##
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
......
#
# Check if the type exists and determine size of type. if the type
# exists, the size will be stored to the variable.
#
# CHECK_TYPE_SIZE - macro which checks the size of type
# VARIABLE - variable to store size if the type exists.
# HAVE_${VARIABLE} - does the variable exists or not
#
macro (HDF_CHECK_TYPE_SIZE TYPE VARIABLE)
set (CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1)
if ("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
set (MACRO_CHECK_TYPE_SIZE_FLAGS
"-DCHECK_TYPE_SIZE_TYPE=\"${TYPE}\" ${CMAKE_REQUIRED_FLAGS}"
)
foreach (def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H HAVE_INTTYPES_H)
if ("${def}")
set (MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -D${def}")
endif ()
endforeach ()
message (STATUS "Check size of ${TYPE}")
if (CMAKE_REQUIRED_LIBRARIES)
set (CHECK_TYPE_SIZE_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
)
endif ()
try_run (${VARIABLE} HAVE_${VARIABLE}
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/CheckTypeSize.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS}
"${CHECK_TYPE_SIZE_ADD_LIBRARIES}"
OUTPUT_VARIABLE OUTPUT
)
if (HAVE_${VARIABLE})
message (STATUS "Check size of ${TYPE} - done")
file (APPEND
${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log
"Determining size of ${TYPE} passed with the following output:\n${OUTPUT}\n\n"
)
else ()
message (STATUS "Check size of ${TYPE} - failed")
file (APPEND
${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
"Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n\n"
)
endif ()
endif ()
set (CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS)
endmacro ()