Автоматически создавать папку CWD задачи с помощью кода Visual Studio - PullRequest
0 голосов
/ 12 января 2020

Я создаю проект на 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

Очевидно, я мог бы создать выходную папку сам, но есть ли способ, которым я могу автоматизировать создание папки перед запуском задачи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...