CMake/Tests/RunCMake/ExternalProject/UsesTerminal.cmake

46 lines
1.2 KiB
CMake

if(NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE Debug)
endif()
include(ExternalProject)
# Test various combinations of USES_TERMINAL with ExternalProject_Add.
macro(DoTerminalTest _target)
ExternalProject_Add(${_target}
DOWNLOAD_COMMAND "${CMAKE_COMMAND}" -E echo "download"
UPDATE_COMMAND "${CMAKE_COMMAND}" -E echo "update"
CONFIGURE_COMMAND "${CMAKE_COMMAND}" -E echo "configure"
BUILD_COMMAND "${CMAKE_COMMAND}" -E echo "build"
TEST_COMMAND "${CMAKE_COMMAND}" -E echo "test"
INSTALL_COMMAND "${CMAKE_COMMAND}" -E echo "install"
${ARGN}
)
endmacro()
# USES_TERMINAL on all steps
DoTerminalTest(TerminalTest1
USES_TERMINAL_DOWNLOAD 1
USES_TERMINAL_UPDATE 1
USES_TERMINAL_CONFIGURE 1
USES_TERMINAL_BUILD 1
USES_TERMINAL_TEST 1
USES_TERMINAL_INSTALL 1
)
# USES_TERMINAL on every other step, starting with download
DoTerminalTest(TerminalTest2
USES_TERMINAL_DOWNLOAD 1
USES_TERMINAL_CONFIGURE 1
USES_TERMINAL_TEST 1
)
# USES_TERMINAL on every other step, starting with update
DoTerminalTest(TerminalTest3
USES_TERMINAL_UPDATE 1
USES_TERMINAL_BUILD 1
USES_TERMINAL_INSTALL 1
)
# USES_TERMINAL on no step
DoTerminalTest(TerminalTest4)