title: Can I define a structure data type in CMake?
body: <p>The dominant data type in CMake is string, and almost all the variables in CMake is based on string. I was wondering whether it is possible to create a structure similar to C/C++ structure. I give the following example to illustrate my question:</p>
  
  <p>with C/C++ , we can define structure in this way:</p>
  
  <pre><code>struct targetProperty
  {
     std::string folder_name;
     std::string lib_name;
     std::string exe_name;
     std::string lib_type;
  };
  </code></pre>
  
  <p>In CMake, we can emulate this structure by using LIST:</p>
  
  <pre><code>set(targetProperty "the location for the folder")
  list(APPEND targetProperty "the name of the lib")
  list(APPEND targetProperty "the name of the executable")
  list(APPEND targetProperty "the type of the lib")
  </code></pre>
  
  <p>But it is not as clear as <code>struct targetProperty</code> in C/C++, and I was wondering whether there are other smart alternatives. Thanks. </p>