Hacker News new | past | comments | ask | show | jobs | submit login
Batch Style Guide (github.com/trgwii)
6 points by Sparkenstein on Aug 9, 2019 | hide | past | favorite | 1 comment



I heard some people say screw these CMake, Autotools, Makefiles, Ninjas, mesons, etc. Compilation of even big projects takes seconds. Just use a batch file on Windows and shell script on Linux. It was Casey Muratori on his Handmade Hero stream. I think he is right and most projects don't need even a Makefile.

I've been learning CMake recently and it seems that quite literally every part of it is ridden with edge cases and weird bumps. Like:

  - Variables can have a type, but it's not really a type, it's for GUI only.
  - There are cache variables but regular variables take precedence except if you set a cache variable with FORCE. But if you do so, then it hides the normal variable and you get different behaviour on subsequent runs.
  - Variables can be combined in an array, except it is a string separated by ;.
  - There is a bunch of deprecated syntax that you shouldn't use but should be aware of. You should start your CMakeList.txt files with a weird conditional that sets the minimum required version using a syntactic hack.
  - It ignores $CPPFLAGS in some cases, Arch Wiki said so.
  - There are multiple values for true and false. Things like YES, 1, ON, TRUE, NO, 0, OFF, FALSE.
  - For older versions of CMake a string literal can evaluate to the value of similarly named variable.
  - It is really a programming language. There is seems to be so much to it, it doesn't look limited
I just started to learn. It's not a big deal, but it feels messy.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: