2015-07-24 2 views
0

Я привык работать с Makefile, но в моем текущем проекте используются файлы .qbs. Как запустить простую команду терминала через qbs без создания или запроса файлов? Подобно фальшивому правилу в make.Qbs: Как запустить простую команду терминала?

Следующие работы и шоу «удивительные» в моем терминале.

import qbs 1.0 

Project { 
    name: "cli" 

    Product { 
     name: "helloworld" 
     type: "application" 
     files: "TEST.c" 
     Depends { name: "cpp" } 
    } 

    Product { 

     type: ["custom-image"] 
     Depends { name: "helloworld" } 

     Rule { 
      inputsFromDependencies: ["application"] 
      Artifact { 
       fileTags: ["custom-image"] 
      } 
      prepare: { 
       var cmd = new Command("echo", "awesome") 
       return cmd 
      } 
     } 
    } 
} 

Однако я должен коснуться моим манекен TEST.c файла перед каждым запуском. Без зависимости helloworld Правило не выполняется.

Любые идеи? Большое спасибо!

ответ

0

Он похоронен в документации в очень неочевидном месте и далее скрыт командованием (что неверно, LOL). У меня тоже была твоя проблема.

Что вам нужно это: http://doc.qt.io/qbs/jsextension-process.html

0

Я не уверен, что ваша конечная цель, но вы можете использовать Transformer{} вместо Rule{}. Самое большое различие между Rule{} и Transformer{} - вам не нужны никакие входы для Transformer{} для запуска.

Также смотрите Transformer.alwaysRun Недвижимость.

https://doc.qt.io/qbs/transformer-item.html

Смежные вопросы