The CMake parser is used for .cmake
and CMakeLists.txt
files.
It generates tags for the following items:
- User-defined functions
- User-defined macros
- User-defined options created by
option()
- Variables defined by
set()
- Targets created by
add_custom_target()
,add_executable()
andadd_library()
The parser uses the experimental multi-table regex ctags
options to
perform the parsing and tag generation.
Caveats:
Names that are
${}
references to variables are not tagged.For example, given the following:
set(PROJECT_NAME_STR ${PROJECT_NAME}) add_executable( ${PROJECT_NAME_STR} ... ) add_custom_target( ${PROJECT_NAME_STR}_tests ... ) add_library( sharedlib ... )...the variable
PROJECT_NAME_STR
and targetsharedlib
will both be tagged, but the other targets will not be.
References:
https://cmake.org/cmake/help/latest/manual/cmake-language.7.html