21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
|
---
|
||
|
synopsis: "Includes are now qualified with library name"
|
||
|
category: Development
|
||
|
cls: [2178]
|
||
|
credits: jade
|
||
|
---
|
||
|
|
||
|
The Lix includes have all been rearranged to be of the form `"lix/libexpr/foo.hh"` instead of `"foo.hh"`.
|
||
|
This was already supported externally for a migration period, but it is now being applied to all the internal usages within Lix itself.
|
||
|
The goal of this change is to both clarify where a file is from and to avoid polluting global include paths with things like `config.h` that might conflict with other projects.
|
||
|
|
||
|
For other details, see the release notes of Lix 2.90.0, under "Rename all the libraries" in Breaking Changes.
|
||
|
|
||
|
To fix an external project with sources in `src` which has a separate build directory (such that headers are in `../src` relative to where the compiler is running):
|
||
|
|
||
|
```
|
||
|
lix_root=$HOME/lix
|
||
|
(cd $lix_root && nix develop -c 'meson setup build && ninja -C build subprojects/lix-clang-tidy/liblix-clang-tidy.so')
|
||
|
run-clang-tidy -checks='-*,lix-fixincludes' -load=$lix_root/build/subprojects/lix-clang-tidy/liblix-clang-tidy.so -p build/ -header-filter '\.\./src/.*\.h' -fix src
|
||
|
```
|