Как автоматически сделать после того, как cmake закончил генерировать файлы - PullRequest
0 голосов
/ 10 февраля 2019

В настоящее время я пытаюсь настроить «автоматический процесс сборки» на Mac для моего C ++ «Hello World Project», который использует код Cmake & visual studio.

Мой текущий рабочий процесс для сборки в терминале или с помощью vscode'stasks.json следующее, и я нахожу их очень утомительными.

  1. cmake ... (для генерации файлов cmake и make в папке сборки)
  2. make (внутри папки сборки для создания исполняемого файла приложения)
  3. Исполняемый файл ./‹.* custom bash script
  4. python-скрипты

Но я немного растерялся с описанными выше попытками и мне нужна помощь.Моя конечная цель состоит в том, чтобы автоматически создавать и запускать обновленный код, нажав F5 в vscode или вызвав пользовательский ./ndomcommand} в терминале.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Объединяя все предложения, я решил создать файл task.json, содержащий следующий поток команд

  • cmd1: cmake для генерации файлов makefiles & cmake в папку сборки
  • cmd2: сделать -j 8 для сборки с несколькими ядрами
  • cmd1 && cmd2

Затем я сделал два разных запуска в launch.json.Основным отличием между ними является предварительная задача.Один из них - «cmd1 && cmd2», а другой - только «cmd2».Таким образом, я могу выбрать две горячие клавиши, такие как F5 и F7.Если структура папок и файлы не были добавлены или удалены, я нажму F7, которая вызывает только задачу предварительного запуска «cmd2», в противном случае F5.

Я думаю, что лучший подход - это написать сценарий bash иликопайте глубже в cmakelist.txt, который, как мне кажется, содержит «операторы if», определяющие, когда следует делать «cmd1 && cmd2» или только «cmd2».Таким образом, мне не нужны две горячие клавиши для сборки / отладки и запуска в vscode (не знаю, возможно ли это, я еще не пробовал.)

Если кто-то сделал это, пожалуйста, прокомментируйтениже или создайте новый ответ.

Спасибо всем!

0 голосов
/ 10 февраля 2019

Вы можете запустить

cmake --build

после первого конфигурирования сборки.Необязательные параметры включают каталог сборки и цели для сборки.

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