#c #qt #cmake
#c #qt #cmake
Вопрос:
Я использую Qt для разделения проектов на несколько каталогов, которые я мог бы назвать компонентами. В каждую папку я помещаю .pri
файл, который ссылается на эту папку .h
и .cpp
файлы. И я часто добавляю .pro
файл к этим компонентам, чтобы быстро собрать / протестировать / проверить только этот компонент (я имею в виду, что это .pro
будет включать только мой компонент .pri
).
И , конечно , у меня есть проект .pro
, который включает в себя несколько .pri
. Другими словами .pri
, s используются в двух контекстах: при быстрой сборке / тестировании / проверке только этого конкретного компонента и при сборке основного проекта.
В наши дни, похоже, cmake становится все более популярным, и я читаю об этом здесь и там. Если переместить мой проект в cmake, могу ли я по-прежнему разделить его на вложенные папки, иметь cmakelists.txt в каждой папке / компоненте? И иметь основной cmakelists.txt что относится к компонентам?
Комментарии:
1. Короткий ответ: да, вы можете сделать это с помощью cmake.
2. Я создаю иерархию, в которой есть CMakeLists.txt в каждой папке.
3. Как вы вызываете вспомогательный CMakeLists.txt с самого верха CMakeLists.txt ?
4.@KcFnMi, cmake.org/cmake/help/latest/command/add_subdirectory.html.
5. @KcFnMi, вы просто включаете подкаталог и можете ссылаться на целевое имя и фактически на все из проекта подкаталога. Язык CMake намного богаче, чем язык qmake. Удобные настройки, которые вы использовали для размещения в pri-файле, могут быть определены в переменной CMake или списке. Подпроекты также доступны для просмотра определений из других подпроектов, а также из основного CMakeLists.txt досье.