Stringify CMake preprocessor token
<p>I'm using CMake to compile this example program:</p>

<p><strong>CMakeLists.txt</strong>:</p>

<pre><code>cmake_minimum_required (VERSION 3.0.0)
set(PROJECT_NAME Main)
project(${PROJECT_NAME})

add_definitions(-DSTRING=“test”)

add_executable(${PROJECT_NAME} main.c)
</code></pre>

<p><strong>main.c</strong>:</p>

<pre><code>#include &lt;stdio.h&gt;

int main(void)
{
    puts(STRING);
}
</code></pre>

<hr>

<p>Compiling gives me the following error:</p>

<blockquote>
<pre><code>error: expected expression
    puts(STRING);
         ^
&lt;command line&gt;:1:16: note: expanded from here
#define STRING "test"
</code></pre>
</blockquote>

<p>How can I stringify this preprocessor token <em>without modifying</em> <code>main.c</code>?</p>