diff options
Diffstat (limited to 'doc/reference')
-rw-r--r-- | doc/reference/cli/builtin/cli-build.qdoc | 2 | ||||
-rw-r--r-- | doc/reference/cli/builtin/cli-resolve.qdoc | 1 | ||||
-rw-r--r-- | doc/reference/items/convenience/appleapplicationdiskimage.qdoc | 7 | ||||
-rw-r--r-- | doc/reference/items/language/depends.qdoc | 9 | ||||
-rw-r--r-- | doc/reference/items/language/group.qdoc | 28 | ||||
-rw-r--r-- | doc/reference/items/language/moduleprovider.qdoc | 24 | ||||
-rw-r--r-- | doc/reference/items/language/parameters.qdoc | 4 | ||||
-rw-r--r-- | doc/reference/items/probe/binary-probe.qdoc | 5 | ||||
-rw-r--r-- | doc/reference/items/probe/pkgconfig-probe.qdoc | 11 | ||||
-rw-r--r-- | doc/reference/module-providers/conan-module-provider.qdoc | 101 | ||||
-rw-r--r-- | doc/reference/module-providers/qbspkgconfig-module-provider.qdoc | 37 | ||||
-rw-r--r-- | doc/reference/modules/capnprotocpp-module.qdoc | 4 | ||||
-rw-r--r-- | doc/reference/modules/cpp-module.qdoc | 5 | ||||
-rw-r--r-- | doc/reference/modules/exporter-cmake.qdoc | 135 | ||||
-rw-r--r-- | doc/reference/modules/protobufcpp-module.qdoc | 43 | ||||
-rw-r--r-- | doc/reference/modules/qt-core-module.qdoc | 50 |
16 files changed, 378 insertions, 88 deletions
diff --git a/doc/reference/cli/builtin/cli-build.qdoc b/doc/reference/cli/builtin/cli-build.qdoc index 683b1ebb8..8547a78d2 100644 --- a/doc/reference/cli/builtin/cli-build.qdoc +++ b/doc/reference/cli/builtin/cli-build.qdoc @@ -78,8 +78,6 @@ \include cli-options.qdocinc products-specified \include cli-options.qdocinc settings-dir \include cli-options.qdocinc show-progress - \target no-fallback-module-provider - \include cli-options.qdocinc no-fallback-module-provider \include cli-options.qdocinc wait-lock \section1 Parameters diff --git a/doc/reference/cli/builtin/cli-resolve.qdoc b/doc/reference/cli/builtin/cli-resolve.qdoc index 4569980bd..99f1658ea 100644 --- a/doc/reference/cli/builtin/cli-resolve.qdoc +++ b/doc/reference/cli/builtin/cli-resolve.qdoc @@ -55,7 +55,6 @@ \include cli-options.qdocinc more-verbose \include cli-options.qdocinc settings-dir \include cli-options.qdocinc show-progress - \include cli-options.qdocinc no-fallback-module-provider \include cli-options.qdocinc deprecation-warnings \section1 Parameters diff --git a/doc/reference/items/convenience/appleapplicationdiskimage.qdoc b/doc/reference/items/convenience/appleapplicationdiskimage.qdoc index 8db7bc4db..d1fa15052 100644 --- a/doc/reference/items/convenience/appleapplicationdiskimage.qdoc +++ b/doc/reference/items/convenience/appleapplicationdiskimage.qdoc @@ -77,10 +77,11 @@ The base directory from which artifacts installed into the disk image will be copied. This directory is always considered to be relative to \l{qbs::installRoot} - {qbs.installRoot}. + {qbs.installRoot}/\l{qbs::installPrefix} + {qbs.installPrefix}. For example, if the application Example.app exists at - \c{qbs.installRoot/Applications/Example.app}, and the value of this property - is \c{"/Applications"}, the application will be located at\c{/Example.app} + \c{qbs.installRoot/qbs.installPrefix/Applications/Example.app}, and the value of this property + is \c{"/Applications"}, the application will be located at \c{/Example.app} relative to the disk image root. Therefore, its full path when the disk image is mounted would be something like \c{/Volumes/Example-1.0/Example.app}. diff --git a/doc/reference/items/language/depends.qdoc b/doc/reference/items/language/depends.qdoc index 7cc270483..937828b8c 100644 --- a/doc/reference/items/language/depends.qdoc +++ b/doc/reference/items/language/depends.qdoc @@ -197,12 +197,3 @@ \nodefaultvalue */ - -/*! - \qmlproperty bool Depends::enableFallback - - Whether to fall back to a pkg-config based \l{Module Providers}{module provider} - if the dependency is not found. - - \defaultvalue \c true -*/ diff --git a/doc/reference/items/language/group.qdoc b/doc/reference/items/language/group.qdoc index c9b6dd1cf..fa6784ca6 100644 --- a/doc/reference/items/language/group.qdoc +++ b/doc/reference/items/language/group.qdoc @@ -74,10 +74,13 @@ } } \endcode - When specifying files, you can use the wildcards "*", "?" and "[]", which have their usual meaning. - By default, matching files are only picked up directly from the parent directory, but you can tell \QBS to - consider the whole directory tree. It is also possible to exclude certain files from the list. - The pattern ** used in a pathname expansion context will match all files and zero or more + When specifying files, you can use the wildcards \c "*", \c "?" and \c "[]", which + have their + \l{https://en.wikipedia.org/wiki/Wildcard_character#File_and_directory_patterns}{usual meaning} + as in Unix Shell. By default, matching files are only picked up directly from the + parent directory, but you can tell \QBS to consider the whole directory tree. + It is also possible to exclude certain files from the list. + The pattern \c "**" used in a pathname expansion context will match all files and zero or more directories and subdirectories. For example: \snippet reference/items/language/group.qbs 0 @@ -114,13 +117,15 @@ */ /*! - \qmlproperty list Group::files + \qmlproperty pathList Group::files The files in the group. Mutually exclusive with \l{fileTagsFilter}. Relative paths are resolved using the parent directory of the file that contains the Group item. However, if the \l{prefix} property is set to an absolute path, then that one becomes the base directory. + The values can contain wildcards. + \defaultvalue An empty list */ @@ -146,7 +151,7 @@ */ /*! - \qmlproperty list Group::fileTagsFilter + \qmlproperty stringList Group::fileTagsFilter List of \l{Artifact::fileTags}{artifact.fileTags} to match. Any properties set in this group will be applied to the product's artifacts whose file tags @@ -170,7 +175,7 @@ */ /*! - \qmlproperty list Group::fileTags + \qmlproperty stringList Group::fileTags A list of file tags to attach to the group's files. These can then be matched by a \l{Rule}{rule}. @@ -196,10 +201,13 @@ */ /*! - \qmlproperty list Group::excludeFiles + \qmlproperty pathList Group::excludeFiles + + A list of files that are \e subtracted from the \l{files} list. - A list of files that are \e subtracted from the files list. Useful when - using wildcards. + The values can contain wildcards. + + This property is ignored if \l{fileTagsFilter} is set. \defaultvalue An empty list */ diff --git a/doc/reference/items/language/moduleprovider.qdoc b/doc/reference/items/language/moduleprovider.qdoc index 81a09a66b..09cabb39b 100644 --- a/doc/reference/items/language/moduleprovider.qdoc +++ b/doc/reference/items/language/moduleprovider.qdoc @@ -67,6 +67,19 @@ */ /*! + \qmlproperty bool ModuleProvider::isEager + + Holds whether provider is eager. + + Eager provider is executed only once and should create multiple modules at once when executed). + A non-eager provider is executed multiple times, one time for each module \QBS tries to + instantiate. + + \sa ModuleProvider::moduleName + \default true +*/ + +/*! \qmlproperty string ModuleProvider::name The name of the module provider. @@ -83,6 +96,17 @@ */ /*! + \qmlproperty string ModuleProvider::moduleName + + This property is set by QBS for non-eager providers and contains the name of the module + that is currently being instantiated by the provider. + + For eager providers, the value of this property is \c undefined. + + \sa ModuleProvider::isEager +*/ + +/*! \qmlproperty string ModuleProvider::outputBaseDir The path under which the new modules should be created when \l relativeSearchPaths diff --git a/doc/reference/items/language/parameters.qdoc b/doc/reference/items/language/parameters.qdoc index 325f1680e..fb7653528 100644 --- a/doc/reference/items/language/parameters.qdoc +++ b/doc/reference/items/language/parameters.qdoc @@ -32,10 +32,10 @@ \ingroup list-of-items \keyword QML.Parameters - \brief Defines default values for dependency parameters within Export items. + \brief Defines default values for dependency parameters within Module and Export items. The Parameters item defines default values for dependency parameters within - \l{Export} items. + \l{Module} and \l{Export} items. Example: \code diff --git a/doc/reference/items/probe/binary-probe.qdoc b/doc/reference/items/probe/binary-probe.qdoc index 7c8cd2f42..919d0b89e 100644 --- a/doc/reference/items/probe/binary-probe.qdoc +++ b/doc/reference/items/probe/binary-probe.qdoc @@ -50,6 +50,7 @@ For example, BinaryProbe can be used to search for a protobuf compiler executable as follows: \code + // Assuming module is called "myproto" import qbs.File import qbs.Probes @@ -70,10 +71,10 @@ Rule { // rule input/outputs here... - // run executable + // run executable for the module called "myproto": prepare: { var args = // initialize arguments... - var cmd = new Command(executableFilePath, args); + var cmd = new Command(input.myproto.executableFilePath, args); cmd.highlight = "codegen"; cmd.description = "generating protobuf files for " + input.fileName; return [cmd]; diff --git a/doc/reference/items/probe/pkgconfig-probe.qdoc b/doc/reference/items/probe/pkgconfig-probe.qdoc index 22fd510ac..66e008601 100644 --- a/doc/reference/items/probe/pkgconfig-probe.qdoc +++ b/doc/reference/items/probe/pkgconfig-probe.qdoc @@ -51,8 +51,12 @@ maxVersion: '5.99.99' } files: 'main.cpp' - cpp.cxxFlags: pkgConfig.cflags - cpp.linkerFlags: pkgConfig.libs + cpp.defines : pkgConfig.defines + cpp.includePaths: pkgConfig.includePaths + cpp.dynamicLibraries: pkgConfig.libraries + cpp.libraryPaths: pkgConfig.libraryPaths + cpp.commonCompilerFlags: pkgConfig.compilerFlags + cpp.linkerFlags: pkgConfig.linkerFlags } \endcode */ @@ -194,9 +198,6 @@ This output property contains the list of library paths that should be passed to a linker when using requested package. - This property sets the value of the PKG_CONFIG_LIBDIR environment variable passed to - the \c pkg-config binary. - \nodefaultvalue */ diff --git a/doc/reference/module-providers/conan-module-provider.qdoc b/doc/reference/module-providers/conan-module-provider.qdoc new file mode 100644 index 000000000..4edba94d8 --- /dev/null +++ b/doc/reference/module-providers/conan-module-provider.qdoc @@ -0,0 +1,101 @@ +/**************************************************************************** +** +** Copyright (C) 2024 Ivan Komissarov (abbapoh@gmail.com) +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \qmltype conan + \inqmlmodule QbsModuleProviders + \since 2.4 + + \brief Module provider for the Conan package manager. + + This module provider allows integration with the \l{https://conan.io}{Conan} package manager. + + \section1 Prerequisites + In order to use this provider, you will need to install the + \l{https://github.com/qbs/qbs/blob/master/src/conan/extensions/generators/qbsdeps.py}{QbsDeps generator} + first. In order to do so, clone the \QBS repository and run the following command from the \QBS + source directory: + \code + $ conan config install src/conan/ + \endcode + This will copy the generator to \c .conan2/extensions/generators/qbsdeps.py in the user's home + directory. + Alternatively, you can use \c curl to download the file: + \code + $ curl 'https://github.com/qbs/qbs/raw/master/src/conan/extensions/generators/qbsdeps.py' -o ~/.conan2/extensions/generators/qbsdeps.py + \endcode + + \section1 Example + For details on how to setup a project to use with Conan, see the \ + l{https://github.com/qbs/qbs/blob/master/examples/protobuf/addressbook_conan}{addressbook_conan} + folder in examples. + First, you will need a \l{https://docs.conan.io/2/reference/conanfile_txt.html}{conanfile} as + shown below. + \code + [requires] + protobuf/3.21.12 + [tool_requires] + protobuf/3.21.12 + [generators] + QbsDeps + \endcode + We use the text version for simplicity, but you can use the Python conanfile as well. + + Next, set the \l{Product::qbsModuleProviders}{qbsModuleProviders} property to \c "conan": + \snippet ../examples/protobuf/addressbook_conan/addressbook_conan.qbs 0 + + Install Conan dependencies and run the QbsDeps generator from the \c addressbook_conan dir: + \code + $ conan install . -g=QbsDeps --output-folder=build --build missing + \endcode + This will create the \c{./build/qbs-deps} directory contaning files for provider. Now you can + pass the conan install directory to the provider: + \code + $ qbs moduleProviders.conan.installDirectory:build + \endcode + You should see the following output if everything is correct: + \code + Build graph does not yet exist for configuration 'default'. Starting from scratch. + Resolving project for configuration default + Setting up Conan module 'protobuflib' + Setting up Conan module 'zlib' + ... + Build done for configuration default. + \endcode +*/ + +/*! + \qmlproperty string conan::installDirectory + + The path to the conan install installDirectory. + + \QBS searches for files created by the QbsDeps generator in that directory. + + If not set, the provider will not be run. + + \defaultvalue undefined +*/ diff --git a/doc/reference/module-providers/qbspkgconfig-module-provider.qdoc b/doc/reference/module-providers/qbspkgconfig-module-provider.qdoc index f9c4e9ade..a7f6fe6b7 100644 --- a/doc/reference/module-providers/qbspkgconfig-module-provider.qdoc +++ b/doc/reference/module-providers/qbspkgconfig-module-provider.qdoc @@ -87,6 +87,29 @@ */ /*! + \qmlproperty bool qbspkgconfig::definePrefix + + If this property is \c true, then \QBS will override the ${prefix} variable in the packages + with a value that is guessed based on the location of the .pc file. + + This option corresponds to the \c --define-prefix / \c --dont-define-prefix command line + options of the \c pkg-config tool. + + \defaultvalue \c true on Windows, \c false otherwise +*/ + +/*! + \qmlproperty stringList qbspkgconfig::executableNames + + The names of the \c pkg-config executable to search for. + + Note that since newer distributions use \l{http://pkgconf.org}{pkgconf} by default, it has + higher priority over \c pkg-config. + + \defaultvalue \c{["pkgconf", "pkg-config"]} +*/ + +/*! \qmlproperty path qbspkgconfig::sysroot Set this property if you need to overwrite the default search sysroot path used by @@ -100,7 +123,7 @@ Setting this property to \c undefined or empty (\c "") value will use pkg-config's default search paths: \code - qbs build module-providers.pkgconfig.sysroot:undefined + qbs resolve moduleProviders.qbspkgconfig.sysroot:undefined \endcode This property is the equivalent of the \c{PKG_CONFIG_SYSROOT_DIR} variable for the @@ -108,15 +131,3 @@ \defaultvalue \c "" on macOS, \c qbs.sysroot on other platforms */ - -/*! - \qmlproperty bool qbspkgconfig::mergeDependencies - - Holds whether dependencies should be merged by pkg-config or \QBS. - - If set to true, dependencies are merged by pkg-config meaning each generated module - is self-contained and does not depend on other modules. If set to false, generated modules - may depend on other modules and property merging is done by \QBS. - - \defaultvalue \c false -*/ diff --git a/doc/reference/modules/capnprotocpp-module.qdoc b/doc/reference/modules/capnprotocpp-module.qdoc index c3c8660c9..7635edd9e 100644 --- a/doc/reference/modules/capnprotocpp-module.qdoc +++ b/doc/reference/modules/capnprotocpp-module.qdoc @@ -104,12 +104,10 @@ /*! \qmlproperty string capnproto.cpp::outputDir - \readonly The directory where the \c capnpc compiler generated files are placed. - The value of this property is automatically set by \QBS and cannot be - changed by the user. + \defaultvalue \c product.buildDirectory + "/capnp" */ /*! diff --git a/doc/reference/modules/cpp-module.qdoc b/doc/reference/modules/cpp-module.qdoc index f0b6de063..2b344aac2 100644 --- a/doc/reference/modules/cpp-module.qdoc +++ b/doc/reference/modules/cpp-module.qdoc @@ -80,6 +80,7 @@ May contain the values: "weak", "lazy", "reexport", and "upward"; refer to the Apple ld64 man page for full details. \c{undefined} uses normal linking. Currently only applies when linking for Apple platforms. + Note that \c "lazy" mode is deprecated and doesn't work with Xcode 15 and above. \endtable \section2 Relevant File Tags @@ -1402,8 +1403,8 @@ will result in the \c {-fuse-ld} option being emitted when linking with \c gcc, \c clang or \c clang-cl. Other toolchains do not support this property. - The possible values for \c clang and \c gcc are \c "bfd", \c "gold" and \c "lld", - the possible values for \c clang-cl are \c "link" and \c "lld". + The possible values for \c clang and \c gcc are \c "bfd", \c "gold", \c "lld" + and \c "mold", the possible values for \c clang-cl are \c "link" and \c "lld". The following example demonstrates how to change the linker for different toolchains: diff --git a/doc/reference/modules/exporter-cmake.qdoc b/doc/reference/modules/exporter-cmake.qdoc new file mode 100644 index 000000000..2f4191a76 --- /dev/null +++ b/doc/reference/modules/exporter-cmake.qdoc @@ -0,0 +1,135 @@ +/**************************************************************************** +** +** Copyright (C) 2024 Raphael Cotty (raphael.cotty@gmail.com) +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \qmltype Exporter.cmake + \inqmlmodule QbsModules + \since Qbs 2.3 + + \brief Provides support for generating \CMAKE packages from dynamic, static and header library + products. + + The Exporter.cmake module contains the properties and rules to create a \CMAKE config + \l{https://cmake.org/cmake/help/v3.29/manual/cmake-packages.7.html#config-file-packages}{files} + from the \l Export item of a \l Product. + + For instance, suppose you are creating a library. To allow exporting to \CMAKE, you would write + something like the following: + \code + DynamicLibrary { + name: "mylibrary" + qbs.installPrefix: "/opt/mylibrary" + Depends { name: "Exporter.cmake" } + Exporter.cmake.packageName: "MyLibrary" + property string headersInstallDir: "include" + // ... + Group { + name: "API headers" + files: ["mylib.h"] + qbs.install: true + qbs.installDir: headersInstallDir + } + Group { + fileTagsFilter: ["Exporter.cmake.package"] + qbs.installDir: "lib/cmake/MyLibrary" + } + Export { + Depends { name: "cpp" } + cpp.includePaths: FileInfo.joinPaths( + exportingProduct.qbs.installRoot, + exportingProduct.qbs.installPrefix, + exportingProduct.headersInstallDir) + } + } + \endcode + To build against this library, from within your \CMAKE project, you simply + use \l{https://cmake.org/cmake/help/v3.29/command/find_package.html}{find_package}: + \code + find_package(MyLibrary PATHS REQUIRED) + add_executable(Consumer main.cpp) + target_link_libraries(Consumer MyLibrary) + \endcode + + \section2 Relevant File Tags + \target filetags-exporter-qbs + + \table + \header + \li Tag + \li Since + \li Description + \row + \li \c{"Exporter.cmake.package"} + \li 2.3.0 + \li This tag is attached to all generated module files. + \row + \li \c{"Exporter.cmake.configFile"} + \li 2.3.0 + \li This tag is attached to the generated config file. + \row + \li \c{"Exporter.cmake.versionFile"} + \li 2.3.0 + \li This tag is attached to the generated version file. + \endtable +*/ + +/*! + \qmlproperty string Exporter.cmake::configFileName + + The name of the generated config file. + + \defaultvalue \c{packageName + "Config.cmake"} +*/ + +/*! + \qmlproperty string Exporter.cmake::versionFileName + + The name of the generated version file. + + \defaultvalue \c{packageName + "ConfigVersion.cmake"} +*/ + +/*! + \qmlproperty string Exporter.cmake::packageName + + The name of the \CMAKE package. + + \defaultvalue \l{Product::targetName}{Product.targetName} +*/ + diff --git a/doc/reference/modules/protobufcpp-module.qdoc b/doc/reference/modules/protobufcpp-module.qdoc index 85851c4ae..2c96eaeef 100644 --- a/doc/reference/modules/protobufcpp-module.qdoc +++ b/doc/reference/modules/protobufcpp-module.qdoc @@ -78,6 +78,13 @@ \li 1.18.0 \li This tag is attached to the header files generated by \c protoc compiler. \endtable + + \section2 Dependencies + + The \l protobuf.cpp module requires runtime libraries to be operational. It depends on the + \c "protobuflib" module which can be created by the \l qbspkgconfig or fallback module + providers (the corresponding packages are \c protobuf or \c protobuf-lite). If \l useGrpc is + set to true, the \l protobuf.cpp module also depends on the \c "grpc++" module. */ /*! @@ -101,24 +108,6 @@ */ /*! - \qmlproperty string protobuf.cpp::grpcIncludePath - - The path where grpc++ headers are located. Set this property to override the - default location. - - \defaultvalue \c auto-detected -*/ - -/*! - \qmlproperty string protobuf.cpp::grpcLibraryPath - - The path where the grpc++ library is located. Set this property to override the - default location. - - \defaultvalue \c auto-detected -*/ - -/*! \qmlproperty pathList protobuf.cpp::importPaths The list of imports that are passed to the \c protoc tool via the \c --proto_path option. @@ -131,24 +120,6 @@ */ /*! - \qmlproperty string protobuf.cpp::includePath - - The path where protobuf C++ headers are located. Set this property to override the - default location. - - \defaultvalue \c auto-detected -*/ - -/*! - \qmlproperty string protobuf.cpp::libraryPath - - The path where the protobuf C++ library is located. Set this property to override the - default location. - - \defaultvalue \c auto-detected -*/ - -/*! \qmlproperty string protobuf.cpp::outputDir \readonly diff --git a/doc/reference/modules/qt-core-module.qdoc b/doc/reference/modules/qt-core-module.qdoc index afc4a0f11..6aedf2a69 100644 --- a/doc/reference/modules/qt-core-module.qdoc +++ b/doc/reference/modules/qt-core-module.qdoc @@ -211,6 +211,32 @@ */ /*! + \qmlproperty string Qt.core::generatedHeadersDir + + The directory where tools that generate headers (such as \c moc or \c uic) put resulting + files. + + Normally, you don't need to change this property. The one use-case is when there are several + files with the same file name in the Product. The file name produced by \c moc is based + only on the source file's base file name (without the directory path) which leads to a conflict + in the mentioned case. You can resolve the conflict by setting this property to a non-default + value for one of the files. For example: + + \code + QtApplication { + files: ["my_cool_header.h", "main.cpp"] + Group { + name: "legacy" + files: "legacy/my_cool_header.h" + Qt.core.generatedHeadersDir: "qt.legacy.headers" + } + } + \endcode + + \defaultvalue \c product.buildDirectory + "/qt.headers" +*/ + +/*! \qmlproperty bool Qt.core::metaTypesInstallDir The directory to install the metatypes file into. If this property is empty or undefined, @@ -352,6 +378,14 @@ */ /*! + \qmlproperty string Qt.core::qdocOutputDir + + The directory name where the \c qdoc tool writes its output. + + \defaultvalue \c{product.buildDirectory + "/qdoc_html"} +*/ + +/*! \qmlproperty string Qt.core::qmBaseName The base name of the \c .qm file to be built from the \c .ts files in the @@ -363,6 +397,14 @@ */ /*! + \qmlproperty string Qt.core::qmDir + + The directory name where to put the \c .qm file to be built. + + \defaultvalue \l{Product::destinationDirectory}{product.destinationDirectory} +*/ + +/*! \qmlproperty string Qt.core::qtBuildVariant Specifies the type of Qt libraries to build against: \c "debug" or @@ -468,3 +510,11 @@ \defaultvalue \c{versionParts[2]} */ + +/*! + \qmlproperty bool Qt.core::useRPaths + + Whether to add \l{Qt.core::libPath}{Qt.core.libPath} to \l{cpp::rpaths}{cpp.rpaths}. + + \defaultvalue \c true on Linux, \c false everywhere else. +*/ |