# cmake/findllvm: fix incorrect lib dir setup for zig2 · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/c40708a2ce4f6ed1adcc1de39fc7b4fc27db32f8)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: c40708a2ce4f6ed1adcc1de39fc7b4fc27db32f8

Requested commit: c40708a2ce4f6ed1adcc1de39fc7b4fc27db32f8

Commit: c40708a2ce4f6ed1adcc1de39fc7b4fc27db32f8

Tree: f66d6be424bb24d643f1f48762b0644f7246f202

Author: Erik Arvstedt

Committer: Andrew Kelley

## Message

````
cmake/findllvm: fix incorrect lib dir setup for zig2

Line `link_directories("${CMAKE_PREFIX_PATH}/lib")` was evaluated as
`link_directories("/lib")` in the default case of `CMAKE_PREFIX_PATH`
being empty.
This caused cmake to add `-L/lib -Wl,-rpath,/lib` to the zig2
build flags.

This could result in errors on systems where libraries set via
`CMAKE_LIBRARY_PATH` had conflicting versions in `/lib`:
- `-L/lib` could cause linking zig2 to fail
- `-Wl,-rpath,/lib` adds `/lib` as the first entry of the zig2 `RPATH`.
  This could cause running zig2 (to build zig3) to fail.

In case of conflicting lib dirs, cmake emitted this warning, which is
now fixed:
```
Cannot generate a safe runtime search path for target zig2 because files in
  some directories may conflict with libraries in implicit directories:

    runtime library [libclang-cpp.so.18.1] in /nix/store/...-clang-18.1.5-lib/lib may be hidden by files in:
      /lib
```

````

## Parents

- [bf588f67d8c6261105f81fd468c420d662541d2a](https://git.cafe/gitcafe/zig/commit/bf588f67d8c6261105f81fd468c420d662541d2a?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/c40708a2ce4f6ed1adcc1de39fc7b4fc27db32f8?format=markdown)
