summaryrefslogtreecommitdiffstats
path: root/Tests/Testing
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-12-21 19:03:24 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2010-12-21 19:03:24 (GMT)
commit31b0657e7d4bab3e6c5a00c1318d1c231d8ab44b (patch)
tree5f16dfb9e9d73794a6c791147a6614b8e5492e2a /Tests/Testing
parent533f5a20372829aa41a71ed4698cac2a50820a7e (diff)
parent4499d50ad2df7c1db4335d40f9fa20c642f59a5d (diff)
downloadCMake-31b0657e7d4bab3e6c5a00c1318d1c231d8ab44b.zip
CMake-31b0657e7d4bab3e6c5a00c1318d1c231d8ab44b.tar.gz
CMake-31b0657e7d4bab3e6c5a00c1318d1c231d8ab44b.tar.bz2
Merge topic 'custom-command-generator-expressions'
4499d50 Mark CustomCommand test perconfig.out as SYMBOLIC f0cdb60 Introduce "generator expression" syntax to custom commands (#11209) 4749e4c Record set of targets used in cmGeneratorExpression ef9e9de Optionally suppress errors in cmGeneratorExpression 45e1953 Factor per-config sample targets out of 'Testing' test 4091bca Factor generator expression docs out of add_test bfb7288 Record backtrace in cmCustomCommand
Diffstat (limited to 'Tests/Testing')
-rw-r--r--Tests/Testing/CMakeLists.txt34
-rw-r--r--Tests/Testing/driver.cmake40
-rw-r--r--Tests/Testing/pcShared.c5
-rw-r--r--Tests/Testing/pcShared.h16
-rw-r--r--Tests/Testing/pcStatic.c4
-rw-r--r--Tests/Testing/perconfig.c8
6 files changed, 3 insertions, 104 deletions
diff --git a/Tests/Testing/CMakeLists.txt b/Tests/Testing/CMakeLists.txt
index f857407..815b52b 100644
--- a/Tests/Testing/CMakeLists.txt
+++ b/Tests/Testing/CMakeLists.txt
@@ -53,35 +53,7 @@ ADD_TEST(testing.1 ${Testing_BINARY_DIR}/bin/testing)
#
ADD_SUBDIRECTORY(Sub/Sub2)
-# Per-config target name test.
-ADD_LIBRARY(pcStatic STATIC pcStatic.c)
-SET_PROPERTY(TARGET pcStatic PROPERTY RELEASE_POSTFIX -opt)
-SET_PROPERTY(TARGET pcStatic PROPERTY DEBUG_POSTFIX -dbg)
-ADD_LIBRARY(pcShared SHARED pcShared.c)
-SET_PROPERTY(TARGET pcShared PROPERTY RELEASE_POSTFIX -opt)
-SET_PROPERTY(TARGET pcShared PROPERTY DEBUG_POSTFIX -dbg)
-SET_PROPERTY(TARGET pcShared PROPERTY VERSION 1.2)
-SET_PROPERTY(TARGET pcShared PROPERTY SOVERSION 3)
-IF(NOT WIN32)
- SET(soname_file -DpcShared_soname_file=$<TARGET_SONAME_FILE:pcShared>)
-ENDIF()
-ADD_EXECUTABLE(perconfig perconfig.c)
-TARGET_LINK_LIBRARIES(perconfig pcStatic pcShared)
-SET_PROPERTY(TARGET perconfig PROPERTY RELEASE_POSTFIX -opt)
-SET_PROPERTY(TARGET perconfig PROPERTY DEBUG_POSTFIX -dbg)
+# Per-config target name and generator expressions.
+ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../PerConfig PerConfig)
ADD_TEST(NAME testing.perconfig COMMAND perconfig)
-
-# Test using a driver script with generator expressions.
-ADD_TEST(NAME testing.driver
- COMMAND ${CMAKE_COMMAND}
- -Dconfiguration=$<CONFIGURATION>
- -Dperconfig_file_dir=$<TARGET_FILE_DIR:perconfig>
- -Dperconfig_file_name=$<TARGET_FILE_NAME:perconfig>
- -Dperconfig_file=$<TARGET_FILE:perconfig>
- -DpcStatic_file=$<TARGET_FILE:pcStatic>
- -DpcStatic_linker_file=$<TARGET_LINKER_FILE:pcStatic>
- -DpcShared_file=$<TARGET_FILE:pcShared>
- -DpcShared_linker_file=$<TARGET_LINKER_FILE:pcShared>
- ${soname_file}
- -P ${Testing_SOURCE_DIR}/driver.cmake
- )
+ADD_TEST(NAME testing.driver COMMAND ${PerConfig_COMMAND})
diff --git a/Tests/Testing/driver.cmake b/Tests/Testing/driver.cmake
deleted file mode 100644
index 4a93acc..0000000
--- a/Tests/Testing/driver.cmake
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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()
diff --git a/Tests/Testing/pcShared.c b/Tests/Testing/pcShared.c
deleted file mode 100644
index b08fadc..0000000
--- a/Tests/Testing/pcShared.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "pcShared.h"
-const char* pcShared(void)
-{
- return "INFO:symbol[pcShared]";
-}
diff --git a/Tests/Testing/pcShared.h b/Tests/Testing/pcShared.h
deleted file mode 100644
index 59a6ef4..0000000
--- a/Tests/Testing/pcShared.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef pcShared_h
-#define pcShared_h
-
-#ifdef _WIN32
-# ifdef pcShared_EXPORTS
-# define PC_EXPORT __declspec(dllexport)
-# else
-# define PC_EXPORT __declspec(dllimport)
-# endif
-#else
-# define PC_EXPORT
-#endif
-
-PC_EXPORT const char* pcShared(void);
-
-#endif
diff --git a/Tests/Testing/pcStatic.c b/Tests/Testing/pcStatic.c
deleted file mode 100644
index 7e1bf51..0000000
--- a/Tests/Testing/pcStatic.c
+++ /dev/null
@@ -1,4 +0,0 @@
-const char* pcStatic(void)
-{
- return "INFO:symbol[pcStatic]";
-}
diff --git a/Tests/Testing/perconfig.c b/Tests/Testing/perconfig.c
deleted file mode 100644
index d942d45..0000000
--- a/Tests/Testing/perconfig.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "pcShared.h"
-extern const char* pcStatic(void);
-int main()
-{
- pcStatic();
- pcShared();
- return 0;
-}