Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 885 Bytes

File metadata and controls

19 lines (14 loc) · 885 Bytes

CMake

CMake is a build system generator (it's not a build system per definition). We use modern CMake which refers in our case to CMake 3.12 and above.

What is "modern"?

DO NOT use link_libraries() or include_directories() without a target_ prefix. Modern CMake is target based.

These talks give a good introduction into modern CMake:

I beg of you: Don't follow tutorials that only require CMake >= 2.8. You'll only learn outdated CMake and it will not be fun. You will hate CMake. Target based CMake is way easier. :-)

If you find projects that manage their sources using a global PROJECT_SRC variable, it's outdated!