title: What's CMAKE_CXX_FLAGS and which are available
body: <p>I've been doing C++ for a long long time, but I come from the land of Windows.</p>
  
  <p>I've been handed a project that uses CMake. I've googled around trying to learn it.</p>
  
  <p>I run <code>cmake .</code>
  I assume it always looks for <code>CMakeLists.txt</code> and generates makefiles.</p>
  
  <p>This creates a bunch more cmake files and make files.
  I was then instructed to run <code>make package</code>.
  I assume <code>package</code> is just a target name that could be anything.</p>
  
  <p>I then get errors:</p>
  
  
  
  <pre class="lang-none prettyprint-override"><code>c++: error: unrecognized command line option ‘-mthumb-interwork’
  c++: error: unrecognized command line option ‘-mfloat-abi=hard’
  c++: error: unrecognized command line option ‘-mfpu=neon’
  </code></pre>
  
  <p>I think those are due to the fact that I am trying to compile for a different architecture then the one I am on. I assume all the cmake files would set that up correctly for me. I also assume that nothing there is proprietary.</p>
  
  <p>I see the line in the CMakeLists.txt</p>
  
  <pre class="lang-none prettyprint-override"><code>SET(CMAKE_CXX_FLAGS "-march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 -std=c++11 -O3")
  </code></pre>
  
  <p>If I look at the official cmake documentation, it says, and I quote
  <strong>"Flags for all build types."</strong> ....Not very helpful</p>
  
  <p>I am thinking it isn't using the correct compiler, but I also don't see where in the CMakeLists.txt the compiler is specified at all.</p>
  
  <p>The question is:
  Why would these flags be unrecognized?</p>