MCPcopy Create free account
hub / github.com/Kitware/CMake / apply

Method apply

Utilities/Sphinx/cmake.py:274–304  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

272 return title
273
274 def apply(self):
275 env = self.document.settings.env
276
277 # Treat some documents as cmake domain objects.
278 objtype, sep, tail = env.docname.partition('/')
279 make_index_entry = _cmake_index_objs.get(objtype)
280 if make_index_entry:
281 title = self.parse_title(env.docname)
282 # Insert the object link target.
283 if objtype == 'command':
284 targetname = title.lower()
285 elif objtype == 'guide' and not tail.endswith('/index'):
286 targetname = tail
287 else:
288 if objtype == 'genex':
289 m = CMakeXRefRole._re_genex.match(title)
290 if m:
291 title = m.group(1)
292 targetname = title
293 targetid = f'{objtype}:{targetname}'
294 targetnode = nodes.target('', '', ids=[targetid])
295 self.document.note_explicit_target(targetnode)
296 self.document.insert(0, targetnode)
297 # Insert the object index entry.
298 indexnode = addnodes.index()
299 indexnode['entries'] = [make_index_entry(title, targetid)]
300 self.document.insert(0, indexnode)
301
302 # Add to cmake domain object inventory
303 domain = cast(CMakeDomain, env.get_domain('cmake'))
304 domain.note_object(objtype, targetname, targetid, targetid)
305
306
307class CMakeObject(ObjectDescription):

Callers

nothing calls this directly

Calls 6

parse_titleMethod · 0.95
note_objectMethod · 0.80
getMethod · 0.45
matchMethod · 0.45
insertMethod · 0.45
indexMethod · 0.45

Tested by

no test coverage detected