UsesTerminal.cmake 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. if(NOT CMAKE_CONFIGURATION_TYPES)
  2. set(CMAKE_BUILD_TYPE Debug)
  3. endif()
  4. include(ExternalProject)
  5. # Test various combinations of USES_TERMINAL with ExternalProject_Add.
  6. macro(DoTerminalTest _target)
  7. ExternalProject_Add(${_target}
  8. DOWNLOAD_COMMAND "${CMAKE_COMMAND}" -E echo "download"
  9. UPDATE_COMMAND "${CMAKE_COMMAND}" -E echo "update"
  10. CONFIGURE_COMMAND "${CMAKE_COMMAND}" -E echo "configure"
  11. BUILD_COMMAND "${CMAKE_COMMAND}" -E echo "build"
  12. TEST_COMMAND "${CMAKE_COMMAND}" -E echo "test"
  13. INSTALL_COMMAND "${CMAKE_COMMAND}" -E echo "install"
  14. ${ARGN}
  15. )
  16. endmacro()
  17. # USES_TERMINAL on all steps
  18. DoTerminalTest(TerminalTest1
  19. USES_TERMINAL_DOWNLOAD 1
  20. USES_TERMINAL_UPDATE 1
  21. USES_TERMINAL_CONFIGURE 1
  22. USES_TERMINAL_BUILD 1
  23. USES_TERMINAL_TEST 1
  24. USES_TERMINAL_INSTALL 1
  25. )
  26. # USES_TERMINAL on every other step, starting with download
  27. DoTerminalTest(TerminalTest2
  28. USES_TERMINAL_DOWNLOAD 1
  29. USES_TERMINAL_CONFIGURE 1
  30. USES_TERMINAL_TEST 1
  31. )
  32. # USES_TERMINAL on every other step, starting with update
  33. DoTerminalTest(TerminalTest3
  34. USES_TERMINAL_UPDATE 1
  35. USES_TERMINAL_BUILD 1
  36. USES_TERMINAL_INSTALL 1
  37. )
  38. # USES_TERMINAL on no step
  39. DoTerminalTest(TerminalTest4)