UsesTerminal.cmake 1.2 KB

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