diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2015-10-05 07:17:21 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2015-10-05 07:17:21 (GMT) |
commit | 14d1cc2a4ff8ac93a02e79bd5d4c91e05cfa9fb6 (patch) | |
tree | e10e912fa64f1c3ca2c96780e13cecb7debb27e1 /config | |
parent | 376f8390b6df7d3250afc1b059bcd899ca0aee51 (diff) | |
download | hdf5-14d1cc2a4ff8ac93a02e79bd5d4c91e05cfa9fb6.zip hdf5-14d1cc2a4ff8ac93a02e79bd5d4c91e05cfa9fb6.tar.gz hdf5-14d1cc2a4ff8ac93a02e79bd5d4c91e05cfa9fb6.tar.bz2 |
[svn-r27953] Merge of CMake files from the trunk.
r27796, 27803, 27808, 27817, 27823, 27831, 27836, 27846, 27858-27874,
27894-27897, 27901, 27903-27933
Not tested. CMake still basically broken in this branch.
Diffstat (limited to 'config')
-rw-r--r-- | config/cmake/HDF5Macros.cmake | 1 | ||||
-rw-r--r-- | config/cmake/HDF5_Examples.cmake.in | 70 | ||||
-rw-r--r-- | config/cmake/HDF5_Process_Flex_Files.cmake | 84 | ||||
-rw-r--r-- | config/cmake/README.txt.cmake.in | 33 | ||||
-rw-r--r-- | config/cmake/mccacheinit.cmake | 2 | ||||
-rw-r--r-- | config/cmake/userblockTest.cmake | 16 | ||||
-rw-r--r-- | config/cmake/vfdTest.cmake | 4 | ||||
-rw-r--r-- | config/cmake_ext_mod/grepTest.cmake | 10 | ||||
-rw-r--r-- | config/cmake_ext_mod/prunTest.cmake | 30 | ||||
-rw-r--r-- | config/cmake_ext_mod/runTest.cmake | 32 |
10 files changed, 203 insertions, 79 deletions
diff --git a/config/cmake/HDF5Macros.cmake b/config/cmake/HDF5Macros.cmake index 976b910..bd86f34 100644 --- a/config/cmake/HDF5Macros.cmake +++ b/config/cmake/HDF5Macros.cmake @@ -39,5 +39,4 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype) endif (${libtype} MATCHES "SHARED") endif (HDF5_BUILD_FRAMEWORKS) endif (APPLE) - endmacro (H5_SET_LIB_OPTIONS) diff --git a/config/cmake/HDF5_Examples.cmake.in b/config/cmake/HDF5_Examples.cmake.in index d0c0509..65e2e9e 100644 --- a/config/cmake/HDF5_Examples.cmake.in +++ b/config/cmake/HDF5_Examples.cmake.in @@ -1,20 +1,48 @@ cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) ############################################################################################################### -# This script will build and run the examples from a compressed file +# This script will build and run the examples from a folder # Execute from a command line: -# ctest -S HDF5_Examples.cmake,HDF5Examples -C Release -V -O test.log +# ctest -S HDF5_Examples.cmake,OPTION=VALUE -C Release -V -O test.log ############################################################################################################### -set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@") set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@") -set(STATICLIBRARIES "@H5_ENABLE_STATIC_LIB@") -set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG}) set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY}) -set(CTEST_BUILD_CONFIGURATION "Release") -#set(NO_MAC_FORTRAN "true") #set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON") -set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON") -#set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}") + +# handle input parameters to script. +#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) +if(DEFINED CTEST_SCRIPT_ARG) + # transform ctest script arguments of the form + # script.ctest,var1=value1,var2=value2 + # to variables with the respective names set to the respective values + string(REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}") + foreach(current_var ${script_args}) + if ("${current_var}" MATCHES "^([^=]+)=(.+)$") + set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}") + endif() + endforeach() +endif() +if(NOT DEFINED INSTALLDIR) + set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@") +endif() +if(NOT DEFINED CTEST_BUILD_CONFIGURATION) + set(CTEST_BUILD_CONFIGURATION "Release") +endif() +if(NOT DEFINED CTEST_SOURCE_NAME) + set(CTEST_SOURCE_NAME "HDF5Examples") +endif() +if(NOT DEFINED STATICLIBRARIES) + set(STATICLIBRARIES "YES") +endif() + +#TAR_SOURCE - name of tarfile +#if(NOT DEFINED TAR_SOURCE) +# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.1-Source") +#endif() ############################################################################################################### # Adjust the following SET Commands as needed @@ -42,7 +70,7 @@ endif(WIN32) # For any comments please contact cdashhelp@hdfgroup.org # ############################################################################################################### - + #----------------------------------------------------------------------------- # MAC machines need special option #----------------------------------------------------------------------------- @@ -53,14 +81,14 @@ if(APPLE) set(ENV{CC} "${XCODE_CC}") set(ENV{CXX} "${XCODE_CXX}") if(NOT NO_MAC_FORTRAN) - # Shared fortran is not supported, build static + # 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) set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF") endif(NOT NO_MAC_FORTRAN) set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF") endif(APPLE) - + #----------------------------------------------------------------------------- set(CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"") ## -------------------------- @@ -69,19 +97,19 @@ if(CTEST_USE_TAR_SOURCE) ## -------------------------- if(WIN32) message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip]") - execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv) - else(WIN32) + execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv) + else() message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]") - execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv) - endif(WIN32) - + execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv) + endif() + if(NOT rv EQUAL 0) 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(CTEST_USE_TAR_SOURCE) - + #----------------------------------------------------------------------------- ## Clear the build directory ## -------------------------- @@ -104,11 +132,11 @@ endif() set (CTEST_CONFIGURE_COMMAND "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\"" ) - + #----------------------------------------------------------------------------- ## -- set output to english set($ENV{LC_MESSAGES} "en_EN") - + #----------------------------------------------------------------------------- configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake) ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}") @@ -122,5 +150,5 @@ if(res GREATER 0) message (FATAL_ERROR "tests FAILED") endif(res GREATER 0) #----------------------------------------------------------------------------- -############################################################################################################## +############################################################################################################## message(STATUS "DONE")
\ No newline at end of file diff --git a/config/cmake/HDF5_Process_Flex_Files.cmake b/config/cmake/HDF5_Process_Flex_Files.cmake new file mode 100644 index 0000000..2306e93 --- /dev/null +++ b/config/cmake/HDF5_Process_Flex_Files.cmake @@ -0,0 +1,84 @@ +# post process flex/bison files + +message (STATUS "File: ${GEN_DIR} ${FILE_PARSE} ${FILE_ANALYZE}") + +if (FILE_PARSE) + # fix H5LTparse.c to declare H5LTyyparse return type as an hid_t + # instead of int. Currently the generated function H5LTyyparse is + # generated with a return value of type int, which is a mapping to the + # flex yyparse function. The return value in the HL library should be + # an hid_t. + # I propose to not use flex to generate this function, but for now I am + # adding a perl command to find and replace this function declaration in + # H5LTparse.c. + file (READ ${GEN_DIR}/${FILE_PARSE}.c TEST_STREAM) + string (REGEX REPLACE "int yyparse" "hid_t yyparse" TEST_STREAM "${TEST_STREAM}") + string (REGEX REPLACE "int\nyyparse" "hid_t\nyyparse" TEST_STREAM "${TEST_STREAM}") + string (REGEX REPLACE "int H5LTyyparse" "hid_t H5LTyyparse" TEST_STREAM "${TEST_STREAM}") + file (WRITE ${FILE_PARSE}.c "${TEST_STREAM}") + message (STATUS "replacing signature in H5LTparse.c") + + # Add code that disables warnings in the flex/bison-generated code. + # + # Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions + # will simply ignore them, but we want to avoid those warnings. + file (READ ${FILE_PARSE}.c TEST_STREAM) + file (WRITE ${FILE_PARSE}.c " +#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2\n +#pragma GCC diagnostic ignored \"-Wconversion\"\n +#pragma GCC diagnostic ignored \"-Wimplicit-function-declaration\"\n +#pragma GCC diagnostic ignored \"-Wlarger-than=\"\n +#pragma GCC diagnostic ignored \"-Wmissing-prototypes\"\n +#pragma GCC diagnostic ignored \"-Wnested-externs\"\n +#pragma GCC diagnostic ignored \"-Wold-style-definition\"\n +#pragma GCC diagnostic ignored \"-Wsign-compare\"\n +#pragma GCC diagnostic ignored \"-Wsign-conversion\"\n +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"\n +#pragma GCC diagnostic ignored \"-Wswitch-default\"\n +#pragma GCC diagnostic ignored \"-Wunused-function\"\n +#pragma GCC diagnostic ignored \"-Wunused-macros\"\n +#pragma GCC diagnostic ignored \"-Wunused-parameter\"\n +#pragma GCC diagnostic ignored \"-Wredundant-decls\"\n +#elif defined __SUNPRO_CC\n +#pragma disable_warn\n +#elif defined _MSC_VER\n +#pragma warning(push, 1)\n +#endif\n + ") + file (APPEND ${FILE_PARSE}.c "${TEST_STREAM}") + message (STATUS "processed pragma in ${FILE_PARSE}") + file (READ ${GEN_DIR}/${FILE_PARSE}.h TEST_STREAM) + file (WRITE ${FILE_PARSE}.h "${TEST_STREAM}") +endif (FILE_PARSE) + +if (FILE_ANALYZE) + # Add code that disables warnings in the flex/bison-generated code. + # + # Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions + # will simply ignore them, but we want to avoid those warnings. + file (READ ${GEN_DIR}/${FILE_ANALYZE} TEST_STREAM) + file (WRITE ${FILE_ANALYZE} " +#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2\n +#pragma GCC diagnostic ignored \"-Wconversion\"\n +#pragma GCC diagnostic ignored \"-Wimplicit-function-declaration\"\n +#pragma GCC diagnostic ignored \"-Wlarger-than=\"\n +#pragma GCC diagnostic ignored \"-Wmissing-prototypes\"\n +#pragma GCC diagnostic ignored \"-Wnested-externs\"\n +#pragma GCC diagnostic ignored \"-Wold-style-definition\"\n +#pragma GCC diagnostic ignored \"-Wsign-compare\"\n +#pragma GCC diagnostic ignored \"-Wsign-conversion\"\n +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"\n +#pragma GCC diagnostic ignored \"-Wswitch-default\"\n +#pragma GCC diagnostic ignored \"-Wunused-function\"\n +#pragma GCC diagnostic ignored \"-Wunused-macros\"\n +#pragma GCC diagnostic ignored \"-Wunused-parameter\"\n +#pragma GCC diagnostic ignored \"-Wredundant-decls\"\n +#elif defined __SUNPRO_CC\n +#pragma disable_warn\n +#elif defined _MSC_VER\n +#pragma warning(push, 1)\n +#endif\n + ") + file (APPEND ${FILE_ANALYZE} "${TEST_STREAM}") + message (STATUS "processed pragma in ${FILE_ANALYZE}") +endif (FILE_ANALYZE) diff --git a/config/cmake/README.txt.cmake.in b/config/cmake/README.txt.cmake.in index a12c5aa..ec40abe 100644 --- a/config/cmake/README.txt.cmake.in +++ b/config/cmake/README.txt.cmake.in @@ -1,11 +1,11 @@ @HDF5_PACKAGE_NAME@ version @HDF5_PACKAGE_VERSION_STRING@ ------------------------------------------------------------------------------ -This directory contains the binary (release) distribution of +This directory contains the binary (release) distribution of @HDF5_PACKAGE_NAME@ @HDF5_PACKAGE_VERSION_MAJOR@ that was compiled on; - @BINARY_PLATFORM@. + @BINARY_PLATFORM@. -It was built with the following options: +It was built with the following options: -- @LIB_TYPE@ C/C++/Fortran libraries -- SZIP (encoder enabled) and ZLIB -- @LIB_TYPE@ HDF5 tools @@ -24,27 +24,38 @@ Installation After Installation =========================================================================== -The examples folder, HDF5Examples, located in the +The examples folder, HDF5Examples, located in the HDF5 install folder, can be built and tested with CMake and the supplied HDF5_Examples.cmake file. The HDF5_Examples.cmake expects HDF5 to have -been installed in the default location with above compilers. Also, the CMake +been installed in the default location with above compilers. Also, the CMake utility should be installed. To test the installation with the examples; Create a directory to run the examples. Copy HDF5Examples folder to this directory. Copy HDF5_Examples.cmake to this directory. - Edit HDF5_Examples.cmake line 8 to set INSTALLDIR to where HDF5 is installed. - (The default should be correct unless you installed into a different folder.) - Execute from this directory: - ctest -S HDF5_Examples.cmake,HDF5Examples -C Release -V -O test.log + The default source folder is defined as "HDF5Examples". It can be changed + with the CTEST_SOURCE_NAME script option. + The default installation folder is defined as "@CMAKE_INSTALL_PREFIX@". + It can be changed with the INSTALLDIR script option. + The default ctest configuration is defined as "Release". It can be changed + 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". + Other options can be changed by editing the HDF5_Examples.cmake file. + + If the defaults are okay, execute from this directory: + ctest -S HDF5_Examples.cmake -C Release -V -O test.log + If the defaults need change, execute from this directory: + ctest -S HDF5_Examples.cmake,CTEST_SOURCE_NAME=MyExamples,INSTALLDIR=MyLocation -C Release -V -O test.log When executed, the ctest script will save the results to the log file, test.log, as -indicated by the ctest command. If you wish the to see more build and test information, +indicated by the ctest command. If you wish the to see more build and test information, add "-VV" to the ctest command. The output should show; 100% tests passed, 0 tests failed out of 156. -For more information see USING_CMake_Examples.txt in the install folder. +For more information see USING_CMake_Examples.txt in the install folder. =========================================================================== Documentation for this release can be found at the following URL: diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake index 39ec124..19ecc15 100644 --- a/config/cmake/mccacheinit.cmake +++ b/config/cmake/mccacheinit.cmake @@ -4,6 +4,8 @@ # EXTERNAL cache entries ######################## +set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE) + set (BUILD_SHARED_LIBS OFF CACHE BOOL "Build Shared Libraries" FORCE) set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE) diff --git a/config/cmake/userblockTest.cmake b/config/cmake/userblockTest.cmake index 2e0740b..0775cbe 100644 --- a/config/cmake/userblockTest.cmake +++ b/config/cmake/userblockTest.cmake @@ -1,4 +1,4 @@ -# runTest.cmake executes a command and captures the output in a file. File is then compared +# userblockTest.cmake executes a command and captures the output in a file. File is then compared # against a reference file. Exit status of command can also be compared. # arguments checking @@ -48,7 +48,7 @@ if (TEST_CHECKUB STREQUAL "YES") WORKING_DIRECTORY ${TEST_FOLDER} RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_HFILE}.len.txt - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) if (NOT ${TEST_RESULT} STREQUAL "0") @@ -56,9 +56,9 @@ if (TEST_CHECKUB STREQUAL "YES") endif (NOT ${TEST_RESULT} STREQUAL "0") file (READ ${TEST_HFILE}.len.txt TEST_O_STRING_LEN) endif (TEST_OFILE) - + MATH( EXPR TEST_STRING_SIZE "${TEST_U_STRING_LEN} + ${TEST_O_STRING_LEN}" ) - + if (NOT TEST_O_STRING_LEN STREQUAL "0") #$JAM_BIN/getub -c $s2 $origfile > $cmpfile EXECUTE_PROCESS ( @@ -66,13 +66,13 @@ if (TEST_CHECKUB STREQUAL "YES") WORKING_DIRECTORY ${TEST_FOLDER} RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_HFILE}-ub.cmp - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR OUTPUT_STRIP_TRAILING_WHITESPACE ) #cat $ufile >> $cmpfile file (STRINGS ${TEST_UFILE} TEST_STREAM NEWLINE_CONSUME) - file (APPEND ${TEST_HFILE}-ub.cmp "${TEST_STREAM}") + file (APPEND ${TEST_HFILE}-ub.cmp "${TEST_STREAM}") else (NOT TEST_O_STRING_LEN STREQUAL "0") file (STRINGS ${TEST_UFILE} TEST_STREAM NEWLINE_CONSUME) file (WRITE ${TEST_HFILE}-ub.cmp ${TEST_STREAM}) @@ -84,7 +84,7 @@ if (TEST_CHECKUB STREQUAL "YES") WORKING_DIRECTORY ${TEST_FOLDER} RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_HFILE}.cmp - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR OUTPUT_STRIP_TRAILING_WHITESPACE ) @@ -107,7 +107,7 @@ else (TEST_CHECKUB STREQUAL "YES") COMMAND ${TEST_PROGRAM} ${TEST_HFILE} WORKING_DIRECTORY ${TEST_FOLDER} RESULT_VARIABLE TEST_H_STRING_LEN - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) if (NOT TEST_H_STRING_LEN STREQUAL "0") diff --git a/config/cmake/vfdTest.cmake b/config/cmake/vfdTest.cmake index d3cb87e..4685d88 100644 --- a/config/cmake/vfdTest.cmake +++ b/config/cmake/vfdTest.cmake @@ -29,7 +29,7 @@ EXECUTE_PROCESS ( WORKING_DIRECTORY ${TEST_FOLDER} OUTPUT_FILE ${TEST_OUTPUT}_${TEST_VFD}.out ERROR_FILE ${TEST_OUTPUT}_${TEST_VFD}.err - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) @@ -37,7 +37,7 @@ message (STATUS "COMMAND Result: ${TEST_RESULT}") if (ERROR_APPEND) file (READ ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.err TEST_STREAM) - file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out "${TEST_STREAM}") + file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out "${TEST_STREAM}") endif (ERROR_APPEND) # if the return value is !=${TEST_EXPECT} bail out diff --git a/config/cmake_ext_mod/grepTest.cmake b/config/cmake_ext_mod/grepTest.cmake index 5f07134..a090057 100644 --- a/config/cmake_ext_mod/grepTest.cmake +++ b/config/cmake_ext_mod/grepTest.cmake @@ -33,7 +33,7 @@ execute_process ( RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_OUTPUT} ERROR_FILE ${TEST_OUTPUT}.err - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) @@ -44,16 +44,16 @@ message (STATUS "COMMAND Error: ${TEST_ERROR}") file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) # TEST_REFERENCE should always be matched -string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM}) -string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT) +string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM}) +string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT) if (${TEST_RESULT} STREQUAL "0") message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}") endif (${TEST_RESULT} STREQUAL "0") -string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM}) +string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM}) if (${TEST_EXPECT} STREQUAL "1") # TEST_EXPECT (1) interperts TEST_FILTER as NOT to match - string (LENGTH "${TEST_MATCH}" TEST_RESULT) + string (LENGTH "${TEST_MATCH}" TEST_RESULT) if (NOT ${TEST_RESULT} STREQUAL "0") message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}") endif (NOT ${TEST_RESULT} STREQUAL "0") diff --git a/config/cmake_ext_mod/prunTest.cmake b/config/cmake_ext_mod/prunTest.cmake index 3d5ec31..089c203 100644 --- a/config/cmake_ext_mod/prunTest.cmake +++ b/config/cmake_ext_mod/prunTest.cmake @@ -30,7 +30,7 @@ set (ERROR_APPEND 1) message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}") if (TEST_ENV_VAR) - set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}") + set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}") endif (TEST_ENV_VAR) # run the test program, capture the stdout/stderr and the result var @@ -40,7 +40,7 @@ EXECUTE_PROCESS ( RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_OUTPUT} ERROR_FILE ${TEST_OUTPUT}.err - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) @@ -51,49 +51,49 @@ file (WRITE ${TEST_FOLDER}/P_${TEST_REFERENCE} "${TEST_STREAM}") if (ERROR_APPEND) file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM) - file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") + file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (ERROR_APPEND) if (TEST_APPEND) - file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_APPEND} ${TEST_ERROR}\n") + file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_APPEND} ${TEST_ERROR}\n") endif (TEST_APPEND) message (STATUS "COMMAND Error: ${TEST_ERROR}") if (TEST_MASK) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "Storage:[^\n]+\n" "Storage: <details removed for portability>\n" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "Storage:[^\n]+\n" "Storage: <details removed for portability>\n" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_MASK) if (TEST_MASK_MOD) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "Modified:[^\n]+\n" "Modified: XXXX-XX-XX XX:XX:XX XXX\n" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "Modified:[^\n]+\n" "Modified: XXXX-XX-XX XX:XX:XX XXX\n" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_MASK_MOD) if (TEST_MASK_ERROR) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "H5Eset_auto[1-2]*" "H5Eset_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "H5Eset_auto[1-2]*" "H5Eset_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_MASK_ERROR) if (TEST_FILTER) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "${TEST_FILTER}" "" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "${TEST_FILTER}" "" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_FILTER) #if (TEST_REF_FILTER) # message (STATUS "TEST_REF_FILTER: ${TEST_APPEND}${TEST_REF_FILTER}") # file (READ ${TEST_FOLDER}/P_${TEST_REFERENCE} TEST_STREAM) -# STRING(REGEX REPLACE "${TEST_APPEND}" "${TEST_REF_FILTER}" TEST_STREAM "${TEST_STREAM}") +# STRING(REGEX REPLACE "${TEST_APPEND}" "${TEST_REF_FILTER}" TEST_STREAM "${TEST_STREAM}") # file (WRITE ${TEST_FOLDER}/P_${TEST_REFERENCE} "${TEST_STREAM}") #endif (TEST_REF_FILTER) diff --git a/config/cmake_ext_mod/runTest.cmake b/config/cmake_ext_mod/runTest.cmake index bfaae2b..6506183 100644 --- a/config/cmake_ext_mod/runTest.cmake +++ b/config/cmake_ext_mod/runTest.cmake @@ -32,7 +32,7 @@ endif (NOT TEST_ERRREF) message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}") if (TEST_ENV_VAR) - set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}") + set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}") endif (TEST_ENV_VAR) if (NOT TEST_INPUT) @@ -43,7 +43,7 @@ if (NOT TEST_INPUT) RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_OUTPUT} ERROR_FILE ${TEST_OUTPUT}.err - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) else (NOT TEST_INPUT) @@ -55,7 +55,7 @@ else (NOT TEST_INPUT) INPUT_FILE ${TEST_INPUT} OUTPUT_FILE ${TEST_OUTPUT} ERROR_FILE ${TEST_OUTPUT}.err - OUTPUT_VARIABLE TEST_ERROR + OUTPUT_VARIABLE TEST_OUT ERROR_VARIABLE TEST_ERROR ) endif (NOT TEST_INPUT) @@ -64,11 +64,11 @@ message (STATUS "COMMAND Result: ${TEST_RESULT}") if (ERROR_APPEND) file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM) - file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") + file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (ERROR_APPEND) if (TEST_APPEND) - file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_APPEND} ${TEST_RESULT}\n") + file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_APPEND} ${TEST_RESULT}\n") endif (TEST_APPEND) # if the return value is !=${TEST_EXPECT} bail out @@ -80,13 +80,13 @@ message (STATUS "COMMAND Error: ${TEST_ERROR}") if (TEST_MASK) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "Storage:[^\n]+\n" "Storage: <details removed for portability>\n" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "Storage:[^\n]+\n" "Storage: <details removed for portability>\n" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_MASK) if (TEST_MASK_MOD) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "Modified:[^\n]+\n" "Modified: XXXX-XX-XX XX:XX:XX XXX\n" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "Modified:[^\n]+\n" "Modified: XXXX-XX-XX XX:XX:XX XXX\n" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_MASK_MOD) @@ -96,13 +96,13 @@ if (TEST_MASK_ERROR) else (NOT TEST_ERRREF) file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM) endif (NOT TEST_ERRREF) - STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") - STRING(REGEX REPLACE "H5Eset_auto[1-2]*" "H5Eset_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "H5Eset_auto[1-2]*" "H5Eset_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}") if (NOT TEST_ERRREF) file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") else (NOT TEST_ERRREF) @@ -112,7 +112,7 @@ endif (TEST_MASK_ERROR) if (TEST_FILTER) file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) - STRING(REGEX REPLACE "${TEST_FILTER}" "" TEST_STREAM "${TEST_STREAM}") + STRING(REGEX REPLACE "${TEST_FILTER}" "" TEST_STREAM "${TEST_STREAM}") file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}") endif (TEST_FILTER) @@ -157,7 +157,7 @@ if (NOT TEST_SKIP_COMPARE) if (NOT ${TEST_RESULT} STREQUAL 0) message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}") endif (NOT ${TEST_RESULT} STREQUAL 0) - + if (TEST_ERRREF) if (WIN32 AND NOT MINGW) file (READ ${TEST_FOLDER}/${TEST_ERRREF} TEST_STREAM) |