cmake_minimum_required(VERSION 3.12.1)
macro(call function_name)
  push(indirection_file)
  set(indirection_file "${CMAKE_CURRENT_BINARY_DIR}/indirection")
  while(EXISTS "${indirection_file}.cmake")
    set(indirection_file "${indirection_file}_")
  endwhile()
  set(indirection_file "${indirection_file}.cmake")
  file(WRITE "${indirection_file}" "${function_name}(${ARGN})")
  include("${indirection_file}")
  file(REMOVE "${indirection_file}")
  pop(indirection_file)
endmacro()
