3
3
👍🎉 First off, thanks for taking the time to contribute! 🎉👍
4
4
5
5
6
+ ## ** mp-units** documentation
7
+
8
+ Before contributing, it is highly recommended to familiarize yourself with our
9
+ [ official documentation] ( https://mpusz.github.io/mp-units ) .
10
+
11
+ This file is also a part of it, and this is why it has non-standard Markdown formatting (which can
12
+ be seen when reading in a regular Markdown renderer). To benefit from full mkdocs rendering, please
13
+ switch to the [ Contributing] ( https://mpusz.github.io/mp-units/latest/getting_started/contributing )
14
+ chapter of our documentation.
15
+
16
+
6
17
## Where to start?
7
18
8
19
If you are looking for a good issue to start with, please check the following:
9
20
10
21
- [ good first issue] ( https://github.com/mpusz/mp-units/labels/good%20first%20issue ) - issues that
11
- should be pretty simple to implement,
22
+ should be pretty simple to implement,
12
23
- [ help wanted] ( https://github.com/mpusz/mp-units/labels/help%20wanted ) - issues that typically are
13
- a bit more involved than beginner issues,
24
+ a bit more involved than beginner issues,
14
25
- [ high priority] ( https://github.com/mpusz/mp-units/labels/high%20priority ) - things to fix ASAP
15
- but often of higher complexity.
26
+ but often of higher complexity.
16
27
17
28
18
29
## Gitpod
@@ -46,28 +57,28 @@ if you want to set up a development environment on your local machine.
46
57
47
58
[ ` user.mp-units.build:all ` ] ( #user.mp-units.build-all ) { #user.mp-units.build-all }
48
59
49
- Enables compilation of all the source code, including tests and examples. To support this, it requires some additional Conan build dependencies described in
50
- [ Repository directory tree and dependencies] ( https://mpusz.github.io/mp-units/latest/getting_started/project_structure#cmake-projects-and-dependencies ) .
51
- It also runs unit tests during the Conan build (unless
52
- [ ` tools.build:skip_test ` ] ( https://docs.conan.io/2/reference/commands/config.html?highlight=tools.build:skip_test#conan-config-list )
53
- configuration property is set to ` True ` ).
60
+ : Enables compilation of all the source code, including tests and examples. To support this, it requires some additional Conan build dependencies described in
61
+ [ Repository directory tree and dependencies] ( https://mpusz.github.io/mp-units/latest/getting_started/project_structure#cmake-projects-and-dependencies ) .
62
+ It also runs unit tests during the Conan build (unless
63
+ [ ` tools.build:skip_test ` ] ( https://docs.conan.io/2/reference/commands/config.html?highlight=tools.build:skip_test#conan-config-list )
64
+ configuration property is set to ` True ` ).
54
65
55
- [ conan build all support ] : https://github.com/mpusz/mp-units/releases/tag/v2.2.0
66
+ [conan build all support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
56
67
57
68
[ ` user.mp-units.build:skip_la ` ] ( #user-skip-la ) { #user-skip-la }
58
69
59
- If ` user.mp-units.build:all ` is enabled, among others, Conan installs the external
60
- [ wg21-linear_algebra] ( https://conan.io/center/recipes/wg21-linear_algebra )
61
- dependency and enables the compilation of linear algebra-based tests and usage examples.
62
- Such behavior can be disabled with this option.
70
+ : If ` user.mp-units.build:all ` is enabled, among others, Conan installs the external
71
+ [ wg21-linear_algebra] ( https://conan.io/center/recipes/wg21-linear_algebra )
72
+ dependency and enables the compilation of linear algebra-based tests and usage examples.
73
+ Such behavior can be disabled with this option.
63
74
64
- [ conan skip la support ] : https://github.com/mpusz/mp-units/releases/tag/v2.2.0
75
+ [conan skip la support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
65
76
66
77
[ ` user.mp-units.analyze:clang-tidy ` ] ( #user.mp-units.analyze-clang-tidy ) { #user.mp-units.analyze-clang-tidy }
67
78
68
- Enables clang-tidy analysis.
79
+ : Enables clang-tidy analysis.
69
80
70
- [ conan clang-tidy support ] : https://github.com/mpusz/mp-units/releases/tag/v2.2.0
81
+ [conan clang-tidy support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
71
82
72
83
73
84
### CMake options for mp-units project developers
@@ -76,25 +87,39 @@ if you want to set up a development environment on your local machine.
76
87
77
88
: [ :octicons-tag-24: 2.2.0] [ cmake build la support ] · :octicons-milestone-24: ` ON ` /` OFF ` (Default: ` ON ` )
78
89
79
- Enables building code depending on the linear algebra library.
90
+ Enables building code depending on the linear algebra library.
80
91
81
- [ cmake build la support ] : https://github.com/mpusz/mp-units/releases/tag/v2.2.0
92
+ [cmake build la support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
82
93
83
94
[ ` MP_UNITS_DEV_IWYU ` ] ( #MP_UNITS_DEV_IWYU ) { #MP_UNITS_DEV_IWYU }
84
95
85
96
: [ :octicons-tag-24: 2.2.0] [ cmake iwyu support ] · :octicons-milestone-24: ` ON ` /` OFF ` (Default: ` OFF ` )
86
97
87
- Enables include-what-you-use analysis.
98
+ Enables include-what-you-use analysis.
88
99
89
- [ cmake iwyu support ] : https://github.com/mpusz/mp-units/releases/tag/v2.2.0
100
+ [cmake iwyu support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
90
101
91
102
[ ` MP_UNITS_DEV_CLANG_TIDY ` ] ( #MP_UNITS_DEV_CLANG_TIDY ) { #MP_UNITS_DEV_CLANG_TIDY }
92
103
93
104
: [ :octicons-tag-24: 2.2.0] [ cmake clang-tidy support ] · :octicons-milestone-24: ` ON ` /` OFF ` (Default: ` OFF ` )
94
105
95
- Enables clang-tidy analysis.
106
+ Enables clang-tidy analysis.
107
+
108
+ [cmake clang-tidy support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
109
+
110
+ [ ` MP_UNITS_DEV_TIME_TRACE ` ] ( #MP_UNITS_DEV_TIME_TRACE ) { #MP_UNITS_DEV_TIME_TRACE }
111
+
112
+ : [ :octicons-tag-24: 2.5.0] [ cmake time-trace support ] · :octicons-milestone-24: ` NONE ` /` ALL ` /` MODULES ` /` HEADERS ` (Default: ` NONE ` )
113
+
114
+ Enables compilation performance data collection with `-ftime-trace` for clang compilers.
96
115
97
- [ cmake clang-tidy support ] : https://github.com/mpusz/mp-units/releases/tag/v2.2.0
116
+ All our unit tests compile only for headers and never for modules. To allow fair
117
+ comparison, `MODULES` and `HEADERS` do not enable the data collection for unit tests.
118
+ This means that they affect only the core, systems, and examples.
119
+
120
+ Please use `ALL` to profile unit tests as well.
121
+
122
+ [cmake time-trace support]: https://github.com/mpusz/mp-units/releases/tag/v2.5.0
98
123
99
124
100
125
### Building the entire repository
@@ -105,7 +130,7 @@ To build all the **mp-units** source code (with unit tests and examples), you sh
105
130
2 . Run Conan with [ ` user.mp-units.build:all ` ] ( #user.mp-units.build-all ) = ` True ` .
106
131
107
132
``` shell
108
- git clone https://github.com/mpusz/mp-units.git && cd units
133
+ git clone https://github.com/mpusz/mp-units.git && cd mp- units
109
134
conan build . -pr < your_conan_profile> -s compiler.cppstd=23 -c user.mp-units.build:all=True -b missing
110
135
```
111
136
@@ -167,15 +192,15 @@ After that, you can either:
167
192
168
193
- easily [ start a live server to preview the documentation as you write] ( https://squidfunk.github.io/mkdocs-material/creating-your-site/#previewing-as-you-write )
169
194
170
- ``` shell
171
- mkdocs serve
172
- ```
195
+ ``` shell
196
+ mkdocs serve
197
+ ```
173
198
174
199
- [build the documentation](https://squidfunk.github.io/mkdocs-material/creating-your-site/# building-your-site)
175
200
176
- ``` shell
177
- mkdocs build
178
- ```
201
+ ` ` ` shell
202
+ mkdocs build
203
+ ` ` `
179
204
180
205
# ## Generating API reference
181
206
0 commit comments