Смежный вопрос .
Я являюсь частью команды, которая использует CMake & Visual Studio 2017, и в настоящее время у нас есть 3 уровня глубины в CMakeLists хранилища:
- CMakeList уровня решения, который определяет, какие проекты включить в сгенерированное решение MSVS (в хранилище более 40 проектов, и я использую только 10 из них)
- CMakeList уровня проекта: в основном устанавливает множество переменных, содержащих каталоги, для использования в следующем CMakeList.
- CMakeList исходного уровня: включает каталоги и макросы, связанные с платформой
Теперь, когда я добавляю некоторый класс в свой исходный код, мне нужно обновить как CMakeLists уровня проекта, так и уровня исходного кода, а если я создаю новый проект, также CMakeList уровня решения.
Это слишком ручное, повторяющееся и подверженное ошибкам (из-за копирования и вставки) на мой вкус и
Мне было интересно, есть ли какой-нибудь инструмент, который автоматизирует этот процесс, так как в настоящее время я должен вручную изменить эти файлы, что является подверженным ошибкам процессом (большое количество копирования и вставки). Я понимаю, что об этом должна заботиться IDE, однако AFAIK Visual Studio не предоставляет эту функциональность, фактически добавление класса через Visual Studio будет уничтожено при повторной генерации проекта (согласно this ).
В основном: когда я добавляю новый исходный файл, я хочу иметь своего рода мастера, который обновляет файлы CMake в соответствии с несколькими входами. Или заставьте Visual Studio правильно работать с CMake, чтобы я мог использовать функции IDE для всего этого.