def __init__(self, window):
super(CMakeGenerator, self).__init__()
data = window.project_data()["settings"]["cmake"]
self.build_folder_pre_expansion = data["build_folder"]
data = sublime.expand_variables(data, window.extract_variables())
self.build_folder = self._pop(data, "build_folder")
if not self.build_folder:
raise KeyError('missing required key "build_folder"')
self.build_folder = os.path.abspath(self.build_folder)\
.replace("\\", "/")
pfn = window.project_file_name()
if not pfn:
self.source_folder = window.extract_variables()["folder"]
else:
self.source_folder = os.path.dirname(pfn)
while os.path.isfile(
os.path.join(self.source_folder, "..", "CMakeLists.txt")):
self.source_folder = os.path.join(self.source_folder, "..")
self.source_folder = os.path.abspath(self.source_folder)
self.source_folder = self.source_folder.replace("\\", "/")
self.command_line_overrides = self._pop(
data, "command_line_overrides", {})
self.filter_targets = self._pop(data, "filter_targets", [])
self.configurations = self._pop(data, "configurations", [])
self.env = self._pop(data, "env", {})
self.target_architecture = self._pop(
data, "target_architecture", "x86")
self.visual_studio_versions = self._pop(
data, "visual_studio_versions", [15, 14])
self.window = window
assert self.build_folder
评论列表
文章目录