set(_host_cc_default "cc")
if (CMAKE_C_COMPILER_ID STREQUAL "Clang")
  # If we are using Clang, we can use executable for the host even
  # if CMake is configured to cross-compile.
  set(_host_cc_default "${CMAKE_C_COMPILER}")
endif ()
set(TEST_SUITE_HOST_CC "${_host_cc_default}" CACHE STRING "C compiler targetting the host")
mark_as_advanced(TEST_SUITE_HOST_CC)

function(llvm_add_host_executable targetname exename)
  cmake_parse_arguments(_arg "" "" "LDFLAGS;CPPFLAGS" ${ARGN})

  set(_objs)
  foreach (_srcfile IN LISTS _arg_UNPARSED_ARGUMENTS)
    get_filename_component(
	  _srcfile "${_srcfile}" ABSOLUTE BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
    get_filename_component(_filename "${_srcfile}" NAME)
    set(_objfile "${CMAKE_CURRENT_BINARY_DIR}/${_filename}.o")

    add_custom_command(OUTPUT "${_objfile}"
      COMMAND ${TEST_SUITE_HOST_CC} ${_arg_CPPFLAGS}
	    -c "${_srcfile}" -o "${_objfile}"
      COMMENT "[TEST_SUITE_HOST_CC] Compiling host source ${_filename}"
      DEPENDS "${_srcfile}"
      VERBATIM
    )

    list(APPEND _objs ${_objfile})
  endforeach ()

  add_custom_command(OUTPUT ${exename}
    COMMAND ${TEST_SUITE_HOST_CC} ${_objs}
	  -o "${CMAKE_CURRENT_BINARY_DIR}/${exename}" ${_arg_LDFLAGS}
    COMMENT "[TEST_SUITE_HOST_CC] Linking host executable ${exename}"
    DEPENDS ${_objs}
    VERBATIM
  )
  add_custom_target(${targetname}
    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${exename}")
  llvm_codesign(${targetname}
          BUNDLE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${exename}")
endfunction()
