title: is there something similar to target_include_files in cmake
body: <p>Is there any way to add files in the same manner as target include directories but for individual files?</p>
  <p>My use case is this. I'm using a lot of templates and concepts and my header files are getting bulky. I really liked having implementation split from definitions so want something like so:</p>
  <h2>.h file</h2>
  <pre class="lang-cpp prettyprint-override"><code>template &lt;typename T&gt;
  T foo(T bar);
  
  #include &lt;name_of_implementation_file&gt;
  </code></pre>
  <h2>implementation .h file</h2>
  <pre class="lang-cpp prettyprint-override"><code>template &lt;typename T&gt;
  T foo(T bar) { return bar; };
  </code></pre>
  <p>currently the include has to look like so: <code>#include &quot;path/to/implementation_file_name&quot;</code></p>
  <p>This is annoying as it makes refactoring a pain later. I also don't want to add extra directories with just 1 or 2 files and call <code>target_include_directories</code>. I don't want to just <code>include</code> as my project is a library and I don't want the user to be able to include the implementation files. I am also building multiple targets and want to keep their included files separate.</p>