cmake_minimum_required(VERSION 3.5)

set(TEST_SUCCESS TRUE)

function(run_test_case NAME WHAT)
  set(_message "Testing that launchers are used when running ${WHAT}")
  message(STATUS "${_message}...")

  # Settings:
  set(CTEST_DASHBOARD_SOURCE              "@CMake_SOURCE_DIR@/Tests/CTestTestLaunchers")
  set(CTEST_DASHBOARD_ROOT                "@CMake_BINARY_DIR@/Tests/CTestTestLaunchers")
  set(CTEST_SITE                          "@SITE@")
  set(CTEST_BUILD_NAME                    "Launchers-@BUILDNAME@-CTestTestLaunchers")

  set(CTEST_SOURCE_DIRECTORY              "${CTEST_DASHBOARD_SOURCE}/${NAME}")
  set(CTEST_BINARY_DIRECTORY              "${CTEST_DASHBOARD_ROOT}/${NAME}-bin")
  set(CTEST_CMAKE_GENERATOR               "@CMAKE_GENERATOR@")
  set(CTEST_CMAKE_GENERATOR_PLATFORM      "@CMAKE_GENERATOR_PLATFORM@")
  set(CTEST_CMAKE_GENERATOR_TOOLSET       "@CMAKE_GENERATOR_TOOLSET@")
  set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
  set(CTEST_NOTES_FILES                   "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")

  ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})

  file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
  CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
  CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
  CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
  CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
  CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
  CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
  ")

  ctest_start(Experimental)
  ctest_configure(OPTIONS "-DCTEST_USE_LAUNCHERS=1")
  ctest_build(NUMBER_ERRORS error_count)

  if("${error_count}" STREQUAL "0")
    set(TEST_SUCCESS FALSE PARENT_SCOPE)
    message(STATUS "${_message}... FAIL")
  else()
    message(STATUS "${_message}... PASS")
  endif()
endfunction()

run_test_case(launcher_compiler_test_project "the compiler")
run_test_case(launcher_linker_test_project "the linker")
run_test_case(launcher_custom_command_test_project "a custom command")

if(TEST_SUCCESS)
  message("CTEST_TEST_LAUNCHER_SUCCESS")
endif()
