aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-06-15 12:42:45 -0700
committerDylan Baker <dylan@pnwbakers.com>2021-06-15 14:15:13 -0700
commit753573610873e925f820af8a21e3f900390284b8 (patch)
tree6e1a80d6330782559f5caed9bdb78ec0f012dd23
parentbfaa529a7a35039d4a782615a428935df5336b94 (diff)
downloadmeson-753573610873e925f820af8a21e3f900390284b8.zip
meson-753573610873e925f820af8a21e3f900390284b8.tar.gz
meson-753573610873e925f820af8a21e3f900390284b8.tar.bz2
docs: Use an include for the qt modules
Insteadf of qt4 referencing the Qt5 page, include the same content in both.
-rw-r--r--docs/markdown/Qt4-module.md2
-rw-r--r--docs/markdown/Qt5-module.md163
-rw-r--r--docs/markdown/_include_qt_base.md160
-rwxr-xr-xrun_unittests.py2
4 files changed, 165 insertions, 162 deletions
diff --git a/docs/markdown/Qt4-module.md b/docs/markdown/Qt4-module.md
index 4be1be5..6b62415 100644
--- a/docs/markdown/Qt4-module.md
+++ b/docs/markdown/Qt4-module.md
@@ -2,3 +2,5 @@
This module provides support for Qt4's `moc`, `uic` and `rcc`
tools. It is used identically to the [Qt 5 module](Qt5-module.md).
+
+{{ _include_qt_base.md }}
diff --git a/docs/markdown/Qt5-module.md b/docs/markdown/Qt5-module.md
index 1d7b381..8a5eb00 100644
--- a/docs/markdown/Qt5-module.md
+++ b/docs/markdown/Qt5-module.md
@@ -1,165 +1,6 @@
# Qt5 module
The Qt5 module provides tools to automatically deal with the various
-tools and steps required for Qt. The module has two methods.
+tools and steps required for Qt.
-## compile_resources
-
-*New in 0.59.0*
-
-Compiles Qt's resources collection files (.qrc) into c++ files for compilation.
-
-It takes no positional arguments, and the following keyword arguments:
- - `name` (string | empty): if provided a single .cpp file will be generated,
- and the output of all qrc files will be combined in this file, otherwise
- each qrc file be written to it's own cpp file.
- - `sources` (File | string)[]: A list of sources to be transpiled. Required,
- must have at least one source
- - `extra_args` string[]: Extra arguments to pass directly to `qt-rcc`
- - `method` string: The method to use to detect qt, see `dependency()` for more
- information.
-
-## compile_ui
-
-*New in 0.59.0*
-
-Compiles Qt's ui files (.ui) into header files.
-
-It takes no positional arguments, and the following keyword arguments:
- - `sources` (File | string)[]: A list of sources to be transpiled. Required,
- must have at least one source
- - `extra_args` string[]: Extra arguments to pass directly to `qt-uic`
- - `method` string: The method to use to detect qt, see `dependency()` for more
- information.
-
-## compile_moc
-
-*New in 0.59.0*
-
-Compiles Qt's moc files (.moc) into header and/or source files. At least one of
-the keyword arguments `headers` and `sources` must be provided.
-
-It takes no positional arguments, and the following keyword arguments:
- - `sources` (File | string)[]: A list of sources to be transpiled into .moc
- files for manual inclusion.
- - `headers` (File | string)[]: A list of headers to be transpiled into .cpp files
- - `extra_args` string[]: Extra arguments to pass directly to `qt-moc`
- - `method` string: The method to use to detect qt, see `dependency()` for more
- information.
- - `include_directories` IncludeDirectory[]: A list of `include_directory()`
- objects used when transpiling the .moc files
-
-## preprocess
-
-Consider using `compile_resources`, `compile_ui`, and `compile_moc` instead.
-
-Takes sources for moc, uic, and rcc, and converts them into c++ files for
-compilation.
-
-Has the following signature: `qt.preprocess(name: str | None, *sources: str)`
-
-If the `name` parameter is passed then all of the rcc files will be wirtten to a single output file
-
-The variadic `sources` arguments have been deprecated since Meson 0.59.0, as has the `sources` keyword argument. These passed files unmodified through the preprocessor, don't do this, just add the output of the generator to another sources list:
-```meson
-sources = files('a.cpp', 'main.cpp', 'bar.c')
-sources += qt.preprocess(qresources : ['resources'])
-```
-
-This method takes the following keyword arguments:
- - `qresources`: a list of strings, Files, Custom Targets, or Build Targets to pass the `rcc` compiler
- - `ui_files`: a list of strings, Files, Custom Targets, or Build Targets to pass the `uic` compiler
- - `moc_sources`: a list of strings, Files, Custom Targets, or Build Targets to pass the `moc` compiler the
- - `moc_headers`: a list of strings, Files, Custom Targets, or Build Targets to pass the `moc` compiler. These will be converted into .cpp files
- - `include_directories`, the directories to add to header search path for `moc` (optional)
- - `moc_extra_arguments`, any additional arguments to `moc` (optional). Available since v0.44.0.
- - `uic_extra_arguments`, any additional arguments to `uic` (optional). Available since v0.49.0.
- - `rcc_extra_arguments`, any additional arguments to `rcc` (optional). Available since v0.49.0.
- - `dependencies`, dependency objects needed by moc. Available since v0.48.0.
- - `sources`, a list of extra sources, which are added to the output unchaged. Deprecated in 0.59.0
-
-It returns an array of targets and sources to pass to a compilation target.
-
-## compile_translations (since v0.44.0)
-
-This method generates the necessary targets to build translation files with
-lrelease, it takes no positional arguments, and the following keyword arguments:
-
- - `ts_files` (str | File)[], the list of input translation files produced by Qt's lupdate tool.
- - `install` bool: when true, this target is installed during the install step (optional).
- - `install_dir` string: directory to install to (optional).
- - `build_by_default` bool: when set to true, to have this target be built by
- default, that is, when invoking `meson compile`; the default value is false
- (optional).
- - `qresource` string: rcc source file to extract ts_files from; cannot be used
- with ts_files kwarg. Available since v0.56.0.
- - `rcc_extra_arguments` string[]: any additional arguments to `rcc` (optional),
- when used with `qresource. Available since v0.56.0.
-
-Returns either: a list of custom targets for the compiled
-translations, or, if using a `qresource` file, a single custom target
-containing the processed source file, which should be passed to a main
-build target.
-
-## has_tools
-
-This method returns `true` if all tools used by this module are found,
-`false` otherwise.
-
-It should be used to compile optional Qt code:
-```meson
-qt5 = import('qt5')
-if qt5.has_tools(required: get_option('qt_feature'))
- moc_files = qt5.preprocess(...)
- ...
-endif
-```
-
-This method takes the following keyword arguments:
-- `required` bool | FeatureOption: by default, `required` is set to `false`. If `required` is set to
- `true` or an enabled [`feature`](Build-options.md#features) and some tools are
- missing Meson will abort.
-- `method` string: method used to find the Qt dependency (`auto` by default).
-
-*Since: 0.54.0*
-
-## Dependencies
-
-See [Qt dependencies](Dependencies.md#qt4-qt5)
-
-The 'modules' argument is used to include Qt modules in the project.
-See the Qt documentation for the [list of
-modules](http://doc.qt.io/qt-5/qtmodules.html).
-
-The 'private_headers' argument allows usage of Qt's modules private
-headers. (since v0.47.0)
-
-## Example
-A simple example would look like this:
-
-```meson
-qt5 = import('qt5')
-qt5_dep = dependency('qt5', modules: ['Core', 'Gui'])
-inc = include_directories('includes')
-moc_files = qt5.compile_moc(headers : 'myclass.h',
- extra_arguments: ['-DMAKES_MY_MOC_HEADER_COMPILE'],
- include_directories: inc,
- dependencies: qt5_dep)
-translations = qt5.compile_translations(ts_files : 'myTranslation_fr.ts', build_by_default : true)
-executable('myprog', 'main.cpp', 'myclass.cpp', moc_files,
- include_directories: inc,
- dependencies : qt5_dep)
-```
-
-Sometimes, translations are embedded inside the binary using qresource
-files. In this case the ts files do not need to be explicitly listed,
-but will be inferred from the built qm files listed in the qresource
-file. For example:
-
-```meson
-qt5 = import('qt5')
-qt5_dep = dependency('qt5', modules: ['Core', 'Gui'])
-lang_cpp = qt5.compile_translations(qresource: 'lang.qrc')
-executable('myprog', 'main.cpp', lang_cpp,
- dependencies: qt5_dep)
-```
+{{ _include_qt_base.md }}
diff --git a/docs/markdown/_include_qt_base.md b/docs/markdown/_include_qt_base.md
new file mode 100644
index 0000000..4c50abc
--- /dev/null
+++ b/docs/markdown/_include_qt_base.md
@@ -0,0 +1,160 @@
+## compile_resources
+
+*New in 0.59.0*
+
+Compiles Qt's resources collection files (.qrc) into c++ files for compilation.
+
+It takes no positional arguments, and the following keyword arguments:
+ - `name` (string | empty): if provided a single .cpp file will be generated,
+ and the output of all qrc files will be combined in this file, otherwise
+ each qrc file be written to it's own cpp file.
+ - `sources` (File | string)[]: A list of sources to be transpiled. Required,
+ must have at least one source
+ - `extra_args` string[]: Extra arguments to pass directly to `qt-rcc`
+ - `method` string: The method to use to detect qt, see `dependency()` for more
+ information.
+
+## compile_ui
+
+*New in 0.59.0*
+
+Compiles Qt's ui files (.ui) into header files.
+
+It takes no positional arguments, and the following keyword arguments:
+ - `sources` (File | string)[]: A list of sources to be transpiled. Required,
+ must have at least one source
+ - `extra_args` string[]: Extra arguments to pass directly to `qt-uic`
+ - `method` string: The method to use to detect qt, see `dependency()` for more
+ information.
+
+## compile_moc
+
+*New in 0.59.0*
+
+Compiles Qt's moc files (.moc) into header and/or source files. At least one of
+the keyword arguments `headers` and `sources` must be provided.
+
+It takes no positional arguments, and the following keyword arguments:
+ - `sources` (File | string)[]: A list of sources to be transpiled into .moc
+ files for manual inclusion.
+ - `headers` (File | string)[]: A list of headers to be transpiled into .cpp files
+ - `extra_args` string[]: Extra arguments to pass directly to `qt-moc`
+ - `method` string: The method to use to detect qt, see `dependency()` for more
+ information.
+ - `include_directories` IncludeDirectory[]: A list of `include_directory()`
+ objects used when transpiling the .moc files
+
+## preprocess
+
+Consider using `compile_resources`, `compile_ui`, and `compile_moc` instead.
+
+Takes sources for moc, uic, and rcc, and converts them into c++ files for
+compilation.
+
+Has the following signature: `qt.preprocess(name: str | None, *sources: str)`
+
+If the `name` parameter is passed then all of the rcc files will be wirtten to a single output file
+
+The variadic `sources` arguments have been deprecated since Meson 0.59.0, as has the `sources` keyword argument. These passed files unmodified through the preprocessor, don't do this, just add the output of the generator to another sources list:
+```meson
+sources = files('a.cpp', 'main.cpp', 'bar.c')
+sources += qt.preprocess(qresources : ['resources'])
+```
+
+This method takes the following keyword arguments:
+ - `qresources`: a list of strings, Files, Custom Targets, or Build Targets to pass the `rcc` compiler
+ - `ui_files`: a list of strings, Files, Custom Targets, or Build Targets to pass the `uic` compiler
+ - `moc_sources`: a list of strings, Files, Custom Targets, or Build Targets to pass the `moc` compiler the
+ - `moc_headers`: a list of strings, Files, Custom Targets, or Build Targets to pass the `moc` compiler. These will be converted into .cpp files
+ - `include_directories`, the directories to add to header search path for `moc` (optional)
+ - `moc_extra_arguments`, any additional arguments to `moc` (optional). Available since v0.44.0.
+ - `uic_extra_arguments`, any additional arguments to `uic` (optional). Available since v0.49.0.
+ - `rcc_extra_arguments`, any additional arguments to `rcc` (optional). Available since v0.49.0.
+ - `dependencies`, dependency objects needed by moc. Available since v0.48.0.
+ - `sources`, a list of extra sources, which are added to the output unchaged. Deprecated in 0.59.0
+
+It returns an array of targets and sources to pass to a compilation target.
+
+## compile_translations (since v0.44.0)
+
+This method generates the necessary targets to build translation files with
+lrelease, it takes no positional arguments, and the following keyword arguments:
+
+ - `ts_files` (str | File)[], the list of input translation files produced by Qt's lupdate tool.
+ - `install` bool: when true, this target is installed during the install step (optional).
+ - `install_dir` string: directory to install to (optional).
+ - `build_by_default` bool: when set to true, to have this target be built by
+ default, that is, when invoking `meson compile`; the default value is false
+ (optional).
+ - `qresource` string: rcc source file to extract ts_files from; cannot be used
+ with ts_files kwarg. Available since v0.56.0.
+ - `rcc_extra_arguments` string[]: any additional arguments to `rcc` (optional),
+ when used with `qresource. Available since v0.56.0.
+
+Returns either: a list of custom targets for the compiled
+translations, or, if using a `qresource` file, a single custom target
+containing the processed source file, which should be passed to a main
+build target.
+
+## has_tools
+
+This method returns `true` if all tools used by this module are found,
+`false` otherwise.
+
+It should be used to compile optional Qt code:
+```meson
+qt5 = import('qt5')
+if qt5.has_tools(required: get_option('qt_feature'))
+ moc_files = qt5.preprocess(...)
+ ...
+endif
+```
+
+This method takes the following keyword arguments:
+- `required` bool | FeatureOption: by default, `required` is set to `false`. If `required` is set to
+ `true` or an enabled [`feature`](Build-options.md#features) and some tools are
+ missing Meson will abort.
+- `method` string: method used to find the Qt dependency (`auto` by default).
+
+*Since: 0.54.0*
+
+## Dependencies
+
+See [Qt dependencies](Dependencies.md#qt4-qt5)
+
+The 'modules' argument is used to include Qt modules in the project.
+See the Qt documentation for the [list of
+modules](http://doc.qt.io/qt-5/qtmodules.html).
+
+The 'private_headers' argument allows usage of Qt's modules private
+headers. (since v0.47.0)
+
+## Example
+A simple example would look like this:
+
+```meson
+qt5 = import('qt5')
+qt5_dep = dependency('qt5', modules: ['Core', 'Gui'])
+inc = include_directories('includes')
+moc_files = qt5.compile_moc(headers : 'myclass.h',
+ extra_arguments: ['-DMAKES_MY_MOC_HEADER_COMPILE'],
+ include_directories: inc,
+ dependencies: qt5_dep)
+translations = qt5.compile_translations(ts_files : 'myTranslation_fr.ts', build_by_default : true)
+executable('myprog', 'main.cpp', 'myclass.cpp', moc_files,
+ include_directories: inc,
+ dependencies : qt5_dep)
+```
+
+Sometimes, translations are embedded inside the binary using qresource
+files. In this case the ts files do not need to be explicitly listed,
+but will be inferred from the built qm files listed in the qresource
+file. For example:
+
+```meson
+qt5 = import('qt5')
+qt5_dep = dependency('qt5', modules: ['Core', 'Gui'])
+lang_cpp = qt5.compile_translations(qresource: 'lang.qrc')
+executable('myprog', 'main.cpp', lang_cpp,
+ dependencies: qt5_dep)
+```
diff --git a/run_unittests.py b/run_unittests.py
index d17c243..92557b2 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -1846,7 +1846,7 @@ class DataTests(unittest.TestCase):
markdownfiles = [f.name for f in Path("docs/markdown").iterdir() if f.is_file() and f.suffix == '.md']
exceptions = ['_Sidebar.md']
for f in markdownfiles:
- if f not in exceptions:
+ if f not in exceptions and not f.startswith('_include'):
self.assertIn(f, toc)
def test_vim_syntax_highlighting(self):