[PATCH] D125827: [cmake] Don't try creating an executable when detecting the linker

Shoaib Meenai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 19 10:43:40 PDT 2022


smeenai accepted this revision.
smeenai added a comment.
This revision is now accepted and ready to land.

LGTM, thanks.

In D125827#3525320 <https://reviews.llvm.org/D125827#3525320>, @ldionne wrote:

> In D125827#3520509 <https://reviews.llvm.org/D125827#3520509>, @smeenai wrote:
>
>> I think this might potentially break cross-compilation on Windows. We're in a `NOT WIN32` block here, but that means you're not targeting Windows; you could still be targeting e.g. Linux but building on a Windows machine. I think `NUL` is the Windows equivalent, and you could have a `CMAKE_HOST_WIN32` block, but it'll depend on how CMake invokes an `execute_process` command. (I have a Windows machine handy and can experiment with that, if you'd like.) That being said
>
> Hmm, I just tried it out on a Windows machine and it seems to work.

To be clear, were you building for Windows on a Windows machine, or targeting some other platform? The `NOT WIN32` above would have already taken care of the building for Windows on Windows case.

>> I thought we forced out-of-tree builds (i.e. you needed to have a dedicated build directory and couldn't just run a CMake configuration from the source tree)? Having a separate build directory seems nicer in general, unless I'm misunderstanding what you meant.
>
> We do force out of tree builds, however CMake can be invoked as `cmake -S llvm -B <path-to-build>`, in which case `a.out` will be generated in whatever directory you happen to be in.

Ah, interesting. That's unfortunate, though I guess it makes sense.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125827/new/

https://reviews.llvm.org/D125827



More information about the llvm-commits mailing list