diff options
author | Brad King <brad.king@kitware.com> | 2010-12-07 22:36:24 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-12-15 19:53:33 (GMT) |
commit | 45e1953c4037d4492668651ae3bbfd6a4a875bc1 (patch) | |
tree | 37d90c289495eaeb53aa1d13b18dcbeb93859523 /Tests | |
parent | 4091bca4ecf4a7f9c2099a7d34e125494de60e1c (diff) | |
download | CMake-45e1953c4037d4492668651ae3bbfd6a4a875bc1.zip CMake-45e1953c4037d4492668651ae3bbfd6a4a875bc1.tar.gz CMake-45e1953c4037d4492668651ae3bbfd6a4a875bc1.tar.bz2 |
Factor per-config sample targets out of 'Testing' test
Put the source files, build rules, and test scripts for these targets
under Tests/PerConfig and refer to it from Tests/Testing as a
subdirectory. The targets and scripts will be useful in other tests.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/PerConfig/CMakeLists.txt | 33 | ||||
-rw-r--r-- | Tests/PerConfig/pcShared.c (renamed from Tests/Testing/pcShared.c) | 0 | ||||
-rw-r--r-- | Tests/PerConfig/pcShared.h (renamed from Tests/Testing/pcShared.h) | 0 | ||||
-rw-r--r-- | Tests/PerConfig/pcStatic.c (renamed from Tests/Testing/pcStatic.c) | 0 | ||||
-rw-r--r-- | Tests/PerConfig/perconfig.c (renamed from Tests/Testing/perconfig.c) | 0 | ||||
-rw-r--r-- | Tests/PerConfig/perconfig.cmake (renamed from Tests/Testing/driver.cmake) | 0 | ||||
-rw-r--r-- | Tests/Testing/CMakeLists.txt | 34 |
7 files changed, 36 insertions, 31 deletions
diff --git a/Tests/PerConfig/CMakeLists.txt b/Tests/PerConfig/CMakeLists.txt new file mode 100644 index 0000000..a45abc8 --- /dev/null +++ b/Tests/PerConfig/CMakeLists.txt @@ -0,0 +1,33 @@ +project(PerConfig C) + +# Targets with per-configuration names. +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) + +SET(PerConfig_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 ${PerConfig_SOURCE_DIR}/perconfig.cmake + ) +SET(PerConfig_COMMAND "${PerConfig_COMMAND}" PARENT_SCOPE) diff --git a/Tests/Testing/pcShared.c b/Tests/PerConfig/pcShared.c index b08fadc..b08fadc 100644 --- a/Tests/Testing/pcShared.c +++ b/Tests/PerConfig/pcShared.c diff --git a/Tests/Testing/pcShared.h b/Tests/PerConfig/pcShared.h index 59a6ef4..59a6ef4 100644 --- a/Tests/Testing/pcShared.h +++ b/Tests/PerConfig/pcShared.h diff --git a/Tests/Testing/pcStatic.c b/Tests/PerConfig/pcStatic.c index 7e1bf51..7e1bf51 100644 --- a/Tests/Testing/pcStatic.c +++ b/Tests/PerConfig/pcStatic.c diff --git a/Tests/Testing/perconfig.c b/Tests/PerConfig/perconfig.c index d942d45..d942d45 100644 --- a/Tests/Testing/perconfig.c +++ b/Tests/PerConfig/perconfig.c diff --git a/Tests/Testing/driver.cmake b/Tests/PerConfig/perconfig.cmake index 4a93acc..4a93acc 100644 --- a/Tests/Testing/driver.cmake +++ b/Tests/PerConfig/perconfig.cmake 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}) |