Приложение QML с подкаталогом C ++ plugin (cmake)

Я занимаюсь разработкой приложения Ubuntu Phone «Приложение QML с плагином C ++ (cmake)», но у меня так много qml-файлов, что я хочу разделить их по функциональности

ApplicationName

  • CMakeListes.txt
  • ..
  • app
    • CmakeListes.txt
    • ApplicationName.desktop.in
    • тестирует
    • подкаталоги mainComponents
      • в mainComponents
        • некоторые файлы
        • некоторые другие файлы
        • ApplicationName.qml
      • po
        • CMakeListes.txt
      • ApplicationName.apparmor
      • manifest.json.in

      , но Доза папки «mainComponents» не отображается в дереве проекта, и после некоторых поисков я обнаружил, что должен добавить CMakeListes.txt в каждую новую папку и это:

      add_subdirectory (folder_name)

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

      спасибо

1
задан 3 April 2015 в 17:17

1 ответ

Просто необходимо выучить язык CMake. Это - язык файлов CMakeListes.txt, которые являются на всем протяжении проекта.

Этот язык определяет, как разработать проект. И этот язык независим от QtCreator IDE, который мы используем. Так, можно сделать сборки без QtCreator и создать CMakeListes.txt вручную, где Вы желаете.

Назад к проблеме:

можно использовать 'add_subdirectory' и записать CMakeListes.txt для каждого подкаталога и добавить имена файлов к переменной QML_JS_FILES в каждом CMakeListes.txt.

, Но можно также сделать как парни, которые разрабатывают базовое приложение, сделайте: например, в терминальном приложении человечности (исходный код находится на https://launchpad.net), они используют рекурсивное, включают в app/CMakeListes.txt:

file(GLOB_RECURSE QML_JS_FILES *.qml *.js)

вместо нерекурсивного:

file(GLOB QML_JS_FILES *.qml *.js)

обновление: Да, обычно, ШАРИКИ не рекомендуются, но они уже находятся в шаблонах проекта для моделирования некоторого 'автоматического' поведения.

3
ответ дан 3 April 2015 в 17:17

Другие вопросы по тегам:

Похожие вопросы: