|
@@ -0,0 +1,79 @@
|
|
|
|
|
+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 .)
|