80 lines
2.2 KiB
CMake
80 lines
2.2 KiB
CMake
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 .)
|