aplicativo QML com subdiretório de plug-in (cmake) do C ++

1

Estou desenvolvendo um aplicativo QML do aplicativo do Phone do Ubuntu com o plug-in C ++ (cmake), mas tenho muitos arquivos qml, então quero separá-los por funcionalidade

ApplicationName

  • CMakeListes.txt
  • ..
  • app
    • CmakeListes.txt
    • ApplicationName.desktop.in
    • testes
    • mainComponents
      • sub-diretórios de mainComponents
        • alguns arquivos
      • alguns outros arquivos
    • ApplicationName.qml
  • po
    • CMakeListes.txt
  • ApplicationName.apparmor
  • manifest.json.in

mas a dose da pasta "mainComponents" não aparece na árvore do projeto e depois de algumas pesquisas descobri que devo adicionar o CMakeListes.txt em cada nova pasta e isso:

add_subdirectory (folder_name)

instrução no arquivo CMakeListes.txt da pasta pai, mas não sei se há mais para adicionar e não sei como criar o CMakeListes.txt

obrigado

    
por leouss4dev 03.04.2015 / 16:17

1 resposta

3

Você só precisa aprender a linguagem CMake. É a linguagem dos arquivos CMakeListes.txt que estão em todo o projeto.

Esta linguagem especifica como construir o projeto. E essa linguagem é independente do QtCreator IDE que estamos usando. Então, você pode fazer builds sem o QtCreator e criar manualmente o CMakeListes.txt onde desejar.

Voltar para o problema:

Você pode usar 'add_subdirectory' e escrever CMakeListes.txt para cada subdiretório e acrescentar nomes de arquivos à variável QML_JS_FILES em cada CMakeListes.txt.

Mas você também pode fazer como os caras que desenvolvem o aplicativo principal: por exemplo, no ubuntu-terminal-app (o código-fonte está no link ) , eles usam uma inclusão recursiva em app / CMakeListes.txt:

file(GLOB_RECURSE QML_JS_FILES *.qml *.js)

em vez de não recursivo:

file(GLOB QML_JS_FILES *.qml *.js)

update: Sim, geralmente, os GLOBs não são recomendados, mas eles já estão nos modelos de projeto para simular algum tipo de comportamento 'automático'.

    
por Velkan 03.04.2015 / 19:11