By using \c LITERAL_HASH in this way, the \c # character can be used
to construct a URL for the \c message() function to print to the console.
\target MAKEFILE
\section3 MAKEFILE
This variable specifies the name of the makefile which
\e qmake should use when outputting the dependency information
for building a project. The value of this variable is typically
handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target MAKEFILE_GENERATOR
\section3 MAKEFILE_GENERATOR
This variable contains the name of the makefile generator to use
when generating a makefile. The value of this variable is typically
handled internally by \e qmake and rarely needs to be modified.
\target OBJECTS
\section3 OBJECTS
This variable is generated from the \link #SOURCES SOURCES
\endlink variable. The extension of each source file will have been
replaced by .o (Unix) or .obj (Win32). The value of this variable is
typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and
rarely needs to be modified.
\target OBJMOC
\section3 OBJMOC
This variable is set by \e qmake if files can be found that
contain the Q_OBJECT macro. \c OBJMOC contains the
name of all intermediate moc object files. The value of this variable
is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\target PRECOMPILED_HEADER
\section3 PRECOMPILED_HEADER
This variable indicates the header file for creating a precompiled
header file, to increase the compilation speed of a project.
Precompiled headers are currently only supported on some platforms
(Windows - all MSVC project types, Mac OS X - Xcode, Makefile,
UNIX - gcc 3.3 and up).
On other platforms, this variable has different meaning, as noted
below.
This variable contains a list of header files that retquire some
sort of pre-compilation step (such as with moc). The value of this
variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\target QMAKE
\section3 QMAKE
This variable contains the name of the \e qmake program
itself and is placed in generated makefiles. The value of this
variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\target QMAKESPEC_systemvariable
\section3 QMAKESPEC
This variable contains the name of the \e qmake
configuration to use when generating makefiles. The value of this
variable is typically handled by \e qmake and rarely needs to be modified.
Use the \link #QMAKESPEC QMAKESPEC \endlink environment variable instead.
\target QMAKE_APP_FLAG
\section3 QMAKE_APP_FLAG
This variable is empty unless the 'app'
\link #TEMPLATE TEMPLATE \endlink is specified. The value of this
variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified. Use the following instead:
\code
app {
#conditional code for 'app' template here
}
\endcode
\target QMAKE_APP_OR_DLL
\section3 QMAKE_APP_OR_DLL
This variable is empty unless the 'app' or 'dll'
\link #TEMPLATE TEMPLATE \endlink is specified. The value of this
variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\target QMAKE_AR_CMD
\section3 QMAKE_AR_CMD
\e {This is used on Unix platforms only}
This variable contains the command for invoking the program which
creates, modifies and extracts archives. The value of this variable is
typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink
and rarely needs to be modified.
\target QMAKE_CFLAGS_DEBUG
\section3 QMAKE_CFLAGS_DEBUG
This variable contains the flags for the C compiler in debug mode.The value of this variable is
typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink
and rarely needs to be modified.
\target QMAKE_CFLAGS_MT
\section3 QMAKE_CFLAGS_MT
This variable contains the compiler flags for creating a
multi-threaded application or when the version of Qt that you link
against is a multi-threaded statically linked library. The value of
this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_CFLAGS_MT_DBG
\section3 QMAKE_CFLAGS_MT_DBG
This variable contains the compiler flags for creating a debuggable
multi-threaded application or when the version of Qt that you link
against is a debuggable multi-threaded statically linked library. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_CFLAGS_MT_DLL
\section3 QMAKE_CFLAGS_MT_DLL
\e {This is used on Windows only}
This variable contains the compiler flags for creating a
multi-threaded dll or when the version of Qt that you link
against is a multi-threaded dll. The value of this variable is typically
handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and
rarely needs to be modified.
\target QMAKE_CFLAGS_MT_DLLDBG
\section3 QMAKE_CFLAGS_MT_DLLDBG
\e {This is used on Windows only}
This variable contains the compiler flags for creating a debuggable
multi-threaded dll or when the version of Qt that you link
against is a debuggable multi-threaded statically linked library.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_CFLAGS_RELEASE
\section3 QMAKE_CFLAGS_RELEASE
This variable contains the compiler flags for creating a non-debuggable
application. The value of this variable is typically
handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and
rarely needs to be modified.
\target QMAKE_CFLAGS_SHLIB
\section3 QMAKE_CFLAGS_SHLIB
\e {This is used on Unix platforms only}
This variable contains the compiler flags for creating a shared
library. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CFLAGS_THREAD
\section3 QMAKE_CFLAGS_THREAD
This variable contains the compiler flags for creating a multi-threaded
application. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CFLAGS_WARN_OFF
\section3 QMAKE_CFLAGS_WARN_OFF
This variable is not empty if the warn_off
\link #TEMPLATE TEMPLATE \endlink option is specified. The value of this
variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink
and rarely needs to be modified.
\target QMAKE_CFLAGS_WARN_ON
\section3 QMAKE_CFLAGS_WARN_ON
This variable is not empty if the warn_on
\link #TEMPLATE TEMPLATE \endlink option is specified.
The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CLEAN
\section3 QMAKE_CLEAN
This variable contains any files which are not generated files (such as moc and uic
generated files) and object files that should be removed when using "make clean".
\target QMAKE_CXXFLAGS_DEBUG
\section3 QMAKE_CXXFLAGS_DEBUG
This variable contains the C++ compiler flags for creating a debuggable
application. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT
\section3 QMAKE_CXXFLAGS_MT
This variable contains the C++ compiler flags for creating a multi-threaded
application. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT_DBG
\section3 QMAKE_CXXFLAGS_MT_DBG
This variable contains the C++ compiler flags for creating a debuggable multi-threaded
application. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT_DLL
\section3 QMAKE_CXXFLAGS_MT_DLL
\c {This is used on Windows only}
This variable contains the C++ compiler flags for creating a multi-threaded
dll. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT_DLLDBG
\section3 QMAKE_CXXFLAGS_MT_DLLDBG
\c {This is used on Windows only}
This variable contains the C++ compiler flags for creating a multi-threaded debuggable
dll. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_RELEASE
\section3 QMAKE_CXXFLAGS_RELEASE
This variable contains the C++ compiler flags for creating an
application. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_SHLIB
\section3 QMAKE_CXXFLAGS_SHLIB
This variable contains the C++ compiler flags for creating a
shared library. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_THREAD
\section3 QMAKE_CXXFLAGS_THREAD
This variable contains the C++ compiler flags for creating a
multi-threaded application. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_WARN_OFF
\section3 QMAKE_CXXFLAGS_WARN_OFF
This variable contains the C++ compiler flags for suppressing compiler warnings.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_CXXFLAGS_WARN_ON
\section3 QMAKE_CXXFLAGS_WARN_ON
This variable contains C++ compiler flags for generating compiler warnings.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_EXTENSION_SHLIB
\section3 QMAKE_EXTENSION_SHLIB
This variable contains the extention for shared libraries. The value of this
variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink
and rarely needs to be modified.
\target QMAKE_FAILED_REQUIREMENTS
\section3 QMAKE_FAILED_REQUIREMENTS
This variable contains the list of retquirements that were failed to be met when
\e qmake was used. For example, the sql module is needed and wasn't compiled into Qt. The
value of this variable is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink
and rarely needs to be modified.
\target QMAKE_FILETAGS
\section3 QMAKE_FILETAGS
This variable contains the file tags needed to be entered into the makefile, such as SOURCES
and HEADERS. The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_INCDIR
\section3 QMAKE_INCDIR
This variable contains the location of all known header files to be added to
INCLUDEPATH when building an application. The value of this variable is
typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely
needs to be modified.
\target POST_TARGETDEPS
\section3 POST_TARGETDEPS
All libraries that the \link #TARGET target \endlink depends on can be
listed in this variable. Some backends do not support this, these include
MSVC Dsp, and ProjectBuilder .pbproj files. Generally this is support
internally by these build tools, this is usefull for explicitly listing
dependant static libraries.
This list will go after all builtin (and \link #PRE_TARGETDEPS
$$PRE_TARGETDEPS \endlink) dependencies.
\target PRE_TARGETDEPS
\section3 PRE_TARGETDEPS
All libraries that the \link #TARGET target \endlink depends on can be
listed in this variable. Some backends do not support this, these include
MSVC Dsp, and ProjectBuilder .pbproj files. Generally this is support
internally by these build tools, this is usefull for explicitly listing
dependant static libraries.
This list will go before all builtin dependencies.
\target QMAKE_INCDIR_OPENGL
\section3 QMAKE_INCDIR_OPENGL
This variable contains the location of OpenGL header files to be added
to INCLUDEPATH when building an application with OpenGL support. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_INCDIR_QT
\section3 QMAKE_INCDIR_QT
This variable contains the location of all known header file
paths to be added to INCLUDEPATH when building a Qt application. The value
of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_INCDIR_THREAD
\section3 QMAKE_INCDIR_THREAD
This variable contains the location of all known header file
paths to be added to INCLUDEPATH when building a multi-threaded application.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_INCDIR_X11
\section3 QMAKE_INCDIR_X11
\e {This is used on Unix platforms only}
This variable contains the location of X11 header file paths to be
added to INCLUDEPATH when building a X11 application. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target QMAKE_LFLAGS_CONSOLE
\section3 QMAKE_LFLAGS_CONSOLE
\e {This is used on Windows only}
This variable contains link flags when building console
programs. The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_CONSOLE_DLL
\e {This is used on Windows only}
This variable contains link flags when building console
dlls. The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_DEBUG
This variable contains link flags when building debuggable applications. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_PLUGIN
This variable contains link flags when building plugins. The value
of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_QT_DLL
This variable contains link flags when building programs that
use the Qt library built as a dll. The value of this variable is
typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_RELEASE
This variable contains link flags when building applications for
release. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_SHAPP
This variable contains link flags when building applications which are using
the 'app' template. The value of this variable is typically handled by
\e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_SHLIB
This variable contains link flags when building shared libraries
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_SONAME
This variable specifies the link flags to set the name of shared objects,
such as .so or .dll. The value of this variable is typically handled by \e
qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_THREAD
This variable contains link flags when building multi-threaded projects.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_WINDOWS
\e {This is used on Windows only}
This variable contains link flags when building windows projects.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LFLAGS_WINDOWS_DLL
\e {This is used on Windows only}
This variable contains link flags when building windows dll projects.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBDIR
This variable contains the location of all known library
directories.The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBDIR_FLAGS
\e {This is used on Unix platforms only}
This variable contains the location of all library
directory with -L prefixed. The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 VPATH
This variable tells \e qmake where to search for files it cannot
open. With this you may tell \e qmake where it may look for things
like SOURCES, and if it finds an entry in SOURCES that cannot be
opened it will look through the entire VPATH list to see if it can
find the file on its own.
See also \link #DEPENDPATH DEPENDPATH \endlink.
\target DEPENDPATH
\section3 DEPENDPATH
This variable contains the list of all directories to look in to
resolve dependencies. This will be used when crawling through
'included' files.
\section3 QMAKE_LIBDIR_OPENGL
This variable contains the location of the OpenGL library
directory.The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBDIR_QT
This variable contains the location of the Qt library
directory.The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBDIR_X11
\e {This is used on Unix platforms only}
This variable contains the location of the X11 library
directory.The value of this variable is typically handled by
\e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS
This variable contains all project libraries. The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_CONSOLE
\e {This is used on Windows only}
This variable contains all project libraries that should be linked against
when building a console application. The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_OPENGL
This variable contains all OpenGL libraries. The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_OPENGL_QT
This variable contains all OpenGL Qt libraries.The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_QT
This variable contains all Qt libraries.The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_QT_DLL
\e {This is used on Windows only}
This variable contains all Qt libraries when Qt is built as a dll. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_QT_OPENGL
This variable contains all the libraries needed to link against if
OpenGL support is turned on. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_QT_THREAD
This variable contains all the libraries needed to link against if
thread support is turned on. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_RT
\e {This is used with Borland compilers only}
This variable contains the runtime library needed to link against when
building an application. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_RTMT
\e {This is used with Borland compilers only}
This variable contains the runtime library needed to link against when
building a multi-threaded application. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_THREAD
\e {This is used on Unix platforms only}
This variable contains all libraries that need to be linked against
when building a multi-threaded application. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_WINDOWS
\e {This is used on Windows only}
This variable contains all windows libraries.The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_X11
\e {This is used on Unix platforms only}
This variable contains all X11 libraries.The value of this
variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIBS_X11SM
\e {This is used on Unix platforms only}
This variable contains all X11 session management libraries. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LIB_FLAG
This variable is not empty if the 'lib' template is specified. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_LINK_SHLIB_CMD
This variable contains the command to execute when creating a
shared library. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_POST_LINK
This variable contains the command to execute after linking the TARGET
together. This variable is normally empty and therefore nothing is
executed, additionally some backends will not support this - mostly only
Makefile backends.
\section3 QMAKE_PRE_LINK
This variable contains the command to execute before linking the TARGET
together. This variable is normally empty and therefore nothing is
executed, additionally some backends will not support this - mostly only
Makefile backends.
\section3 QMAKE_LN_SHLIB
This variable contains the command to execute when creating a link
to a shared library. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_MAKEFILE
This variable contains the name of the makefile to create. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_MOC_SRC
This variable contains the names of all moc source files to
generate and include in the project. The value of this variable is
typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_QMAKE
This variable contains the location of qmake if it is not in the path.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_QT_DLL
This variable is not empty if Qt was built as a dll. The
value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_RUN_CC
This variable specifies the individual rule needed to build an object.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_RUN_CC_IMP
This variable specifies the individual rule needed to build an object.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_RUN_CXX
This variable specifies the individual rule needed to build an object.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_RUN_CXX_IMP
This variable specifies the individual rule needed to build an object.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_TARGET
This variable contains the name of the project target. The value of
this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 QMAKE_UIC
This variable contains the location of uic if it is not in the path.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
It can be used to specify arguments to uic as well, such as additional plugin
paths. For example:
\code
QMAKE_UIC = uic -L /path/to/plugin
\endcode
\section3 RC_FILE
This variable contains the name of the resource file for the application.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 RES_FILE
This variable contains the name of the resource file for the application.
The value of this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 SRCMOC
This variable is set by \e qmake if files can be found that
contain the Q_OBJECT macro. \c SRCMOC contains the
name of all the generated moc files. The value of this variable
is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\section3 TARGET_EXT
This variable specifies the target's extension. The value of this variable
is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\section3 TARGET_x
This variable specifies the target's extension with a major version number. The value of this variable
is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\section3 TARGET_x.y.z
This variable specifies the target's extension with version number. The value of this variable
is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\section3 UICIMPLS
This variable contains a list of the generated implementation files by UIC.
The value of this variable
is typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and rarely needs to be
modified.
\section3 UICOBJECTS
This variable is generated from the UICIMPLS variable. The extension of each
file will have been replaced by .o (Unix) or .obj (Win32). The value of this variable is
typically handled by \e qmake or \link #QMAKESPEC qmake.conf \endlink and
rarely needs to be modified.
\section3 VER_MAJ
This variable contains the major version number of the library, if the
'lib' \link #TEMPLATE template \endlink is specified.
\section3 VER_MIN
This variable contains the minor version number of the library, if the
'lib' \link #TEMPLATE template \endlink is specified.
\section3 VER_PAT
This variable contains the patch version number of the library, if the
'lib' \link #TEMPLATE template \endlink is specified.
\section3 QMAKE_EXT_MOC
This variable changes the extention used on included moc files.
See also \link #Extensions File Extensions \endlink.
\section3 QMAKE_EXT_UI
This variable changes the extention used on /e Designer UI files.
See also \link #Extensions File Extensions \endlink.
\section3 QMAKE_EXT_PRL
This variable changes the extention used on created PRL files.
See also \link #Extensions File Extensions \endlink,
\link #LibDepend Library Dependencies \endlink.
\section3 QMAKE_EXT_LEX
This variable changes the extention used on files given to lex.
See also \link #Extensions File Extensions \endlink,
\link #LEXSOURCES LEXSOURCES \endlink.
\section3 QMAKE_EXT_YACC
This variable changes the extention used on files given to yacc.
See also \link #Extensions File Extensions \endlink,
\link #LEXSOURCES YACCSOURCES \endlink.
\section3 QMAKE_EXT_OBJ
This variable changes the extention used on generated object files.
See also \link #Extensions File Extensions \endlink.
\section3 QMAKE_EXT_CPP
This variable changes the interpretation of all suffixes in this
list of values as files of type C++ source code.
See also \link #Extensions File Extensions \endlink.
\section3 QMAKE_EXT_H
This variable changes the interpretation of all suffixes in this
list of values as files of type C header files.
See also \link #Extensions File Extensions \endlink.
\section3 YACCIMPLS
This variable contains a list of yacc source files. The value of
this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\section3 YACCOBJECTS
This variable contains a list of yacc object files. The value of
this variable is typically handled by \e qmake or
\link #QMAKESPEC qmake.conf \endlink and rarely needs to be modified.
\target Functions
\section1 Functions
\e qmake recognizes the following functions:
\section2 include( filename )
This function will include the contents of \e filename into the
current project at the point where was included. The function succeeds
if \e filename was included, otherwise it fails. You can check the
return value of this function using a
scope.
For example:
\code
include( shared.pri )
OPTIONS = standard custom
!include( options.pri ) {
message( "No custom build options specified" )
OPTIONS -= custom
}
\endcode
\section2 exists( file )
This function will test if \e file exists. If the file exists, then it will succeed; otherwise it will
fail.
You can specify a regular expression in file and it will succeed if any file
matches the regular expression specified.
For example:
\code
exists( $(QTDIR)/lib/libtqt-mt* ) {
message( "Configuring for multi-threaded Qt..." )
CONFIG += thread
}
\endcode
\section2 contains( variablename, value )
This function will succeed if the variable \e variablename
contains the value \e value. You can check the return value of this
function using a scope.
For example:
\code
contains( drivers, network ) {
# drivers contains 'network'
message( "Configuring for network build..." )
HEADERS += network.h
SOURCES += network.cpp
}
\endcode
\section2 count( variablename, number )
This function will succeed if the variable \e variablename
contains \e number elements, otherwise it will fail. You can check
the return value of this function using a
scope.
For example:
\code
MYVAR = one two three
count( MYVAR, 3 ) {
# always true
}
\endcode
\section2 infile( filename, var, val )
This function will succeed if the file \e filename (when parsed
by qmake itself) contains the variable \e var with a value of
\e val. You may also not pass in a third argument (\e val) and the
function will only test if \e var has been assigned to in the file.
\section2 isEmpty( variablename )
This function will succeed if the variable \e variablename is
empty (same as \c count(variable, 0)).
\section2 system( command )
This function will execute \c command in a secondary shell and will
succeed if the command exits with an exit status of 1. You can check the
return value of this function using a scope.
For example:
\code
system(ls /bin):HAS_BIN=FALSE
\endcode
\section2 message( string )
This function will always succeed, and will display the given
\e string to the user.
\section2 error( string )
This function will never return a value. It will display the given \e
string to the user, and then exit \e qmake. This function should
only be used for very fatal configurations.
For example:
\code
release:debug:error(You can't have release and debug at the same time!)
\endcode
\target Properties
\section1 Properties
\e qmake has a system of persistant information, this allows you to
'set' a variable in qmake once, and each time qmake is invoked this
value can be queried. Use the following to set a property in qmake:
\code
qmake -set VARIABLE VALUE
\endcode
To retrieve this information back from qmake you can do:
\code
qmake -query VARIABLE
qmake -query #queries all current VARIABLE/VALUE pairs..
\endcode
This information will be saved into a QSettings object (meaning it
will be stored in different places for different platforms). As
VARIABLE is versioned as well, you can set one value in an older
version of qmake, and newer versions will retrieve this value, however
if you -set VARIABLE into a newer version of qmake the older version
will not use this value. You can however query a specific version of a
variable if you prefix that version of qmake to VARIABLE, as in:
\code
qmake -query "1.06a/VARIABLE"
\endcode
qmake also has the notion of 'builtin' properties, for example you can
query the installation of Qt for this version of qmake with the
QT_INSTALL_PREFIX property:
\code
qmake -query "QT_INSTALL_PREFIX"
\endcode
These builtin properties cannot have a version prefixed to them as
they are not versioned and each qmake will have its own notion of
these values. The list below outlines the builtin properties:
\list
\i QT_INSTALL_PREFIX - Where the version of Qt this qmake is built for resides
\i QT_INSTALL_DATA - Where data for this version of Qt resides
\i QMAKE_VERSION - The current version of qmake
\endlist
Finally, these values can be queried in a project file with a special
notation such as:
\code
QMAKE_VERS = $$[QMAKE_VERSION]
\endcode
\target Environment
\section1 Environment Variables and Configuration
\target QMAKESPEC
\section2 QMAKESPEC
\e qmake retquires a platform and compiler description file which
contains many default values used to generate appropriate makefiles.
The standard Qt distribution comes with many of these files, located
in the 'mkspecs' subdirectory of the Qt installation.
The QMAKESPEC environment variable can contain any of the following:
\list
\i A complete path to a directory containing a qmake.conf file. In this case \e qmake will open the qmake.conf file from within that directory. If the file does not exist, \e qmake will exit with an error.
\i The name of a platform-compiler combination. In this case, \e qmake will search in the directory specified by the QTDIR environment variable.
\endlist
Note: the QMAKESPEC path will automatically be added to the
\link #INCLUDEPATH INCLUDEPATH \endlink system variable.
\target INSTALLS
\section2 INSTALLS
It is common on UNIX to be able to install from the same utility as
you build with (e.g make install). For this \e qmake has introduce the