blob: 3a66444c105455552ad8b315e1f93ac1a1657483 (
plain)
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
|
# Common CMake macros for post-install tests
include(CTest)
macro(add_test_ldd EXE)
set(EXEPATH ${CMAKE_BINARY_DIR}/${EXE})
if(APPLE)
set(LDD_CL "otool -L")
set(EXPECTED_LDD_CL_OUT "@rpath/libproj")
elseif(UNIX)
set(LDD_CL "ldd")
set(EXPECTED_LDD_CL_OUT "${CMAKE_PREFIX_PATH}/lib/libproj")
elseif(CMAKE_GENERATOR STREQUAL "MSYS Makefiles")
set(LDD_CL "ldd")
# Convert to Unix-style path
execute_process(
COMMAND cygpath -u ${CMAKE_PREFIX_PATH}/bin/libproj
OUTPUT_VARIABLE EXPECTED_LDD_CL_OUT
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
if(LDD_CL)
add_test(NAME test_ldd
COMMAND sh -c "${LDD_CL} ${EXEPATH} | grep proj")
if($ENV{BUILD_MODE} STREQUAL "static")
set_tests_properties(test_ldd PROPERTIES
PASS_REGULAR_EXPRESSION "^$"
FAIL_REGULAR_EXPRESSION "${EXPECTED_LDD_CL_OUT};not found"
)
else()
set_tests_properties(test_ldd PROPERTIES
PASS_REGULAR_EXPRESSION "${EXPECTED_LDD_CL_OUT}"
FAIL_REGULAR_EXPRESSION "not found"
)
endif()
else()
add_test(NAME test_ldd COMMAND ${EXEPATH})
set_tests_properties(test_ldd PROPERTIES SKIP_RETURN_CODE 1)
endif()
endmacro()
macro(add_test_transform EXE)
set(EXEPATH ${CMAKE_BINARY_DIR}/${EXE})
add_test(NAME test_transform COMMAND ${EXEPATH} -t)
set(EXPECTED
"easting: 691875.63, northing: 6098907.83, latitude: 55.00, longitude: 12.00")
set_tests_properties(test_transform PROPERTIES
PASS_REGULAR_EXPRESSION "${EXPECTED}"
)
endmacro()
macro(add_test_searchpath EXE)
set(EXEPATH ${CMAKE_BINARY_DIR}/${EXE})
# data directory property not available, so recreate one
get_filename_component(EXPECTED_SEARCHPATH
"${${USE_PROJ_NAME}_DIR}/../../../share/proj" ABSOLUTE)
if(WIN32)
# Match each '/' with either '\' or '/'
string(REPLACE "/" "[\\/]" EXPECTED_SEARCHPATH "${EXPECTED_SEARCHPATH}")
endif()
add_test(NAME test_searchpath COMMAND ${EXEPATH} -s)
set_tests_properties(test_searchpath PROPERTIES
PASS_REGULAR_EXPRESSION "${EXPECTED_SEARCHPATH}"
)
endmacro()
macro(add_test_version EXE)
set(EXEPATH ${CMAKE_BINARY_DIR}/${EXE})
add_test(NAME test_version COMMAND ${EXEPATH} -v)
set_tests_properties(test_version PROPERTIES
PASS_REGULAR_EXPRESSION "${${USE_PROJ_NAME}_VERSION}"
)
endmacro()
|