if(NOT DEFINED CMake_SOURCE_DIR) message(FATAL_ERROR "CMake_SOURCE_DIR not defined") endif() if(NOT DEFINED dir) message(FATAL_ERROR "dir not defined") endif() if(NOT DEFINED gen) message(FATAL_ERROR "gen not defined") endif() message(STATUS "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)") # First setup a source tree to run CMake on. # execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMake_SOURCE_DIR}/Tests/CTestTest/SmallAndFast ${dir}/Source ) execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${dir}/Build ) function(RunCMakeWithArgs) message(STATUS "info: running cmake with ARGN='${ARGN}'") execute_process(COMMAND ${CMAKE_COMMAND} ${ARGN} RESULT_VARIABLE result OUTPUT_VARIABLE stdout ERROR_VARIABLE stderr WORKING_DIRECTORY ${dir}/Build ) message(STATUS "result='${result}'") message(STATUS "stdout='${stdout}'") message(STATUS "stderr='${stderr}'") message(STATUS "") endfunction() # Run cmake once with no errors to get a good build tree: # RunCMakeWithArgs(-G ${gen} ../Source) # Run cmake with args that produce some sort of problem to cover the error # cases in cmake.cxx... # # (These are not good examples of cmake command lines. Do not copy and # paste them elsewhere and expect them to work... See the cmake # documentation or other real examples of usage instead.) # RunCMakeWithArgs() RunCMakeWithArgs(-C) RunCMakeWithArgs(-C nosuchcachefile.txt) RunCMakeWithArgs(--check-stamp-file nostampfile) RunCMakeWithArgs(--check-stamp-list nostamplist) RunCMakeWithArgs(nosuchsubdir/CMakeCache.txt) RunCMakeWithArgs(nosuchsubdir/CMakeLists.txt) RunCMakeWithArgs(-D) RunCMakeWithArgs(--debug-output .) RunCMakeWithArgs(--debug-trycompile .) RunCMakeWithArgs(-E) RunCMakeWithArgs(-E create_symlink) RunCMakeWithArgs(-E echo_append) RunCMakeWithArgs(-E rename) RunCMakeWithArgs(-E touch_nocreate) RunCMakeWithArgs(-G) RunCMakeWithArgs(--graphviz= ../Source) RunCMakeWithArgs(--graphviz=g.dot .) RunCMakeWithArgs(-P) RunCMakeWithArgs(-P nosuchscriptfile.cmake) RunCMakeWithArgs(--trace .) RunCMakeWithArgs(-U) RunCMakeWithArgs(-U nosuchvariable .) RunCMakeWithArgs(-V) RunCMakeWithArgs(-V .) RunCMakeWithArgs(-Wno-dev .) RunCMakeWithArgs(-Wdev .)