Updated formatting of documentation plus a little reorganization.
[cmake.git] / Tests / Testing / driver.cmake
blob4a93acc6cf0623dbc0b1b041bb395633cedc0329
1 # Print values for human reference.
2 foreach(v
3     configuration
4     perconfig_file_dir
5     perconfig_file_name
6     perconfig_file
7     pcStatic_file
8     pcStatic_linker_file
9     pcShared_file
10     pcShared_linker_file
11     pcShared_soname_file
12     )
13   message("${v}=${${v}}")
14 endforeach()
16 # Verify that file names match as expected.
17 set(pc_file_components ${perconfig_file_dir}/${perconfig_file_name})
18 if(NOT "${pc_file_components}" STREQUAL "${perconfig_file}")
19   message(SEND_ERROR
20     "File components ${pc_file_components} do not match ${perconfig_file}")
21 endif()
22 if(NOT "${pcStatic_file}" STREQUAL "${pcStatic_linker_file}")
23   message(SEND_ERROR
24     "pcStatic_file does not match pcStatic_linker_file:\n"
25     "  ${pcStatic_file}\n"
26     "  ${pcStatic_linker_file}\n"
27     )
28 endif()
30 # Verify that the implementation files are named correctly.
31 foreach(lib pcStatic pcShared)
32   file(STRINGS "${${lib}_file}" info LIMIT_COUNT 1 REGEX "INFO:[^[]*\\[")
33   if(NOT "${info}" MATCHES ".*INFO:symbol\\[${lib}\\].*")
34     message(SEND_ERROR "No INFO:symbol[${lib}] found in:\n  ${${lib}_file}")
35   endif()
36 endforeach()
37 execute_process(COMMAND ${perconfig_file} RESULT_VARIABLE result)
38 if(result)
39   message(SEND_ERROR "Error running:\n  ${perconfig_file}\n(${result})")
40 endif()