summaryrefslogtreecommitdiffstats
path: root/Tests/PerConfig/perconfig.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-12-17 15:07:19 (GMT)
committerBrad King <brad.king@kitware.com>2010-12-17 15:07:19 (GMT)
commit853de2ed1288dbf891778db30653927d0e223a44 (patch)
tree93a53e32c5d60af84c66c76511c103ab9ee52db1 /Tests/PerConfig/perconfig.cmake
parentd89e238e6c4b22fe3fde0f8e1e7987fb05f13aeb (diff)
parent45e1953c4037d4492668651ae3bbfd6a4a875bc1 (diff)
downloadCMake-853de2ed1288dbf891778db30653927d0e223a44.zip
CMake-853de2ed1288dbf891778db30653927d0e223a44.tar.gz
CMake-853de2ed1288dbf891778db30653927d0e223a44.tar.bz2
Merge branch 'custom-command-generator-expressions' into resolve/tests-if-CYGWIN
The tests-if-CYGWIN topic made a change to Tests/Testing/CMakeLists.txt in code that the custom-command-generator-expressions topic moved to the Tests/PerConfig/CMakeLists.txt file. Make the same change to the same content in the new file. (Only a small part of the file moved so rename detection did not do this automatically.)
Diffstat (limited to 'Tests/PerConfig/perconfig.cmake')
-rw-r--r--Tests/PerConfig/perconfig.cmake40
1 files changed, 40 insertions, 0 deletions
diff --git a/Tests/PerConfig/perconfig.cmake b/Tests/PerConfig/perconfig.cmake
new file mode 100644
index 0000000..4a93acc
--- /dev/null
+++ b/Tests/PerConfig/perconfig.cmake
@@ -0,0 +1,40 @@
+# Print values for human reference.
+foreach(v
+ configuration
+ perconfig_file_dir
+ perconfig_file_name
+ perconfig_file
+ pcStatic_file
+ pcStatic_linker_file
+ pcShared_file
+ pcShared_linker_file
+ pcShared_soname_file
+ )
+ message("${v}=${${v}}")
+endforeach()
+
+# Verify that file names match as expected.
+set(pc_file_components ${perconfig_file_dir}/${perconfig_file_name})
+if(NOT "${pc_file_components}" STREQUAL "${perconfig_file}")
+ message(SEND_ERROR
+ "File components ${pc_file_components} do not match ${perconfig_file}")
+endif()
+if(NOT "${pcStatic_file}" STREQUAL "${pcStatic_linker_file}")
+ message(SEND_ERROR
+ "pcStatic_file does not match pcStatic_linker_file:\n"
+ " ${pcStatic_file}\n"
+ " ${pcStatic_linker_file}\n"
+ )
+endif()
+
+# Verify that the implementation files are named correctly.
+foreach(lib pcStatic pcShared)
+ file(STRINGS "${${lib}_file}" info LIMIT_COUNT 1 REGEX "INFO:[^[]*\\[")
+ if(NOT "${info}" MATCHES ".*INFO:symbol\\[${lib}\\].*")
+ message(SEND_ERROR "No INFO:symbol[${lib}] found in:\n ${${lib}_file}")
+ endif()
+endforeach()
+execute_process(COMMAND ${perconfig_file} RESULT_VARIABLE result)
+if(result)
+ message(SEND_ERROR "Error running:\n ${perconfig_file}\n(${result})")
+endif()