diff options
Diffstat (limited to 'Tests/ComplexOneConfig/Executable/complex.cxx')
-rw-r--r-- | Tests/ComplexOneConfig/Executable/complex.cxx | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/Tests/ComplexOneConfig/Executable/complex.cxx b/Tests/ComplexOneConfig/Executable/complex.cxx new file mode 100644 index 0000000..9af88ad --- /dev/null +++ b/Tests/ComplexOneConfig/Executable/complex.cxx @@ -0,0 +1,104 @@ +#include "cmTestConfigure.h" +#include "ExtraSources/file1.h" +#include "file2.h" +#include "sharedFile.h" +#include "cmStandardIncludes.h" + +int passed = 0; +int failed = 0; + +void Failed(const char* Message, const char* m2= "") +{ + std::cerr << "Failed: " << Message << m2 << "\n"; + failed++; +} + +void Passed(const char* Message, const char* m2="") +{ + std::cout << "Passed: " << Message << m2 << "\n"; + passed++; +} + +main() +{ + if(sharedFunction() != 1) + { + Failed("Call to sharedFunction from shared library failed."); + } + else + { + Passed("Call to sharedFunction from shared library worked."); + } + + if(file1() != 1) + { + Failed("Call to file1 function from library failed."); + } + else + { + Passed("Call to file1 function returned 1."); + } + if(file2() != 1) + { + Failed("Call to file2 function from library failed."); + } + else + { + Passed("Call to file2 function returned 1."); + } +#ifndef CMAKE_IS_FUN + Failed("CMake is not fun, so it is broken and should be fixed."); +#else + Passed("CMAKE_IS_FUN is defined."); +#endif + +#ifdef SHOULD_NOT_BE_DEFINED + Failed("IF or SET is broken, SHOULD_NOT_BE_DEFINED is defined."); +#else + Passed("SHOULD_NOT_BE_DEFINED is not defined."); +#endif + +#ifndef SHOULD_BE_DEFINED + Failed("IF or SET is broken, SHOULD_BE_DEFINED is not defined.\n"); +#else + Passed("SHOULD_BE_DEFINED is defined."); +#endif + +#ifndef ONE_VAR + Failed("cmakedefine is broken, ONE_VAR is not defined."); +#else + Passed("ONE_VAR is defined."); +#endif + +#ifdef ZERO_VAR + Failed("cmakedefine is broken, ZERO_VAR is defined."); +#else + Passed("ZERO_VAR is not defined."); +#endif + + + +#ifndef STRING_VAR + Failed("configureFile is broken, STRING_VAR is not defined."); +#else + if(strcmp(STRING_VAR, "CMake is great") != 0) + { + Failed("CMake is not great, so the SET command," + "or the configurefile comand is broken. STRING_VAR== ", + STRING_VAR); + } + else + { + Passed("STRING_VAR == ", STRING_VAR); + } +#endif + std::cout << "Passed:" << passed << "\n"; + if(failed) + { + std::cout << "Failed: " << failed << "\n"; + return failed; + } + return 0; +} + + |