<div dir="ltr"><span style="color:rgb(33,33,33)">Michał,</span><div><br></div><div>It'd make sense to use file(TO_CMAKE_PATH). I forgot it.</div><div>I think get_file_component() satisfies in this case. Do you think to use file(TO_CMAKE_PATH) anyways?</div><div>I'll wait for you as an opinion before proposing this fix to release_40.</div><div>The bug is still in release_40.</div><div><br></div><div>I don't think we could twiddle llvm-config stuff in future. FYI, I explain its history.</div><div><br></div><div>- When autoconf was alive, I tweaked it to let cmake configure against installed tree generated by autoconf.</div><div>- Brad King (@kitware) proposed a mechanism for autoconf to provide cmake information in llvm.</div><div>- Autoconf was killed.</div><div><br></div><div>In the ecosystem of cmake, we may go w/o llvm-config but find_package() by cmake's way.</div><div>Then, I suggest to rip out llvm-config here.</div><div><br></div><div>Why I introduced cache variables for items supplied by llvm-config;</div><div>I thought they are configurable w/o autoconf to specify their variables manually.</div><div><br></div><div>BTW, do you think if llvm-config had an option like "--emit-cmake-tmpl"</div><div>to help creating cmake project?</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Feb 14, 2017 at 12:45 AM Michał Górny <<a href="mailto:mgorny@gentoo.org">mgorny@gentoo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">W dniu 13.02.2017, pon o godzinie 14∶59 +0000, użytkownik NAKAMURA<br class="gmail_msg">
Takumi via cfe-commits napisał:<br class="gmail_msg">
> Author: chapuni<br class="gmail_msg">
> Date: Mon Feb 13 08:59:53 2017<br class="gmail_msg">
> New Revision: 294954<br class="gmail_msg">
><br class="gmail_msg">
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=294954&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=294954&view=rev</a><br class="gmail_msg">
> Log:<br class="gmail_msg">
> Fix r291495 -- Normalize LLVM_CMAKE_PATH in clang standalone build.<br class="gmail_msg">
><br class="gmail_msg">
> CMake handles paths with slashes. It caused cmake/install failure on msbuild.exe.<br class="gmail_msg">
><br class="gmail_msg">
> Note, Other llvm-config-oriented variables have been normalized since they are stored in the cache attributed with PATH.<br class="gmail_msg">
><br class="gmail_msg">
> Modified:<br class="gmail_msg">
>     cfe/trunk/CMakeLists.txt<br class="gmail_msg">
><br class="gmail_msg">
> Modified: cfe/trunk/CMakeLists.txt<br class="gmail_msg">
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/CMakeLists.txt?rev=294954&r1=294953&r2=294954&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/CMakeLists.txt?rev=294954&r1=294953&r2=294954&view=diff</a><br class="gmail_msg">
> ==============================================================================<br class="gmail_msg">
> --- cfe/trunk/CMakeLists.txt (original)<br class="gmail_msg">
> +++ cfe/trunk/CMakeLists.txt Mon Feb 13 08:59:53 2017<br class="gmail_msg">
> @@ -42,7 +42,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR<br class="gmail_msg">
>    list(GET CONFIG_OUTPUT 3 INCLUDE_DIR)<br class="gmail_msg">
>    list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)<br class="gmail_msg">
>    list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR)<br class="gmail_msg">
> -  list(GET CONFIG_OUTPUT 6 LLVM_CMAKE_PATH)<br class="gmail_msg">
> +  list(GET CONFIG_OUTPUT 6 LLVM_CONFIG_CMAKE_PATH)<br class="gmail_msg">
><br class="gmail_msg">
>    if(NOT MSVC_IDE)<br class="gmail_msg">
>      set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}<br class="gmail_msg">
> @@ -57,6 +57,10 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR<br class="gmail_msg">
>    set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")<br class="gmail_msg">
>    set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")<br class="gmail_msg">
><br class="gmail_msg">
> +  # Normalize LLVM_CMAKE_PATH. --cmakedir might contain backslashes.<br class="gmail_msg">
> +  # CMake assumes slashes as PATH.<br class="gmail_msg">
> +  get_filename_component(LLVM_CMAKE_PATH ${LLVM_CONFIG_CMAKE_PATH} ABSOLUTE)<br class="gmail_msg">
<br class="gmail_msg">
Are you sure this is the best way of doing it? I'm not a Windows expert<br class="gmail_msg">
but I've seen others using file(TO_CMAKE_PATH ...) for what I suppose<br class="gmail_msg">
was the same goal.<br class="gmail_msg">
<br class="gmail_msg">
> +<br class="gmail_msg">
>    find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}<br class="gmail_msg">
>      NO_DEFAULT_PATH)<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> cfe-commits mailing list<br class="gmail_msg">
> <a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a><br class="gmail_msg">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br class="gmail_msg">
<br class="gmail_msg">
--<br class="gmail_msg">
Best regards,<br class="gmail_msg">
Michał Górny<br class="gmail_msg">
</blockquote></div>