将 Sublime Text 与 cmake(构建系统)结合使用

Using Sublime Text with cmake (build system)

我正在 Ubuntu 使用 Sublime Text 并学习 OpenCV。直到今天,我都是用Sublime Text编写和保存代码,用Terminal编译。

我正在使用以下代码进行编译:

cmake .
make
./a.out

但是为了快速处理,我正在尝试制作我的构建系统,我想通过按 Ctrl + B

自动完成这一切

我在自定义构建系统中尝试了以下代码,但失败了:

{
    "cmd": ["cmake ."],
    "cmd": ["make"],
    "cmd": ["./a.o"],
    "selector": "source.c++",
    "shell": true,

    "windows":
    {
        "cmd": ["cl", "/Fo${file_path}", "/O2", "$file"],
        "selector": "source.c++",
        "shell": true
    }
}

有什么想法吗?谢谢

您的构建系统中应该只有一个 "cmd" 密钥。请阅读 the docs 了解更多信息。相反,您可以使用 && 运算符连接您的命令:

{
    "cmd": ["cmake .", "&&", "make", "&&", "./a.out"],
    "selector": "source.c++",
    "shell": true,
}

既然你在 Linux,你根本不需要 Windows 东西。

感谢MattDMo,我构建了一个可以正常工作的构建系统,这里是:

{
    "cmd": ["cp /home/as/Documents/c++/opencv/CMakeLists.txt ${file_path} &&  cmake . && make && ./project"], "working_dir": "${file_path}",
    "selector": "source.c++",
    "shell": true
}

它将CMakeLists.txt(这是默认的CMakeList.txt我准备适合每个项目)复制到当前项目目录和运行项目。

此外,CMakeLists.txt 包括以下文本:

cmake_minimum_required(VERSION 2.8)
project( project )
find_package( OpenCV REQUIRED )
add_executable( project main.cpp )
target_link_libraries( project ${OpenCV_LIBS} )

我希望 运行 所有 OpenCV 项目!

您可以使用cmake创建一个sublime项目。只需执行

cmake -G "Sublime Text 2 - Unix Makefiles" .

我不知道它是否适用于 subime text 3,因为我没有安装它