CMake user

This kind of developer can read CMake code that was written by more experienced CMake developer. He understand some simple features like that executable added by add_executable command and this command contains list of sources files. But probably will not be able to tell why in some cases include_directories command called but target_include_directories in other cases. The main target of modifications is C++ code.

Such developers can do:

  • Add more targets to project
  • Add more sources to targets
  • Add C++ flags that does not break compatibility (e.g. warnings/optimization)

Such developers can’t do:

  • Add more external dependencies to project
  • Adding flags that can break compatibility (e.g. -std=c++11 or /MT)

See also: