<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I've committed my suggested fix. There's no point in setting the LINKER_LANGUAGE property of every LLVM library, because CMake figures out the right language based on the file extensions of the source files.  </blockquote>

</div><div>Yes, CMake figures out the <b>right language</b> based on the file extensions of the source files.  </div><div>But, llvm is based on <b>C++</b></div><div>for example, if you create a application just containing <b>C </b>extension files,</div>

<div>but using llvm as the midware, then CMake system <b>must </b>auto  recognize the LINKER_LANGUAGE as CXX, but not C. Even all source files in this project is C extension.</div><div><br></div><div>Now, it's using a strange hack, just </div>

<div><div><br></div><div>set_target_properties(c-index-test</div><div>  PROPERTIES</div><div>  LINKER_LANGUAGE CXX)</div><div>It's not reasonable, because it's not because of  c-index-test.c lead the </div></div>
<div>
LINKER_LANGUAGE  to be CXX</div><div>but llvm make this happened, so it's shouldn't be placed at </div><div>c-index-test.c/CMakeLists.txt</div><div><b>and should be placed at </b></div><div>AddLLVM.cmake</div><div>

That's means, every  <b>new project(OR executable)</b> using LLVM as the dependent, </div><div>then  then <br>LINKER_LANGUAGE   must be set to CXX in an auto way, </div><div>but not set it manually.</div><div><br></div>

<div><br></div>-- <br>         此致<br>礼<br>罗勇刚<br>Yours<br>    sincerely,<br>Yonggang Luo<br>