# \*.tlh files always dirty with Ninja Multi-config

**URL:** https://discourse.cmake.org/t/tlh-files-always-dirty-with-ninja-multi-config/15580
**Category:** Usage
**Tags:** os:windows
**Created:** [March 28, 2026, 3:09am UTC](https://discourse.cmake.org/t/tlh-files-always-dirty-with-ninja-multi-config/15580 "2026-03-28T03:09:25Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![RobinD42](https://discourse.cmake.org/user_avatar/discourse.cmake.org/robind42/32/5414_2.png) [@RobinD42](https://discourse.cmake.org/u/RobinD42)
#### Post date: [March 28, 2026, 3:09am UTC](https://discourse.cmake.org/t/tlh-files-always-dirty-with-ninja-multi-config/15580/1 "2026-03-28T03:09:25Z")

</div>

We have a project with some C++ files using `#import` with `*.tlb` files. I’ve noticed that with the Ninja Multi-Config generator the tlh and tli files end up in the base of the build folder. However with the single-config Ninja generator they end up in the target’s `.../CMakeFiles/target_name.dir` folder which seems to be where they are supposed to be. I say this because in the multi-config build those `*.tlh` files are always dirty, resulting in the source modules being rebuilt and the target relinked for every build.

Is there a way to fix or work around this issue?

I’m using cmake 4.2.3.

Thanks.
