# Did CMake developers know about imake from the X WIndow System?

**URL:** https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522
**Category:** Development
**Created:** [February 23, 2026, 5:25pm UTC](https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522 "2026-02-23T17:25:17Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![LegalizeAdulthood](https://discourse.cmake.org/user_avatar/discourse.cmake.org/legalizeadulthood/32/5282_2.png) [@LegalizeAdulthood](https://discourse.cmake.org/u/LegalizeAdulthood)
#### Post date: [February 23, 2026, 5:25pm UTC](https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522/1 "2026-02-23T17:25:17Z")

</div>

imake and CMake solve some of the same problems, but from a completely different approach.

I was just curious if the CMake developers were aware of imake and what they thought of it at the time they decided to create CMake.

For what it was (a tool intended to portably build the X Window System server and client libraries), it was pretty clever and minimal, only requiring a C compiler and the C preprocessor from the host environment.

imake often got a bad rap, I think, because there wasn’t a really good user guide on how to properly support imake when you shipped a server. (People often left out appropriately customized templates for their particular binary distribution.) So it would work well in the context of building the MIT distribution, but would fall down when building client software on a commercial distribution.

---

<div class="post-metadata">

### Author: ![bill.hoffman](https://discourse.cmake.org/user_avatar/discourse.cmake.org/bill.hoffman/32/13_2.png) [@bill.hoffman](https://discourse.cmake.org/u/bill.hoffman)
#### Post date: [February 23, 2026, 7:02pm UTC](https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522/2 "2026-02-23T19:02:18Z")

</div>

Blast from the past! Back in the day before starting CMake I was a big imake user, so yes imake had an influence on CMake.

---

<div class="post-metadata">

### Author: ![LegalizeAdulthood](https://discourse.cmake.org/user_avatar/discourse.cmake.org/legalizeadulthood/32/5282_2.png) [@LegalizeAdulthood](https://discourse.cmake.org/u/LegalizeAdulthood)
#### Post date: [February 23, 2026, 11:04pm UTC](https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522/3 "2026-02-23T23:04:05Z")

</div>

That’s what I figured. If you have any specific memories of how imake influenced your thinking in creating CMake, I’d love to hear the stories `:)`

---

<div class="post-metadata">

### Author: ![bill.hoffman](https://discourse.cmake.org/user_avatar/discourse.cmake.org/bill.hoffman/32/13_2.png) [@bill.hoffman](https://discourse.cmake.org/u/bill.hoffman)
#### Post date: [February 25, 2026, 8:30pm UTC](https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522/4 "2026-02-25T20:30:17Z")

</div>

I guess the idea of a makefile generation system was the biggest thing. Started using it because it was used by the [InterViews GUI toolkit](http://i.stanford.edu/pub/cstr/reports/csl/tr/88/358/CSL-TR-88-358.pdf). We later gave it up for a pure gmake build system [Target Junior Makefiles](https://www.robots.ox.ac.uk/~tgtjr/makefiles.html). Then with [https://itk.org/](https://itk.org/) CMake was created as a makefile/VS file generator written in C++.

---

<div class="post-metadata">

### Author: ![LegalizeAdulthood](https://discourse.cmake.org/user_avatar/discourse.cmake.org/legalizeadulthood/32/5282_2.png) [@LegalizeAdulthood](https://discourse.cmake.org/u/LegalizeAdulthood)
#### Post date: [February 25, 2026, 9:12pm UTC](https://discourse.cmake.org/t/did-cmake-developers-know-about-imake-from-the-x-window-system/15522/5 "2026-02-25T21:12:34Z")

</div>

Nice, thanks for the info!
