diff options
author | Brad King <brad.king@kitware.com> | 2011-12-23 20:34:19 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2011-12-23 21:16:52 (GMT) |
commit | 49d6dd67f1c2b3d21a47c28f6e0908062f300e4f (patch) | |
tree | dad5ebfe6b620f4e166eb1d80a971ff616eaa02d /Tests/Complex | |
parent | 76ac88b730f32dcdef80216766b3eaecb6257ed6 (diff) | |
download | CMake-49d6dd67f1c2b3d21a47c28f6e0908062f300e4f.zip CMake-49d6dd67f1c2b3d21a47c28f6e0908062f300e4f.tar.gz CMake-49d6dd67f1c2b3d21a47c28f6e0908062f300e4f.tar.bz2 |
complex: Simplify test for single-character exe name
Run the test executable as a custom command instead of depending on
cmSystemTools::RunSingleCommand.
Diffstat (limited to 'Tests/Complex')
-rw-r--r-- | Tests/Complex/Executable/A.cxx | 4 | ||||
-rw-r--r-- | Tests/Complex/Executable/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/Complex/Executable/complex.cxx | 42 |
3 files changed, 13 insertions, 37 deletions
diff --git a/Tests/Complex/Executable/A.cxx b/Tests/Complex/Executable/A.cxx index 0cc995a..fb3eb08 100644 --- a/Tests/Complex/Executable/A.cxx +++ b/Tests/Complex/Executable/A.cxx @@ -1,7 +1,9 @@ // Include code from a header that should not be compiled separately. #include "A.hh" +#include <stdio.h> int main() { - return A(); + printf("#define A_VALUE %d\n", A()); + return 0; } diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index 1f0b999..c76944f 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/Tests/Complex/Executable/CMakeLists.txt @@ -55,8 +55,10 @@ SET_SOURCE_FILES_PROPERTIES(complex_nobuild.cxx PROPERTIES SET_SOURCE_FILES_PROPERTIES(complex_nobuild.c PROPERTIES HEADER_FILE_ONLY 1) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) ADD_EXECUTABLE(A A.cxx A.hh A.h A.txt) -ADD_EXECUTABLE(complex complex testcflags.c ) +ADD_CUSTOM_COMMAND(OUTPUT Aout.h COMMAND A > Aout.h VERBATIM) +ADD_EXECUTABLE(complex complex testcflags.c Aout.h) # Sub1/NameConflictTest.c Sub2/NameConflictTest.c) ADD_EXECUTABLE(complex.file complex.file.cxx complex_nobuild.cxx complex_nobuild.c) diff --git a/Tests/Complex/Executable/complex.cxx b/Tests/Complex/Executable/complex.cxx index 643b812..77406aa 100644 --- a/Tests/Complex/Executable/complex.cxx +++ b/Tests/Complex/Executable/complex.cxx @@ -3,6 +3,7 @@ #include "cmTestGeneratedHeader.h" #include "cmVersion.h" #include "ExtraSources/file1.h" +#include "Aout.h" #include "file2.h" #include "sharedFile.h" extern "C" { @@ -148,42 +149,7 @@ extern "C" int NameConflictTest2(); int main() { - std::string exe = BINARY_DIR; - exe += "/bin/"; -#ifdef CMAKE_INTDIR - exe += CMAKE_INTDIR; - exe += "/"; -#endif - #ifdef COMPLEX_TEST_CMAKELIB - // Test a single character executable to test a: in makefiles - exe += "A"; - exe += cmSystemTools::GetExecutableExtension(); - int ret; - std::string errorMessage; - exe = cmSystemTools::ConvertToRunCommandPath(exe.c_str()); - if(cmSystemTools::RunSingleCommand(exe.c_str(), 0, &ret)) - { - if(ret != 10) - { - errorMessage += exe; - errorMessage += " did not return 10"; - } - } - else - { - errorMessage += exe; - errorMessage += ": failed to run."; - } - if(errorMessage.size()) - { - cmFailed(errorMessage.c_str()); - } - else - { - cmPassed("run Single Character executable A returned 10 as expected."); - } - // ---------------------------------------------------------------------- // Test cmSystemTools::UpperCase std::string str = "abc"; @@ -1064,6 +1030,12 @@ int main() } #endif +#if defined(A_VALUE) && A_VALUE == 10 + cmPassed("Single-character executable A worked."); +#else + cmFailed("Single-character executable A failed."); +#endif + // ---------------------------------------------------------------------- // Summary |