title: Why clang produced "argument unused" warning for -nostdinc++ for executables, but not for libraries
body: <p>I'm needing to use custom libc++ so I'm passing -nostdinc++ for CMAKE_CXX_FLAGS. This works fine for libraries but for executables, I get this warning:</p>
  
  <pre><code>clang: warning: argument unused during compilation: '-nostdinc++' [-Wunused-command-line-argument]
  </code></pre>
  
  <p><strong>Question:</strong> Why?</p>
  
  <p><strong>More details</strong></p>
  
  <p>My CMAKE_CXX_FLAGS flags passed to compiler are:</p>
  
  <pre><code>set(CMAKE_CXX_FLAGS "-nostdinc++ -isystem ${LIBCXX_INC_PATH}")
  </code></pre>
  
  <p>My CMAKE_EXE_LINKER_FLAGS flags passed to linked are:</p>
  
  <pre><code>set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++ -lc++abi -lm -lc -lgcc_s -lgcc -ldl -Wl,-rpath,${LIBCXX_LIB_PATH}")
  </code></pre>
  
  <p>Clang verbos output:</p>
  
  <pre><code>Scanning dependencies of target DroneServer
  [ 98%] Building CXX object DroneServer/CMakeFiles/DroneServer.dir/home/shitals/GitHubSrc/AirSim/DroneServer/main.cpp.o
  clang version 3.9.1-4ubuntu3~16.04.1 (tags/RELEASE_391/rc2)
  Target: x86_64-pc-linux-gnu
  Thread model: posix
  InstalledDir: /usr/bin
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
  Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
  Candidate multilib: .;@m64
  Selected multilib: .;@m64
   "/usr/lib/llvm-3.9/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -coverage-file /home/shitals/GitHubSrc/AirSim/build_debug/DroneServer/CMakeFiles/DroneServer.dir/home/shitals/GitHubSrc/AirSim/DroneServer/main.cpp.o -nostdinc++ -resource-dir /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1 -isystem /home/shitals/GitHubSrc/AirSim/llvm-build/output/include/c++/v1 -I /home/shitals/GitHubSrc/AirSim/eigen/eigen3 -I /home/shitals/GitHubSrc/AirSim/DroneServer -I /home/shitals/GitHubSrc/AirSim/MavLinkCom/include -I /home/shitals/GitHubSrc/AirSim/external/rpclib/include -I /home/shitals/GitHubSrc/AirSim/AirLib/include -D __CLANG__ -D MSGPACK_PP_VARIADICS_MSVC=0 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wall -Wextra -Wstrict-aliasing -Wunreachable-code -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-include-dirs -Wswitch-default -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wstrict-overflow=5 -Wswitch-default -Wundef -Wno-variadic-macros -Wno-parentheses -Wno-unused-function -Wno-unused -Wno-documentation -std=c++14 -fdeprecated-macro -fdebug-compilation-dir /home/shitals/GitHubSrc/AirSim/build_debug/DroneServer -ferror-limit 10 -fmessage-length 286 -pthread -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o CMakeFiles/DroneServer.dir/home/shitals/GitHubSrc/AirSim/DroneServer/main.cpp.o -x c++ /home/shitals/GitHubSrc/AirSim/DroneServer/main.cpp
  clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-pc-linux-gnu
  ignoring nonexistent directory "/include"
  #include "..." search starts here:
  #include &lt;...&gt; search starts here:
   /home/shitals/GitHubSrc/AirSim/eigen/eigen3
   /home/shitals/GitHubSrc/AirSim/DroneServer
   /home/shitals/GitHubSrc/AirSim/MavLinkCom/include
   /home/shitals/GitHubSrc/AirSim/external/rpclib/include
   /home/shitals/GitHubSrc/AirSim/AirLib/include
   /home/shitals/GitHubSrc/AirSim/llvm-build/output/include/c++/v1
   /usr/local/include
   /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include
   /usr/include/x86_64-linux-gnu
   /usr/include
  End of search list.
  [100%] Linking CXX executable ../output/bin/DroneServer
  clang version 3.9.1-4ubuntu3~16.04.1 (tags/RELEASE_391/rc2)
  Target: x86_64-pc-linux-gnu
  Thread model: posix
  InstalledDir: /usr/bin
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
  Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
  Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
  Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
  Candidate multilib: .;@m64
  Selected multilib: .;@m64
  clang: warning: argument unused during compilation: '-nostdinc++' [-Wunused-command-line-argument]
   "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o ../output/bin/DroneServer /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crt1.o /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crti.o /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/crtbegin.o -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0 -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../.. -L/usr/lib/llvm-3.9/bin/../lib -L/lib -L/usr/lib -lc++ -lc++abi -lm -lc -lgcc_s -lgcc -ldl -rpath /home/shitals/GitHubSrc/AirSim/llvm-build/output/lib CMakeFiles/DroneServer.dir/home/shitals/GitHubSrc/AirSim/DroneServer/main.cpp.o -lpthread ../output/lib/libAirLib.a ../output/lib/libMavLinkCom.a ../output/lib/libAirSim-rpclib.a -lpthread -lpthread -lc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/crtend.o /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crtn.o
  [100%] Built target DroneServer
  </code></pre>