CMake: pro2cmake.py: Add scope debugging support

Dump scope trees for all scopes that contain a variable
'PRO2CMAKE_SCOPE_DEBUG' (set to any value).

Change-Id: If17bb1697a32ccaa427a858c2330ab2b019d0fa8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
This commit is contained in:
Tobias Hunger 2019-01-31 14:23:57 +01:00
parent cfbb110abe
commit 6dd989fe61

View File

@ -272,6 +272,10 @@ class Scope(object):
def merge_debug(self) -> bool: def merge_debug(self) -> bool:
return self.getString('PRO2CMAKE_MERGE_DEBUG', None) != None return self.getString('PRO2CMAKE_MERGE_DEBUG', None) != None
@property
def scope_debug(self) -> bool:
return self.getString('PRO2CMAKE_SCOPE_DEBUG', None) != None
@property @property
def parent(self) -> typing.Optional[Scope]: def parent(self) -> typing.Optional[Scope]:
return self._parent return self._parent
@ -351,6 +355,10 @@ class Scope(object):
scope.currentdir))) scope.currentdir)))
continue continue
if scope.scope_debug:
print('..... [SCOPE_DEBUG]: Created scope {}:'.format(scope))
scope.dump(indent=1)
print('..... [SCOPE_DEBUG]: <<END OF SCOPE>>')
return scope return scope
def _append_operation(self, key: str, op: Operation) -> None: def _append_operation(self, key: str, op: Operation) -> None: