'How to assign variable value as variable name in Robot Framework for dynamically making global variables?

I want to make a Robot Framework keyword which can dynamically generate global variables. This means one of the arguments will be the name of a variable. Example of the code:

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
Example
    MakeVariable    name
    Log             ${name}

*** Keywords ***
MakeVariable
    [Arguments]     ${variableName}
    Set Global Variable      ${${variableName}}      My Name

I want this code to call the MakeVariable keyword which will make a global variable '${name}' with the value of 'My Name'. But when I run this robot file, I'll get an error:

No keyword with name '${${variableName}' found.

Can somebody help to make this keyword functional? Thanks!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source