Автоматизировать сборку CMake с помощью скрипта C ++ - PullRequest
0 голосов
/ 24 апреля 2019

Я хотел бы автоматизировать сборку CMake с использованием сценария MSVC C ++ вместо использования CMake-gui для создания терминала сборки или CMake или использования CMake, интегрированного в MSVC 2017, щелкнув правой кнопкой мыши на CMakeLists.txt, чтобы создать его вручную,Предположим, у нас есть проект (назовите его: initialize), который включает в себя CMakeLists.txt и initialize.cpp, поэтому мой вопрос заключается в том, как я могу преобразовать эти команды в код C ++, предположим build_initialize.cpp:

  • mkdir build
  • cd build /
  • cmake ..

Итак, этот крошечный код C ++ должен

  • Задайте путь к этому проекту
  • Создайте папку сборки
  • Запустите CMake

В конце, если я выполню build_initialize.exe, задание будет просто построить инициализацию.cpp используя CMake.Цель состоит в том, чтобы проверить, является ли сборка успешной или нет как тестовый пример в другом проекте, который имеет несколько тестовых случаев.

Вы можете спросить, почему я не включил его в верхний CMakelists.txt, а затем собратьэто с самого начала используя CMake.Если я собираюсь это сделать, я получу исполняемый файл.В результате, при запуске ctest из CMake, initialize.exe потребует определенного количества аппаратного обеспечения.Это не цель.Моя цель - просто построить его.Если я запускаю build_initialize.exe, просто повторите сборку с использованием CMake без запуска initialize.exe.

Извините, это может быть очень просто, но мне не хватает хорошего опыта в C ++ или CMake.Два дня были потеряны без успеха.

1 Ответ

0 голосов
/ 29 апреля 2019

Спасибо всем вам за комментарии.Ответ был дан @Fred.Чтобы запустить cmake из скрипта C ++, можно просто использовать system (), например: System (cmake -S path_to_src -B path_to_bld).Полезная ссылка: https://faq.cprogramming.com/cgi-bin/smartfaq.cgi?id=1043284392&answer=1044654269

...