things I learned about CMake:
- everything is a string
- almost anything that is not in a target is stupid
- most of my misunderstanding was of the underlying build
- i should have used a command line from day 1
- there are lists, they are ; separated strings
- a target is just a container of strings
- there is a magical land and a userland
- the magical land lives inside magical functions
- in the userland, everything is a string
- magical land and userland communicate through strings
- you can't have two functions on one line
- names decay to strings
- ${} makes names into pointers to a string of that name
- dereferenced lists pack expand
- adding quotes protects whitespace
- adding quotes stops pack expansions
- named parameters are just strings
- named parameters are usually used when talking to magic land
- you can make your own functions but they are not magic
- macros are functions but without scope
- CMakePackageConfigHelpers is the magical place in magic land where the magical unicorns who eat strings and make magic go to cry. their tears are collected by @ symbols which make new things grow, magical things
ok I'm going to bed
You can follow @odinthenerd.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: