TIL that CMake `export()` will write data to a 'user package repository' that sits somewhere in a home directory or registry (!). And _now_ they've made this do nothing by default, because *surprise* this is an incredibly stupid idea.

But it depends on the declared version in the CMakeLists.txt. So some random CMake package can do it anyhow. And it's controlled by a CMake variable regardless, so packages can dick about with hidden CMake global fucking state anyway.

CMake: when wiping the build directory just isn't enough.

  • 0
    Why is global state a thing in cmake? It's supposed to be a build tool, isn't it?
Add Comment