You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 02-Use_the_Tools_Available.md
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -27,12 +27,12 @@ Use an industry standard widely accepted build tool. This prevents you from rein
27
27
*[Waf](https://waf.io/)
28
28
*[FASTBuild](http://www.fastbuild.org/)
29
29
*[Ninja](https://ninja-build.org/) - Can greatly improve the incremental build time of your larger projects. Can be used as a target for CMake.
30
-
*[Bazel](http://bazel.io/) - Fast incremental builds using network artefact caching and remote execution.
31
-
*[Buck](http://buckbuild.com/) - Similar to Bazel, with very good support for iOS and Andoid.
30
+
*[Bazel](http://bazel.io/) - Fast incremental builds using network artifact caching and remote execution.
31
+
*[Buck](http://buckbuild.com/) - Similar to Bazel, with very good support for iOS and Android.
32
32
*[gyp](https://chromium.googlesource.com/external/gyp/) - Google's build tool for chromium.
33
33
*[maiken](https://github.com/Dekken/maiken) - Crossplatform build tool with Maven-esque configuration style.
34
34
*[Qt Build Suite](http://doc.qt.io/qbs/) - Crossplatform build tool From Qt.
35
-
*[meson](http://mesonbuild.com/index.html) - Open source build system meant to be both extremely fast, and, even more importantly, as userfriendly as possible.
35
+
*[meson](http://mesonbuild.com/index.html) - Open source build system meant to be both extremely fast, and, even more importantly, as user-friendly as possible.
36
36
*[premake](https://premake.github.io/)
37
37
*[xmake](https://xmake.io) - A cross-platform build utility based on Lua. Modern C/C++ build tools, Support multi-language hybrid compilation
*[Buckaroo](https://buckaroo.pm) - Truly decentralized cross-platform dependency manager for C/C++ and more
52
-
*[Vcpkg](https://github.com/microsoft/vcpkg) - Microsoft C++ Library Manager for Windows, Linux, and MacOS - [description](https://docs.microsoft.com/en-us/cpp/build/vcpkg)
52
+
*[Vcpkg](https://github.com/microsoft/vcpkg) - Microsoft C++ Library Manager for Windows, Linux, and macOS - [description](https://docs.microsoft.com/en-us/cpp/build/vcpkg)
53
53
*[CPM](https://github.com/cpm-cmake/CPM.cmake) - CMake package manager for modern CMake
54
54
55
55
## Continuous Integration
@@ -88,7 +88,7 @@ Continuous Integration (CI) tools automatically build the source code as changes
88
88
89
89
If you have an open source, publicly-hosted project on GitHub:
90
90
91
-
* go enable Travis Ci and AppVeyor integration right now. We'll wait for you to come back. For a simple example of how to enable it for your C++ CMake-based application, see here: https://github.com/ChaiScript/ChaiScript/blob/master/.travis.yml
91
+
* go enable Travis CI and AppVeyor integration right now. We'll wait for you to come back. For a simple example of how to enable it for your C++ CMake-based application, see here: https://github.com/ChaiScript/ChaiScript/blob/master/.travis.yml
92
92
* enable one of the coverage tools listed below (Codecov or Coveralls)
@@ -122,8 +122,8 @@ You should use as many compilers as you can for your platform(s). Each compiler
122
122
*`-Wlogical-op` (only in GCC) warn about logical operations being used where bitwise were probably wanted
123
123
*`-Wnull-dereference` (only in GCC >= 6.0) warn if a null dereference is detected
124
124
*`-Wuseless-cast` (only in GCC >= 4.8) warn if you perform a cast to the same type
125
-
*`-Wdouble-promotion` (GCC >= 4.6, Clang >= 3.8) warn if `float` is implicit promoted to `double`
126
-
*`-Wformat=2` warn on security issues around functions that format output (ie`printf`)
125
+
*`-Wdouble-promotion` (GCC >= 4.6, Clang >= 3.8) warn if `float` is implicitly promoted to `double`
126
+
*`-Wformat=2` warn on security issues around functions that format output (i.e.,`printf`)
127
127
*`-Wlifetime` (only special branch of Clang currently) shows object lifetime issues
128
128
*`-Wimplicit-fallthrough` Warns when case statements fall-through. (Included with `-Wextra` in GCC, not in clang)
129
129
@@ -153,7 +153,7 @@ Consider using `-Weverything` and disabling the few warnings you need to on Clan
153
153
*`/w14549` 'operator': operator before comma has no effect; did you intend 'operator'?
154
154
*`/w14555` expression has no effect; expected expression with side-effect
155
155
*`/w14619` pragma warning: there is no warning number 'number'
156
-
*`/w14640` Enable warning on thread un-safe static member initialization
156
+
*`/w14640` Enable warning on thread unsafe static member initialization
157
157
*`/w14826` Conversion from 'type1' to 'type_2' is sign-extended. This may cause unexpected runtime behavior.
158
158
*`/w14905` wide string literal cast to 'LPSTR'
159
159
*`/w14906` string literal cast to 'LPWSTR'
@@ -208,7 +208,7 @@ Notes:
208
208
209
209
* For correct work it requires well formed path for headers, so before usage don't forget to pass: `--check-config`.
210
210
* Finding unused headers does not work with `-j` more than 1.
211
-
* Remember to add `--force` for code with a lot number of `#ifdef` if you need check all of them.
211
+
* Remember to add `--force` for code with a lot number of `#ifdef` if you need to check all of them.
212
212
213
213
### cppclean
214
214
@@ -258,7 +258,7 @@ Qt Creator can plug into the clang static analyzer.
258
258
### IKOS
259
259
260
260
[IKOS](https://ti.arc.nasa.gov/opensource/ikos/) is an open source static analyzer, developed by NASA. It is based on the Abstract Interpretation. It is written in C++ and provides an analyzer for C and C++, using LLVM.
261
-
The source code is [available on Github](https://github.com/NASA-SW-VnV/ikos).
261
+
The source code is [available on GitHub](https://github.com/NASA-SW-VnV/ikos).
262
262
263
263
## Runtime Checkers
264
264
@@ -286,7 +286,7 @@ A coverage analysis tool shall be run when tests are executed to make sure the e
286
286
*[Valgrind](http://www.valgrind.org/)
287
287
* Valgrind is a runtime code analyzer that can detect memory leaks, race conditions, and other associated problems. It is supported on various Unix platforms.
288
288
*[Heaptrack](https://github.com/KDE/heaptrack)
289
-
* A profiler created by a Valgrind's Massif developper. Quite similar to Massif with pros and cons over it, way more intuitive though.
289
+
* A profiler created by a Valgrind's Massif developer. Quite similar to Massif with pros and cons over it, way more intuitive though.
290
290
*[Dr Memory](http://www.drmemory.org)
291
291
*[Memoro](https://epfl-vlsc.github.io/memoro/) - A detailed heap profiler.
292
292
@@ -352,7 +352,7 @@ Be sure to reenable the warning after disabling it for a section of code. You do
352
352
353
353
## Testing
5B9C
tr>
354
354
355
-
CMake, mentioned above, has a builtin framework for executing tests. Make sure whatever build system you use has a way to execute tests built in.
355
+
CMake, mentioned above, has a built-in framework for executing tests. Make sure whatever build system you use has a way to execute tests built in.
356
356
357
357
To further aid in executing tests, consider a library such as [Google Test](https://github.com/google/googletest), [Catch](https://github.com/philsquared/Catch), [CppUTest](https://github.com/cpputest/cpputest) or [Boost.Test](http://www.boost.org/doc/libs/release/libs/test/) to help you organize the tests.
0 commit comments