mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-19 16:50:46 +08:00
[svn-r28158] Merge from CMAMKE_EXT_MOD repo.
Add VS2015 support.
This commit is contained in:
parent
83d7feb63c
commit
78c820b1ee
@ -1,8 +1,8 @@
|
||||
##########################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2013, VS201364, VS2012, VS201264] ###
|
||||
### ctest -S HDF518config.cmake,BUILD_GENERATOR=VS201264 -C Release -V -O hdf518.log ###
|
||||
##########################################################################################
|
||||
#############################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2015, VS201564, VS2013, VS201364, VS2012, VS201264] ###
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201264 -C Release -V -O hdf519.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
############################################################################
|
||||
@ -22,6 +22,7 @@ cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
# CTEST_BUILD_CONFIGURATION - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
# STATIC_LIBRARIES - Build/use static libraries
|
||||
# FORTRAN_LIBRARIES - Build/use fortran libraries
|
||||
# NO_MAC_FORTRAN - Yes to be SHARED on a Mac
|
||||
##############################################################################
|
||||
|
||||
@ -31,7 +32,7 @@ set(CTEST_SOURCE_VERSEXT "")
|
||||
##############################################################################
|
||||
# handle input parameters to script.
|
||||
#BUILD_GENERATOR - which CMake generator to use, required
|
||||
#INSTALLDIR - HDF5-1.8 root folder
|
||||
#INSTALLDIR - HDF5-1.9 root folder
|
||||
#CTEST_BUILD_CONFIGURATION - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.9
|
||||
#STATIC_LIBRARIES - Default is YES
|
||||
@ -196,12 +197,8 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING
|
||||
#### fortran ####
|
||||
if(${FORTRANLIBRARIES})
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
|
||||
else()
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF")
|
||||
endif()
|
||||
|
||||
### disable test program builds
|
||||
|
@ -31,13 +31,13 @@ if (APPLE)
|
||||
endif (APPLE)
|
||||
|
||||
# Check for Darwin (not just Apple - we also want to catch OpenDarwin)
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set (${HDF_PREFIX}_HAVE_DARWIN 1)
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set (${HDF_PREFIX}_HAVE_DARWIN 1)
|
||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
|
||||
# Check for Solaris
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (${HDF_PREFIX}_HAVE_SOLARIS 1)
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (${HDF_PREFIX}_HAVE_SOLARIS 1)
|
||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -90,7 +90,9 @@ if (WINDOWS)
|
||||
endif (NOT UNIX AND NOT CYGWIN AND NOT MINGW)
|
||||
set (${HDF_PREFIX}_HAVE_FUNCTION 1)
|
||||
set (${HDF_PREFIX}_GETTIMEOFDAY_GIVES_TZ 1)
|
||||
set (${HDF_PREFIX}_HAVE_TIMEZONE 1)
|
||||
if (MSVC_VERSION LESS 1900)
|
||||
set (${HDF_PREFIX}_HAVE_TIMEZONE 1)
|
||||
endif (MSVC_VERSION LESS 1900)
|
||||
set (${HDF_PREFIX}_HAVE_GETTIMEOFDAY 1)
|
||||
if (MINGW)
|
||||
set (${HDF_PREFIX}_HAVE_WINSOCK2_H 1)
|
||||
@ -640,7 +642,7 @@ if (WINDOWS)
|
||||
"${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif (LARGEFILE)
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
|
||||
@ -672,7 +674,7 @@ if (WINDOWS)
|
||||
if ("${HAVE_IOEO_EXITCODE}" EQUAL 0)
|
||||
set (${HDF_PREFIX}_HAVE_IOEO 1 CACHE INTERNAL "Test InitOnceExecuteOnce")
|
||||
message (STATUS "Performing Test InitOnceExecuteOnce - Success")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Performing C SOURCE FILE Test InitOnceExecuteOnce succeded with the following output:\n"
|
||||
"${OUTPUT}\n"
|
||||
"Return value: ${HAVE_IOEO}\n")
|
||||
@ -684,7 +686,7 @@ if (WINDOWS)
|
||||
endif (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN")
|
||||
|
||||
message (STATUS "Performing Test InitOnceExecuteOnce - Failed")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Performing InitOnceExecuteOnce Test failed with the following output:\n"
|
||||
"${OUTPUT}\n"
|
||||
"Return value: ${HAVE_IOEO_EXITCODE}\n")
|
||||
@ -721,35 +723,34 @@ endif (INLINE_TEST___inline__)
|
||||
if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "unknown")
|
||||
set (PRINT_LL_FOUND 0)
|
||||
message (STATUS "Checking for appropriate format for 64 bit long:")
|
||||
foreach (HDF5_PRINTF_LL l64 l L q I64 ll)
|
||||
set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH=${HDF5_PRINTF_LL}")
|
||||
if (${HDF_PREFIX}_SIZEOF_LONG_LONG)
|
||||
set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG")
|
||||
endif (${HDF_PREFIX}_SIZEOF_LONG_LONG)
|
||||
TRY_RUN (HDF5_PRINTF_LL_TEST_RUN HDF5_PRINTF_LL_TEST_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH")
|
||||
if (${HDF_PREFIX}_SIZEOF_LONG_LONG)
|
||||
set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG")
|
||||
endif (${HDF_PREFIX}_SIZEOF_LONG_LONG)
|
||||
TRY_RUN (${HDF_PREFIX}_PRINTF_LL_TEST_RUN ${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
string(REGEX REPLACE ".*PRINTF_LL_WIDTH=\\[(.*)\\].*" "\\1" ${HDF_PREFIX}_PRINTF_LL "${OUTPUT}")
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${${HDF_PREFIX}_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
|
||||
set (PRINT_LL_FOUND 1)
|
||||
else (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
message ("Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
|
||||
endif (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
else (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed with the following output:\n ${OUTPUT}\n"
|
||||
)
|
||||
if (HDF5_PRINTF_LL_TEST_COMPILE)
|
||||
if (HDF5_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${HDF5_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
|
||||
set (PRINT_LL_FOUND 1)
|
||||
else (HDF5_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
message ("Width with ${HDF5_PRINTF_LL} failed with result: ${HDF5_PRINTF_LL_TEST_RUN}")
|
||||
endif (HDF5_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
else (HDF5_PRINTF_LL_TEST_COMPILE)
|
||||
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH for ${HDF5_PRINTF_LL} failed with the following output:\n ${OUTPUT}\n"
|
||||
)
|
||||
endif (HDF5_PRINTF_LL_TEST_COMPILE)
|
||||
endforeach (HDF5_PRINTF_LL)
|
||||
endif (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
|
||||
if (PRINT_LL_FOUND)
|
||||
message (STATUS "Checking for apropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}")
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}")
|
||||
else (PRINT_LL_FOUND)
|
||||
message (STATUS "Checking for apropriate format for 64 bit long: not found")
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: not found")
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"unknown\"" CACHE INTERNAL
|
||||
"Width for printf for type `long long' or `__int64', us. `ll"
|
||||
)
|
||||
|
@ -213,7 +213,7 @@ SIMPLE_TEST(struct stat sb; sb.st_blocks=0);
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char *llwidthArgs[] = { "l64", "l", "L", "q", "ll", NULL };
|
||||
char *llwidthArgs[] = { "I64", "l64", "l", "L", "q", "ll", NULL };
|
||||
char *s = malloc(128);
|
||||
char **currentArg = NULL;
|
||||
LL_TYPE x = (LL_TYPE)1048576 * (LL_TYPE)1048576;
|
||||
|
@ -637,18 +637,18 @@ build and test process.
|
||||
VIII. Options for Platform Configuration Files
|
||||
========================================================================
|
||||
|
||||
Below is the HDF518config.cmake ctest script with extra comments.
|
||||
Below is the HDF5config.cmake ctest script with extra comments.
|
||||
Execute:
|
||||
ctest -S HDF518config.cmake,BUILD_GENERATOR=xxx -C Release -V -O hdf518.log
|
||||
ctest -S HDF5config.cmake,BUILD_GENERATOR=xxx -C Release -V -O hdf5.log
|
||||
The same scripts can be used on Linux, Mac OSX or a Windows machine by
|
||||
adding an option (${CTEST_SCRIPT_ARG}) to the platform configuration script.
|
||||
|
||||
|
||||
##########################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2013, VS201364, VS2012, VS201264] ###
|
||||
### ctest -S HDF518config.cmake,BUILD_GENERATOR=VS201264 -C Release -V -O hdf518.log ###
|
||||
##########################################################################################
|
||||
#############################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2015, VS201564, VS2013, VS201364, VS2012, VS201264] ###
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201264 -C Release -V -O hdf519.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
############################################################################
|
||||
@ -657,6 +657,8 @@ cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
# where valid options for OPTION are:
|
||||
# BUILD_GENERATOR - The cmake build generator:
|
||||
# Unix * Unix Makefiles
|
||||
# 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
|
||||
@ -665,7 +667,8 @@ cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
# INSTALLDIR - root folder where hdf5 is installed
|
||||
# CTEST_BUILD_CONFIGURATION - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
# STATICLIBRARIES - Build/use static libraries
|
||||
# STATIC_LIBRARIES - Build/use static libraries
|
||||
# FORTRAN_LIBRARIES - Build/use fortran libraries
|
||||
# NO_MAC_FORTRAN - Yes to be SHARED on a Mac
|
||||
##############################################################################
|
||||
|
||||
@ -678,7 +681,8 @@ set(CTEST_SOURCE_VERSEXT "")
|
||||
#INSTALLDIR - HDF5-1.9 root folder
|
||||
#CTEST_BUILD_CONFIGURATION - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.9
|
||||
#STATICLIBRARIES - Default is YES
|
||||
#STATIC_LIBRARIES - Default is YES
|
||||
#FORTRAN_LIBRARIES - Default is NO
|
||||
#NO_MAC_FORTRAN - set to TRUE to allow shared libs on a Mac
|
||||
if(DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
@ -698,6 +702,10 @@ if(NOT DEFINED BUILD_GENERATOR)
|
||||
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")
|
||||
@ -724,10 +732,10 @@ endif()
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set(CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
endif()
|
||||
if(NOT DEFINED STATICLIBRARIES)
|
||||
if(NOT DEFINED STATIC_LIBRARIES)
|
||||
set(STATICLIBRARIES "YES")
|
||||
endif()
|
||||
if(NOT DEFINED FORTRANLIBRARIES)
|
||||
if(NOT DEFINED FORTRAN_LIBRARIES)
|
||||
set(FORTRANLIBRARIES "NO")
|
||||
endif()
|
||||
|
||||
@ -802,12 +810,12 @@ set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5/trunk")
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ")
|
||||
|
||||
###################################################################
|
||||
if(STATICLIBRARIES)
|
||||
if(${STATICLIBRARIES})
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
|
||||
######### Following describes computer ############
|
||||
## following is optional to describe build ##
|
||||
set(SITE_BUILDNAME_SUFFIX "STATIC")
|
||||
endif(STATICLIBRARIES)
|
||||
endif()
|
||||
###################################################################
|
||||
|
||||
### uncomment/comment and change the following lines for other configuration options
|
||||
@ -825,11 +833,11 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
|
||||
#### fortran ####
|
||||
if(FORTRANLIBRARIES)
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
|
||||
endif(FORTRANLIBRARIES)
|
||||
if(${FORTRANLIBRARIES})
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON")
|
||||
else()
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
||||
endif()
|
||||
|
||||
### disable test program builds
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
||||
|
@ -38,7 +38,7 @@ II. Building HDF5 Examples with CMake
|
||||
|
||||
Files in the HDF5 install directory:
|
||||
HDF5Examples folder
|
||||
HDF518_Examples.cmake
|
||||
HDF5_Examples.cmake
|
||||
|
||||
Default installation process:
|
||||
Create a directory to run the examples, i.e. \test_hdf5.
|
||||
@ -52,7 +52,7 @@ Default installation process:
|
||||
with the CTEST_BUILD_CONFIGURATION script option. Note that this must
|
||||
be the same as the value used with the -C command line option.
|
||||
The default build configuration is defined to build and use static libraries.
|
||||
Shared libraries can be used with the STATICLIBRARIES script option set to "NO".
|
||||
Shared libraries can be used with the STATIC_LIBRARIES script option set to "NO".
|
||||
Other options can be changed by editing the HDF5_Examples.cmake file.
|
||||
|
||||
If the defaults are okay, execute from this directory:
|
||||
@ -67,11 +67,9 @@ Default installation process:
|
||||
|
||||
|
||||
========================================================================
|
||||
III. Other changes to the HDF518_Examples.cmake file
|
||||
III. Other changes to the HDF5_Examples.cmake file
|
||||
========================================================================
|
||||
|
||||
Line 10: uncomment to build and test Fortran examples.
|
||||
|
||||
Line 43-45: uncomment to use a source tarball or zipfile;
|
||||
Line 45-48: uncomment to use a source tarball or zipfile;
|
||||
Add script option "TAR_SOURCE=MySource.tar".
|
||||
|
||||
|
@ -207,7 +207,7 @@ IV. APPENDIX
|
||||
========================================================================
|
||||
|
||||
Below is an example of a ctest script that can be used to build the examples.
|
||||
Adjust the values as necessary. Note that the source folder is entered on the
|
||||
Adjust the values as necessary. Note that the defaults can be entered on the
|
||||
command line and the build folder is created as a sub-folder. Windows should
|
||||
adjust the forward slash to double backslashes, except for the HDF_DIR
|
||||
environment variable.
|
||||
@ -215,39 +215,31 @@ environment variable.
|
||||
NOTE: this file is available at the HDF web site:
|
||||
http://www.hdfgroup.org/HDF5/release/cmakebuild.html
|
||||
|
||||
HDF518_Examples.cmake
|
||||
HDF5_Examples.cmake
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
ctest
|
||||
========================================================================
|
||||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
|
||||
############################################################################
|
||||
# Product specific script, HDF518_Examples.cmake. Usage:
|
||||
# ctest -S HDF518_Examples.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
# where valid options for OPTION are:
|
||||
# BUILD_GENERATOR - The cmake build generator:
|
||||
# Unix * Unix Makefiles
|
||||
# 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 hdf5 is installed
|
||||
# CTEST_BUILD_CONFIGURATION - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
# STATICLIBRARIES - Build/use static libraries
|
||||
# NO_MAC_FORTRAN - Yes to be SHARED on a Mac
|
||||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
###############################################################################################################
|
||||
# This script will build and run the examples from a folder
|
||||
# Execute from a command line:
|
||||
# ctest -S HDF5_Examples.cmake,OPTION=VALUE -C Release -V -O test.log
|
||||
###############################################################################################################
|
||||
|
||||
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
|
||||
# handle input parameters to script.
|
||||
#BUILD_GENERATOR - which CMake generator to use, required
|
||||
#INSTALLDIR - HDF5-1.8 root folder
|
||||
#INSTALLDIR - HDF5 root folder
|
||||
#CTEST_BUILD_CONFIGURATION - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF4Examples
|
||||
#STATICLIBRARIES - Default is YES
|
||||
#NO_MAC_FORTRAN - set to TRUE to allow shared libs on a Mac
|
||||
#STATIC_LIBRARIES - Default is YES
|
||||
#FORTRAN_LIBRARIES - Default is NO
|
||||
##NO_MAC_FORTRAN - set to TRUE to allow shared libs on a Mac)
|
||||
if(DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
@ -259,34 +251,8 @@ if(DEFINED CTEST_SCRIPT_ARG)
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# build generator must be defined
|
||||
if(NOT DEFINED BUILD_GENERATOR)
|
||||
message(FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2013, VS201364, VS2012, or VS201264")
|
||||
else()
|
||||
if(${BUILD_GENERATOR} STREQUAL "Unix")
|
||||
set(CMAKE_GENERATOR "Unix Makefiles")
|
||||
elseif(${BUILD_GENERATOR} STREQUAL "VS2013")
|
||||
set(CMAKE_GENERATOR "Visual Studio 12 2013")
|
||||
elseif(${BUILD_GENERATOR} STREQUAL "VS201364")
|
||||
set(CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
|
||||
elseif(${BUILD_GENERATOR} STREQUAL "VS2012")
|
||||
set(CMAKE_GENERATOR "Visual Studio 11 2012")
|
||||
elseif(${BUILD_GENERATOR} STREQUAL "VS201264")
|
||||
set(CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
|
||||
else()
|
||||
message(FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2013, VS201364, VS2012, or VS201264")
|
||||
endif()
|
||||
endif()
|
||||
set(CTEST_CMAKE_GENERATOR "${CMAKE_GENERATOR}")
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
|
||||
if(NOT DEFINED INSTALLDIR)
|
||||
if(WIN32)
|
||||
set(INSTALLDIR "/usr/local/myhdf5")
|
||||
else()
|
||||
set(INSTALLDIR "C:\\Program\ Files\\myhdf5")
|
||||
endif()
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
endif()
|
||||
if(NOT DEFINED CTEST_BUILD_CONFIGURATION)
|
||||
set(CTEST_BUILD_CONFIGURATION "Release")
|
||||
@ -294,43 +260,45 @@ endif()
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set(CTEST_SOURCE_NAME "HDF5Examples")
|
||||
endif()
|
||||
if(NOT DEFINED STATICLIBRARIES)
|
||||
if(NOT DEFINED STATIC_LIBRARIES)
|
||||
set(STATICLIBRARIES "YES")
|
||||
endif()
|
||||
if(NOT DEFINED FORTRANLIBRARIES)
|
||||
if(NOT DEFINED FORTRAN_LIBRARIES)
|
||||
set(FORTRANLIBRARIES "NO")
|
||||
endif()
|
||||
|
||||
#TAR_SOURCE - name of tarfile
|
||||
#if(NOT DEFINED TAR_SOURCE)
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.2.1-Source")
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.1-Source")
|
||||
#endif()
|
||||
|
||||
###############################################################################################################
|
||||
# Adjust the following SET Commands as needed
|
||||
###############################################################################################################
|
||||
if(FORTRANLIBRARIES)
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
|
||||
endif(FORTRANLIBRARIES)
|
||||
|
||||
if(WIN32)
|
||||
if(STATICLIBRARIES)
|
||||
if(${STATICLIBRARIES})
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
|
||||
endif(STATICLIBRARIES)
|
||||
endif()
|
||||
set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake")
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else(WIN32)
|
||||
if(STATICLIBRARIES)
|
||||
if(${STATICLIBRARIES})
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
|
||||
endif(STATICLIBRARIES)
|
||||
endif()
|
||||
set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake")
|
||||
set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif(WIN32)
|
||||
if(${FORTRANLIBRARIES})
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
|
||||
else()
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF")
|
||||
endif()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
||||
|
||||
###############################################################################################################
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
@ -349,11 +317,11 @@ if(APPLE)
|
||||
if(NOT NO_MAC_FORTRAN)
|
||||
# Shared fortran is not supported, build static
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
|
||||
else(NOT NO_MAC_FORTRAN)
|
||||
else()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF")
|
||||
endif(NOT NO_MAC_FORTRAN)
|
||||
endif()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
|
||||
endif(APPLE)
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
set(CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
|
||||
@ -373,7 +341,7 @@ if(CTEST_USE_TAR_SOURCE)
|
||||
message(STATUS "extracting... [error-(${rv}) clean up]")
|
||||
file(REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
|
||||
message(FATAL_ERROR "error: extract of ${CTEST_SOURCE_NAME} failed")
|
||||
endif(NOT rv EQUAL 0)
|
||||
endif()
|
||||
endif(CTEST_USE_TAR_SOURCE)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -382,9 +350,9 @@ endif(CTEST_USE_TAR_SOURCE)
|
||||
set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
||||
else (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
else ()
|
||||
file(MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
endif (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
endif ()
|
||||
|
||||
# Use multiple CPU cores to build
|
||||
include(ProcessorCount)
|
||||
@ -392,7 +360,7 @@ ProcessorCount(N)
|
||||
if(NOT N EQUAL 0)
|
||||
if(NOT WIN32)
|
||||
set(CTEST_BUILD_FLAGS -j${N})
|
||||
endif(NOT WIN32)
|
||||
endif()
|
||||
set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
|
||||
endif()
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
@ -414,9 +382,9 @@ ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
|
||||
if(res GREATER 0)
|
||||
message (FATAL_ERROR "tests FAILED")
|
||||
endif(res GREATER 0)
|
||||
endif()
|
||||
#-----------------------------------------------------------------------------
|
||||
#################################################################################
|
||||
##############################################################################################################
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user