Qt Extended Home · Build System Home · Reference · User Guide · Internals |
The example create_a_pro_file can be used as a hands-on example of how to create a project file.
Start by copying it somewhere and generating a basic qbuild.pro file using qbuild -project.
qbuild -project
This will create a file qbuild.pro with contents similar to the following.
TEMPLATE=app TARGET=example CONFIG+=qtopia quicklaunch # I18n info STRING_LANGUAGE=en_US LANGUAGES=en_US # Package info pkg [ name=example desc="No Description" license=Unknown version=1.0 maintainer="Unknown <unknown@example.com>" ] # Input files FORMS=\ examplebase.ui HEADERS=\ example.h SOURCES=\ main.cpp\ example.cpp # Install rules target [ hint=sxe domain=untrusted ] desktop [ hint=desktop files=example.desktop path=/apps/Applications ] pics [ hint=pics files=pics/* path=/pics/example ] help [ hint=help source=help files=*.html ]
This file is sufficient to build the application binary but it is missing many things that should be present for a well-behaved application.
Let's start by adding some internationalization information. Not strictly required but a good idea.
# Specify the languages that make lupdate should produce .ts files for AVAILABLE_LANGUAGES=en_US # Specify the langauges we want to install translations for LANGUAGES=$$AVAILABLE_LANGUAGES
Then we need to install the .desktop file for the app to appear in the launcher.
desktop.hint=nct desktop desktop.files=example.desktop desktop.path=/apps/Applications desktop.trtarget=create_a_pro_file-nct
This puts us in the Applications folder. Change the .path value to use another folder. Note that you need to perform extra steps to define new folders. See Create a launcher folder for more information.
The use of .trtarget and .hint=nct is optional but a good idea so that translations can be made.
Note that the .desktop file specifies the binary name (whatever TARGET is) and it specifies the same file for translations as the .trtarget value.
The .desktop file references a picture. We need to install it. It's best to use a general pictures directory to ensure icons and such are handled correctly.
pics.hint=pics pics.files=pics/* pics.path=/pics/create_a_pro_file
Note the .path value. Installing images into a directory named the same as your TARGET ensures that there are no conflicts. The resource system also looks in this direcory first when trying to find images.
To satisy the online help requirement we'll install a help file.
help.hint=help help.source=help help.files=create_a_pro_file.html
Again, note the use of the TARGET name here. Online help also looks at TARGET-<objname>.html for context-sensitive help. The object name of the toplevel window is used.
Finally we'll add some packaging information so that the application can be packaged.
pkg.name=create_a_pro_file pkg.desc=Example Application pkg.version=1.0.0-1 pkg.maintainer=My Company (www.mycompany.com) pkg.license=Commercial
See also Tasks and Project Files.
Copyright © 2009 Trolltech | Qt Extended - Build System Documentation |