This question is about the project
command and, by extension, what the concept of a project
means in cmake. I genuinely don't understand what a project
is, and how it differs from a target
(which I do understand, I think).
I had a look at the cmake documentation for the project
command, and it says that the project
command does this:
Set a name, version, and enable languages for the entire project.
It should go without saying that using the word project to define project is less than helpful.
Nowhere on the page does it seem to explain what a project actually is (it goes through some of the things the command does, but doesn't say whether that list is exclusive or not). The cmake.org examples take us through a basic build setup, and while it uses the project
keyword it also doesn't explain what it does or means, at least not as far as I can tell.
What is a project? And what does the project
command do?