Я создаю проект на C ++ с использованием кода Visual Studio в качестве моей IDE и cmake в качестве моего инструментария сборки. Используя "официальные" CMake Tools , я могу сделать компиляцию "in-tree":
myComplexProjectName/
include/
src/
build/ <--Created by CMake
Однако я хотел бы сделать компиляцию вне дерева, как это :
~/Documents/
Projets/
...
myComplexProjectName/
builds/
myComplexProjectName/
Папка ~/Documents/builds/
уже существует.
Я пытаюсь использовать задачи Visual Studio Code для реализации этой конфигурации. Я попробовал следующую tasks.json
конфигурацию:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build Cpp CAN Parser static library",
"type": "shell",
"command": "cmake",
"args": [
"${workspaceFolder}"
],
"options": {
"cwd": "~/Documents/builds/${workspaceFolderBasename}/"
},
"group": "build",
"presentation": {
// Reveal the output only if unrecognized errors occur.
"reveal": "silent"
},
// Use the standard MS compiler pattern to detect errors, warnings and infos
"problemMatcher": "$gcc"
}
]
}
, с которой я получаю следующую ошибку:
> Executing task: cmake /home/<username>/Documents/Projets/CAN/myComplexProjectName <
The terminal shell CWD "/home/<username>/Documents/Projets/CAN/myComplexProjectName/~/Documents/builds/myComplexProjectName/" does not exist
Очевидно, я мог бы создать выходную папку сам, но есть ли способ, которым я могу автоматизировать создание папки перед запуском задачи?