Hatred's Log Place

DON'T PANIC!

May 4, 2023 - 2 minute read - programming projects

Qt Creator & CMake: завезли добавление/удаление/переименование файлов

Итак, обновляю свой CMakeProjectManager2 и что я вижу:

  • 71eb0ab9f8e98df9bd021c1c49d7ec00a66492cb - завезли парсер CMake в стоковый плагин.
  • d41365610ff80478d8c6c2812299d95d139561ec - его интегрировали в билд.
  • d8be2491a5f5cfdc512f63c766a550dd43694063 / 13 апреля 2023 - реализовали добавление новых и существующих файлов к таргету, причём файл пытается добавляться прямо в CMakeLists.txt: файл будет добавлен последним элементов к соответствующей “well-known” функции (они захардкожены) типа add_executable(), add_library(), qt_add_executable(), qt_add_library(), qt6_add_executable(), qt6_add_library(). Для кастомных функций будет добавлен вызов target_sources(), что тоже неплохо. Уже можно начинать пользоваться.
  • 039baab6e70160bc8130ef95e499141f7c875225 / 20 апреля 2023 - реализовали вышеперечисленное для QtQuick проектов, в список “well-known” функций добавились: qt_add_qml_module(), qt6_add_qml_module()
  • 54af6bd5b3f5ba5e3396f5cb9eb539f198abafff / 21 апреля 2023 - разрешили переименовывать файлы. Работает как для явно указанных файлов, так и для добавленных через file(GLOB|GLOB_RECOURSE).
  • 411b2e05b8ac4442d1ef179381dc7c37492ab37b / 24 апреля 2023 - разрешили удалять файлы.
  • 5c2b2966e78129dcbd220e35e15f6278a1b3d05d / 27 апреля 2023 - разрешили добавлять существующую директорию. Пока, как я понял, добавляются все файлы, а не add_subdirectory(). Что, по мне, более логично: все операции target-ориентированные.
  • 874b1133d9cfaef179851aa925b7d6b96e85019b / 26 апреля 2023 - пофиксили удаление и переименование, что бы оно срабатывало и с файлами, которые указываются через переменные для таргета.

Ну и пачка мелких фиксов.

На текущий момент, меня огорчает отсутствие вывода всех файлов их проектной директории (например, README.md или скрипты вспомогательные, которые вполне можно редактировать в QtC), но уже можно начинать пытаться нормально работать.

Собственно в рамках CMakeProjectManager2 я теперь попытаюсь реализовать возможность отобразить всех файлов, по аналогии с текущей реализацией и подключить добавление файлов из апстрима.

А вообще, тенденция к тому, что CMakeProjectManager2 можно будет выкинуть меня радует!