<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 24, 2019 at 8:41 AM Shoaib Meenai <<a href="mailto:smeenai@fb.com">smeenai@fb.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Yup, just passing `-G Ninja` to CMake should make it pick up on whatever Ninja is on your path ... you shouldn't need the explicit `-DCMAKE_MAKE_PROGRAM=ninja`.<br></blockquote><div><br></div><div>Actually, his use case requires passing it without a path. Otherwise, cmake with save the path and use it, which as he states, may be different on different machines that share that say build tree. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
On 5/24/19, 12:03 AM, "llvm-commits on behalf of Mikael Holmén via llvm-commits" <<a href="mailto:llvm-commits-bounces@lists.llvm.org" target="_blank">llvm-commits-bounces@lists.llvm.org</a> on behalf of <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
<br>
Hi,<br>
<br>
On 5/23/19 5:02 PM, Don Hinton wrote:<br>
> Hi Mikael:<br>
> <br>
> Thanks for reporting this.<br>
> <br>
> Looks like the call to `include(CMakeNinjaFindMake OPTIONAL)` is the <br>
> problem since it's using find_program and overwrites it if it isn't a <br>
> full path. Since the generator already set it, there's no reason for an <br>
> additional find_program call, so I'll remove it.<br>
> <br>
> Fixed in r361501.<br>
> <br>
<br>
Thanks!<br>
<br>
> Btw, why were you setting CMAKE_MAKE_PROGRAM to a value without a path? <br>
> Is this so you can test alternative versions of ninja without rerunning <br>
> cmake?<br>
> <br>
<br>
We're using several different machines with ninja installed at different <br>
places, so I think we just set CMAKE_MAKE_PROGRAM to ninja (without <br>
path) to use whatever ninja version we have in the PATH on that machine.<br>
<br>
Perhaps we don't actually need to set CMAKE_MAKE_PROGRAM at all then?<br>
<br>
Anyway, your patch made it work with just "ninja" again.<br>
<br>
Thanks,<br>
Mikael<br>
<br>
> thanks again...<br>
> don<br>
> <br>
> On Thu, May 23, 2019 at 2:30 AM Mikael Holmén <br>
> <<a href="mailto:mikael.holmen@ericsson.com" target="_blank">mikael.holmen@ericsson.com</a> <mailto:<a href="mailto:mikael.holmen@ericsson.com" target="_blank">mikael.holmen@ericsson.com</a>>> wrote:<br>
> <br>
> Hi Don,<br>
> <br>
> I noticed that if I run cmake and configure with<br>
> -DCMAKE_MAKE_PROGRAM=ninja, so I'm not including the full path to<br>
> ninja,<br>
> then I get errors with this commit when it tries to do "ninja<br>
> --version".<br>
> <br>
> It then tries to do<br>
> <br>
> <br>
> '/local/repo/bbiswjenk/fem023-eiffel003/workspace/llvm/llvm-dev-kielx2/build-ccache/ninja'<br>
> <br>
> '--version'<br>
> <br>
> If I instead configure with -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja it<br>
> works<br>
> as it should.<br>
> <br>
> /usr/bin/ is included in the PATH, but still it tries to run ninja from<br>
> the local build directory when I've cofigured with just "ninja".<br>
> <br>
> Is this expected?<br>
> <br>
> Regards,<br>
> Mikael<br>
> <br>
> On 5/21/19 7:56 PM, Don Hinton via llvm-commits wrote:<br>
> > Author: dhinton<br>
> > Date: Tue May 21 10:56:45 2019<br>
> > New Revision: 361280<br>
> ><br>
> > URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D361280-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=1eOl5C4BmOsaH73pUE2CuP0LY6sw1Ibh1SdA4Md_IZE&e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D361280-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=1eOl5C4BmOsaH73pUE2CuP0LY6sw1Ibh1SdA4Md_IZE&e=</a><br>
> > Log:<br>
> > [cmake] Add custom command to touch archives on Darwin so ninja<br>
> won't rebuild them.<br>
> ><br>
> > Summary:<br>
> > clang and newer versions of ninja use high-resolutions<br>
> timestamps, but<br>
> > older versions of libtool on Darwin don't, so the archive will often<br>
> > get an older timestamp than the last object that was added or<br>
> updated.<br>
> > To fix this, we add a custom command to touch the archive after it's<br>
> > been built so that ninja won't rebuild it unnecessarily the next time<br>
> > it's run.<br>
> ><br>
> > Reviewed By: beanz<br>
> ><br>
> > Tags: #llvm<br>
> ><br>
> > Differential Revision: <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D62172&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=q7mkc41SyCVHOSaXDTrV4au_qB6ljYSEagRmo5NPxns&e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D62172&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=q7mkc41SyCVHOSaXDTrV4au_qB6ljYSEagRmo5NPxns&e=</a><br>
> ><br>
> > Modified:<br>
> > llvm/trunk/cmake/config-ix.cmake<br>
> > llvm/trunk/cmake/modules/AddLLVM.cmake<br>
> ><br>
> > Modified: llvm/trunk/cmake/config-ix.cmake<br>
> > URL:<br>
> <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_cmake_config-2Dix.cmake-3Frev-3D361280-26r1-3D361279-26r2-3D361280-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=KhAFSUB3GQ9iUyo13QjW6oigXazyWHCRLwror8QxA0k&e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_cmake_config-2Dix.cmake-3Frev-3D361280-26r1-3D361279-26r2-3D361280-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=KhAFSUB3GQ9iUyo13QjW6oigXazyWHCRLwror8QxA0k&e=</a><br>
> ><br>
> ==============================================================================<br>
> > --- llvm/trunk/cmake/config-ix.cmake (original)<br>
> > +++ llvm/trunk/cmake/config-ix.cmake Tue May 21 10:56:45 2019<br>
> > @@ -554,6 +554,22 @@ find_program(GOLD_EXECUTABLE NAMES ${LLV<br>
> > set(LLVM_BINUTILS_INCDIR "" CACHE PATH<br>
> > "PATH to binutils/include containing plugin-api.h for gold<br>
> plugin.")<br>
> ><br>
> > +if(CMAKE_GENERATOR STREQUAL "Ninja")<br>
> > + include(CMakeNInjaFindMake)<br>
> > + if(CMAKE_MAKE_PROGRAM)<br>
> > + execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} --version<br>
> > + OUTPUT_VARIABLE NINJA_VERSION<br>
> > + OUTPUT_STRIP_TRAILING_WHITESPACE)<br>
> > + set(NINJA_VERSION ${NINJA_VERSION} CACHE STRING "Ninja<br>
> version number" FORCE)<br>
> > + endif()<br>
> > +endif()<br>
> > +<br>
> > +if(CMAKE_GENERATOR STREQUAL "Ninja" AND<br>
> > + NINJA_VERSION VERSION_GREATER_EQUAL "1.9.0" AND<br>
> > + CMAKE_HOST_APPLE AND CMAKE_HOST_SYSTEM_VERSION<br>
> VERSION_GREATER "15.6.0")<br>
> > + set(LLVM_TOUCH_STATIC_LIBRARIES ON)<br>
> > +endif()<br>
> > +<br>
> > if(CMAKE_HOST_APPLE AND APPLE)<br>
> > if(NOT CMAKE_XCRUN)<br>
> > find_program(CMAKE_XCRUN NAMES xcrun)<br>
> ><br>
> > Modified: llvm/trunk/cmake/modules/AddLLVM.cmake<br>
> > URL:<br>
> <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_cmake_modules_AddLLVM.cmake-3Frev-3D361280-26r1-3D361279-26r2-3D361280-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=5Q0wz4FpwyhhgdEiCCD_VhDUsWgiJtNYbfwjnIAtq7o&e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_cmake_modules_AddLLVM.cmake-3Frev-3D361280-26r1-3D361279-26r2-3D361280-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=5Q0wz4FpwyhhgdEiCCD_VhDUsWgiJtNYbfwjnIAtq7o&e=</a><br>
> ><br>
> ==============================================================================<br>
> > --- llvm/trunk/cmake/modules/AddLLVM.cmake (original)<br>
> > +++ llvm/trunk/cmake/modules/AddLLVM.cmake Tue May 21 10:56:45 2019<br>
> > @@ -596,6 +596,18 @@ function(llvm_add_library name)<br>
> > llvm_externalize_debuginfo(${name})<br>
> > llvm_codesign(${name} ENTITLEMENTS ${ARG_ENTITLEMENTS})<br>
> > endif()<br>
> > + # clang and newer versions of ninja use high-resolutions<br>
> timestamps,<br>
> > + # but older versions of libtool on Darwin don't, so the<br>
> archive will<br>
> > + # often get an older timestamp than the last object that was added<br>
> > + # or updated. To fix this, we add a custom command to touch<br>
> archive<br>
> > + # after it's been built so that ninja won't rebuild it<br>
> unnecessarily<br>
> > + # the next time it's run.<br>
> > + if(ARG_STATIC AND LLVM_TOUCH_STATIC_LIBRARIES)<br>
> > + add_custom_command(TARGET ${name}<br>
> > + POST_BUILD<br>
> > + COMMAND touch<br>
> ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${name}${CMAKE_STATIC_LIBRARY_SUFFIX}<br>
> > + )<br>
> > + endif()<br>
> > endfunction()<br>
> ><br>
> > function(add_llvm_install_targets target)<br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > llvm-commits mailing list<br>
> > <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a> <mailto:<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>><br>
> > <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=btGrNIyNTgucno_4eyTPO6Txeqc41GZpUBT3K1Ok3gA&e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=btGrNIyNTgucno_4eyTPO6Txeqc41GZpUBT3K1Ok3gA&e=</a><br>
> ><br>
> <br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=btGrNIyNTgucno_4eyTPO6Txeqc41GZpUBT3K1Ok3gA&e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=rA1dpiQ5BP19dSBWl_-62q5HoYRz-RZJ3dPBh30g_uQ&s=btGrNIyNTgucno_4eyTPO6Txeqc41GZpUBT3K1Ok3gA&e=</a><br>
<br>
<br>
</blockquote></div></div>