title: cmake <-> make and unit testing: creating targets that don't compile unless named explicetly
body: <p>I want to structure my unit tests, using gtest, in modules. each module is often a collection of multiple testible units. whilst developing a module i create a unit test at a time, and once finished I concatinate them into one unittest for the entire module.</p>
  
  <p>So for some illustration, each test looks like this.</p>
  
  <pre><code>// file test1.cc
  TEST1()
  {
  }
  TESTn
  {
  )
  #ifdef ISOLATED_TEST_COMPILE
  int main()
  {
     /* google test boiler plate */
  }
  #endif
  </code></pre>
  
  <p>And a file that concatinates the test looks like this</p>
  
  <pre><code>#include "test1.cc"
  #include "testn.cc"
  
  int main()
  {
     /* google test boiler plate */
  }
  </code></pre>
  
  <p>So I wan't to be able to get the generated make build to build individual tests only when named, and to not include individual tests in the "all" target. The entire module unity unit test build should be in the all target. </p>
  
  <p>I don't want <code>make all</code> to redundtly compile single tests.</p>