naming conventions for CMake functions

In general, CMake functions use the following naming convention:

command names are all lowercase with words separated by underscores

For example:

ExternalData_add_test(...)
ExternalData_add_target(...)
ExternalData_expand_arguments(...)

Some CMake modules use a different notation:

ExternalProject_Get_Property(...)
ExternalProject_Add_StepTargets(...)
ExternalProject_Add_Step(...)
ExternalProject_Add_StepDependencies(...)
ExternalProject_Add(...)

FetchContent_Declare(...)
FetchContent_MakeAvailable()
FetchContent_GetProperties(...)
FetchContent_Populate(...)

Are there more conventions? Is it possible to make the documentation more consistent? I suggest adding naming conventions to Help/dev/documentation.rst under the section Style: CMake Command Signatures

Function names are case insensitive. For my own projects i use the same casing as used by the CMake documentation. For consistency I am considering to use the lowercased version, instead - unless i am overlooking something.

Making it more explicit seems fine to me (that MakeAvailable might be more difficult to handle :confused: ).

Conventions evolved over time. For module-provided functions, I’ve opened CMake MR 6793 to document the current conventions.