insert_diagnosis.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:CMakeBuilder 作者: rwols 项目源码 文件源码
def _diagnose(self, edit):
        self.table = []
        try:
            output = check_output("cmake --version").splitlines()[0][14:]
        except Exception as e:
            self.table.append(["cmake present", False, "Install cmake"])
            return
        else:
            self.table.append(["cmake version", output, ""])
        try:
            server_mode = capabilities("serverMode")
            self.table.append(["server mode", server_mode, ""])
        except Exception as e:
            self.table.append(["server mode", False,
                               "Have cmake version >= 3.7"])

        project = self.view.window().project_data()
        project_filename = self.view.window().project_file_name()

        if project_filename:
            self.table.append(["project file", project_filename, ""])
        else:
            self.table.append(["project file", "NOT FOUND",
                               "Open a .sublime-project"])
            self.error_count += 1
            return

        cmake = project.get("settings", {}).get("cmake", None)

        if cmake:
            cmake = sublime.expand_variables(
                cmake,
                self.view.window().extract_variables())
            buildFolder = cmake['build_folder']
            if buildFolder:
                self.table.append(["cmake dictionary present in settings",
                                   True, ""])
                cache_file = os.path.join(buildFolder, 'CMakeCache.txt')
                if os.path.isfile(cache_file):
                    self.table.append([
                        "CMakeCache.txt file present", True,
                        "You may run the Write Build Targets command"])
                else:
                    self.table.append(["CMakeCache.txt file present", False,
                                       "Run the Configure command"])
                    self.error_count += 1
                    return
            else:
                self.table.append(["build_folder present in cmake dictionary",
                                   False, "Write a build_folder key"])
                self.error_count += 1
        else:
            self.table.append(["cmake dictionary present in settings", False,
                               "Create a cmake dictionary in your settings"])
            return
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号