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
129
129
Consider using `-Weverything` and disabling the few warnings you need to on Clang
@@ -152,7 +152,7 @@ Consider using `-Weverything` and disabling the few warnings you need to on Clan
152
152
*`/w14549` 'operator': operator before comma has no effect; did you intend 'operator'?
153
153
*`/w14555` expression has no effect; expected expression with side-effect
154
154
*`/w14619` pragma warning: there is no warning number 'number'
155
-
*`/w14640` Enable warning on thread un-safe static member initialization
155
+
*`/w14640` Enable warning on thread unsafe static member initialization
156
156
*`/w14826` Conversion from 'type1' to 'type_2' is sign-extended. This may cause unexpected runtime behavior.
157
157
*`/w14905` wide string literal cast to 'LPSTR'
158
158
*`/w14906` string literal cast to 'LPWSTR'
@@ -206,7 +206,7 @@ Notes:
206
206
207
207
* For correct work it requires well formed path for headers, so before usage don't forget to pass: `--check-config`.
208
208
* Finding unused headers does not work with `-j` more than 1.
209
-
* Remember to add `--force` for code with a lot number of `#ifdef` if you need check all of them.
209
+
* Remember to add `--force` for code with a lot number of `#ifdef` if you need to check all of them.
210
210
211
211
### cppclean
212
212
@@ -256,7 +256,7 @@ Qt Creator can plug into the clang static analyzer.
256
256
### IKOS
257
257
258
258
[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.
259
-
The source code is [available on Github](https://github.com/NASA-SW-VnV/ikos).
259
+
The source code is [available on GitHub](https://github.com/NASA-SW-VnV/ikos).
260
260
261
261
## Runtime Checkers
262
262
@@ -284,7 +284,7 @@ A coverage analysis tool shall be run when tests are executed to make sure the e
284
284
*[Valgrind](http://www.valgrind.org/)
285
285
* Valgrind is a runtime code analyzer that can detect memory leaks, race conditions, and other associated problems. It is supported on various Unix platforms.
286
286
*[Heaptrack](https://github.com/KDE/heaptrack)
287
-
* A profiler created by a Valgrind's Massif developper. Quite similar to Massif with pros and cons over it, way more intuitive though.
287
+
* A profiler created by a Valgrind's Massif developer. Quite similar to Massif with pros and cons over it, way more intuitive though.
288
288
*[Dr Memory](http://www.drmemory.org)
289
289
*[Memoro](https://epfl-vlsc.github.io/memoro/) - A detailed heap profiler.
290
290
@@ -350,7 +350,7 @@ Be sure to reenable the warning after disabling it for a section of code. You do
350
350
351
351
## Testing
352
352
353
-
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.
353
+
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.
354
354
355
355
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