Skip to content

Latest commit

 

History

History
108 lines (103 loc) · 4.25 KB

TiffTestCommon.cmake

File metadata and controls

108 lines (103 loc) · 4.25 KB
 
Oct 22, 2017
Oct 22, 2017
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# CMake tests for libtiff (common functionality)
#
# Copyright © 2015 Open Microscopy Environment / University of Dundee
# Written by Roger Leigh <rleigh@codelibre.net>
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Sam Leffler and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
# Test a simple convert-like command.
#
# test_convert command infile outfile
macro(test_convert command infile outfile)
file(TO_NATIVE_PATH "${infile}" native_infile)
file(TO_NATIVE_PATH "${outfile}" native_outfile)
file(REMOVE "${outfile}")
message(STATUS Running "${MEMCHECK} ${command} ${native_infile} ${native_outfile}")
execute_process(COMMAND ${MEMCHECK} ${command} "${native_infile}" "${native_outfile}"
RESULT_VARIABLE TEST_STATUS)
if(TEST_STATUS)
message(FATAL_ERROR "Returned failed status ${TEST_STATUS}! Output (if any) is in \"${native_outfile}\"")
endif()
endmacro()
#
# Test a simple convert-like command.
#
# test_convert command infile outfile
macro(test_convert_multi command infile outfile)
foreach(file ${infile})
file(TO_NATIVE_PATH "${file}" native_file)
list(APPEND native_infile "${native_file}")
endforeach()
file(TO_NATIVE_PATH "${outfile}" native_outfile)
file(REMOVE "${outfile}")
message(STATUS Running "${MEMCHECK} ${command} ${native_infile} ${native_outfile}")
execute_process(COMMAND ${MEMCHECK} ${command} ${native_infile} "${native_outfile}"
RESULT_VARIABLE TEST_STATUS)
if(TEST_STATUS)
message(FATAL_ERROR "Returned failed status ${TEST_STATUS}! Output (if any) is in \"${native_outfile}\"")
endif()
endmacro()
#
# Test a simple command which sends output to stdout
#
# test_stdout command infile outfile
macro(test_stdout command infile outfile)
file(TO_NATIVE_PATH "${infile}" native_infile)
file(TO_NATIVE_PATH "${outfile}" native_outfile)
file(REMOVE "${outfile}")
message(STATUS "Running ${MEMCHECK} ${command} ${native_infile} > ${native_outfile}")
execute_process(COMMAND ${MEMCHECK} ${command} "${native_infile}"
OUTPUT_FILE "${outfile}"
RESULT_VARIABLE TEST_STATUS)
if(TEST_STATUS)
message(FATAL_ERROR "Returned failed status ${TEST_STATUS}! Output (if any) is in \"${native_outfile}")
endif()
endmacro()
#
# Execute a simple command (e.g. tiffinfo) with one input file
#
# test_exec command infile
macro(test_reader command infile)
file(TO_NATIVE_PATH "${infile}" native_infile)
message(STATUS "Running ${MEMCHECK} ${command} ${native_infile}")
execute_process(COMMAND ${MEMCHECK} ${command} "${native_infile}"
RESULT_VARIABLE TEST_STATUS)
if(TEST_STATUS)
message(FATAL_ERROR "Returned failed status ${TEST_STATUS}! Output (if any) is in \"${native_outfile}")
endif()
endmacro()
#
# Execute tiffinfo on a specified file to validate it
#
# tiffinfo_validate infile
macro(tiffinfo_validate file)
test_reader("${TIFFINFO};-D" "${file}")
endmacro()
# Add the directory containing libtiff to the PATH (Windows only)
if(WIN32)
get_filename_component(LIBTIFF_DIR "${LIBTIFF}" DIRECTORY)
file(TO_NATIVE_PATH "${LIBTIFF_DIR}" LIBTIFF_DIR)
set(ENV{PATH} "${LIBTIFF_DIR};$ENV{PATH}")
endif()
Nov 4, 2018
Nov 4, 2018
104
105
106
107
108
if(CYGWIN)
get_filename_component(LIBTIFF_DIR "${LIBTIFF}" DIRECTORY)
file(TO_NATIVE_PATH "${LIBTIFF_DIR}" LIBTIFF_DIR)
set(ENV{PATH} "${LIBTIFF_DIR}:$ENV{PATH}")
endif()