====== *.pro files ====== ===== Description ===== For every Qt project there is a ''*.pro'' file in the project directory that describes the project to [[qmake]]. The file takes its name from the project directory. The project's ''{directory-name}.pro'' file is typically created once in a project's lifetime and then edited to reflect configuration options, the addition of code files, etc. ===== Syntax ===== |''#'' | comment | |'' .'' | the current directory | |''{PROPERTY} = {option}'' | sets an option | |''{PROPERTY} += {option}'' | adds an option | |''{PROPERTY} -+ {option}'' | removes an option | ===== File creation ===== To create a ''{directory-name}.pro'' file in a project directory, run qmake -project in a terminal shell. If there are any source or other project files in the directory when the above is run, those files will be automatically included in ''{directory-name}.pro''. Running ''qmake -project'' when there is at least a ''main.cpp'' (or similar) file will greatly simplify future modifications. Here is a virgin ''*.pro'' file for a directory that has ''main.cpp'' in it (where main.cpp is a Qt application): ###################################################################### # Automatically generated by qmake (2.01a) Tue Dec 7 17:15:59 2010 ###################################################################### TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . # Input SOURCES += main.cpp In contrast, here is a virgin ''*.pro'' file in a virgin (empty) directory: ###################################################################### # Automatically generated by qmake (2.01a) Tue Dec 7 17:07:32 2010 ###################################################################### TEMPLATE = subdirs # Directories ===== Enabling debug/release builds ===== In Unix (including Linux and OS X) you can explicitly specify debug and release build options: CONFIG += debug_and_release debug only: CONFIG += debug or release only: CONFIG += release These options will cause additional Makefiles to be made. If you do not specify an option in Unix, you will get a debug build (assuming the debug versions of Qt libraries are installed). I have not yet tested Windows, but the above config option is supposedly not needed and/or invalid in Windows. ===== Adding source code files ===== To add the files ''{YourClass}.h'' and ''{YourClass}.cpp'' to your project, replace SOURCES += main.cpp with SOURCES = main.cpp \ {YourClass}.cpp HEADERS = {YourClass}.h ===== Adding resource collection files ===== For a resource to be compiled into the binary the *.qrc file must be mentioned in the .pro file: RESOURCES = foo.qrc ===== Additional Qt libraries ===== The QtCore and QtGUI libraries are included in all projects by default. To add additional Qt libraries to your project, include: QT += {libname1} {libname2} ... {libnameN} to remove: QT -= {libname1} where ''{libnameX}'' is one of: ''network'', ''opengl'', ''sql'', ''xml'', ''support''. (Note: this list may not be complete as new libraries may have been added since this was written.) The above names correspond to the QtNetwork, QtOpenGL, QtSQL, QtXML, and QtAssistantClient+Qt3Support libraries. ===== Official documentation ===== [[http://doc.qt.nokia.com/qmake-project-files.html]]