CMakeLists.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. PROJECT(CommandLineTest)
  2. GET_FILENAME_COMPONENT(CMAKE_BIN_DIR ${CMAKE_COMMAND} PATH)
  3. FIND_PROGRAM(DUMP_DOC_EXE NAMES DumpDocumentation PATHS ${CMAKE_BIN_DIR})
  4. MACRO(EXEC_CMAKE_COMMAND CMAKE_ARGS)
  5. EXEC_PROGRAM("${CMAKE_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
  6. IF(${RET})
  7. MESSAGE(SEND_ERROR "CMake command failed with arguments \"${CMAKE_ARGS}\"")
  8. ENDIF(${RET})
  9. ENDMACRO(EXEC_CMAKE_COMMAND)
  10. EXEC_CMAKE_COMMAND("-E chdir \"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_COMMAND}\" -E echo \"Hello World\"")
  11. EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -L ${CommandLineTest_SOURCE_DIR}\"")
  12. EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -LA ${CommandLineTest_SOURCE_DIR}\"")
  13. EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -LH ${CommandLineTest_SOURCE_DIR}\"")
  14. EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -LAH ${CommandLineTest_SOURCE_DIR}\"")
  15. EXEC_CMAKE_COMMAND("--help")
  16. EXEC_CMAKE_COMMAND("--help-command-list")
  17. EXEC_CMAKE_COMMAND("--help ADD_EXECUTABLE")
  18. EXEC_CMAKE_COMMAND("--help-command ADD_EXECUTABLE")
  19. EXEC_CMAKE_COMMAND("--help-full \"${CMAKE_CURRENT_BINARY_DIR}/cmake.txt\"")
  20. EXEC_CMAKE_COMMAND("--help-man \"${CMAKE_CURRENT_BINARY_DIR}/cmake.man\"")
  21. EXEC_CMAKE_COMMAND("--help-html \"${CMAKE_CURRENT_BINARY_DIR}/cmake.html\"")
  22. EXEC_CMAKE_COMMAND("--copyright \"${CMAKE_CURRENT_BINARY_DIR}/Copyright.txt\"")
  23. EXEC_CMAKE_COMMAND("--version \"${CMAKE_CURRENT_BINARY_DIR}/version.txt\"")
  24. IF(DUMP_DOC_EXE)
  25. EXEC_PROGRAM(${DUMP_DOC_EXE} ARGS "--all-for-coverage \"${CMAKE_CURRENT_BINARY_DIR}/all_for_coverage.txt\"" RETURN_VALUE RET)
  26. IF(${RET})
  27. MESSAGE(SEND_ERROR "DumpDoc command failed ")
  28. ENDIF(${RET})
  29. ELSE(DUMP_DOC_EXE)
  30. MESSAGE(SEND_ERROR "Cannot find DumpDocumentation executable.")
  31. ENDIF(DUMP_DOC_EXE)
  32. ADD_EXECUTABLE(CommandLineTest CommandLineTest.cxx)
  33. GET_FILENAME_COMPONENT(CMAKE_COMMAND_PATH "${CMAKE_COMMAND}" PATH)
  34. SET(CTEST_COMMAND "${CMAKE_COMMAND_PATH}/ctest")
  35. MACRO(EXEC_CTEST_COMMAND CMAKE_ARGS)
  36. EXEC_PROGRAM("${CTEST_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
  37. IF(${RET})
  38. MESSAGE(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
  39. ENDIF(${RET})
  40. ENDMACRO(EXEC_CTEST_COMMAND)
  41. MACRO(EXEC_CTEST_COMMAND_WITH_DIR DIR CMAKE_ARGS)
  42. EXEC_PROGRAM("${CTEST_COMMAND}" "${DIR}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
  43. IF(${RET})
  44. MESSAGE(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
  45. ENDIF(${RET})
  46. ENDMACRO(EXEC_CTEST_COMMAND_WITH_DIR)
  47. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N")
  48. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-R complex -N")
  49. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-E Simple -N")
  50. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-E Simple -N")
  51. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N -I -10")
  52. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N -I 10-")
  53. EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N -I 3,4")
  54. EXEC_CTEST_COMMAND("--help")
  55. EXEC_CTEST_COMMAND("--copyright")
  56. EXEC_CTEST_COMMAND("--help-full \"${CMAKE_CURRENT_BINARY_DIR}/ctest.txt\"")
  57. EXEC_CTEST_COMMAND("--help-man \"${CMAKE_CURRENT_BINARY_DIR}/ctest.man\"")
  58. EXEC_CTEST_COMMAND("--help-html \"${CMAKE_CURRENT_BINARY_DIR}/ctest.html\"")
  59. EXEC_CTEST_COMMAND("--version")
  60. IF(THIS_SHOULD_BE_SET)
  61. MESSAGE(STATUS "***************************")
  62. MESSAGE(STATUS "PreLoad.cmake works fine.")
  63. MESSAGE(STATUS "***************************")
  64. ELSE(THIS_SHOULD_BE_SET)
  65. MESSAGE("***************************")
  66. MESSAGE(FATAL_ERROR "PreLoad.cmake does not work.")
  67. ENDIF(THIS_SHOULD_BE_SET)