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-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ Use an industry standard widely accepted build tool. This prevents you from rein
19
19
*[CMake](http://www.cmake.org/)
20
20
* Consider: https://github.com/sakra/cotire/ for build performance
21
21
* Consider: https://github.com/toeb/cmakepp for enhanced usability
22
+
* Utilize: https://cmake.org/cmake/help/v3.6/command/target_compile_features.html for C++ standard flags
22
23
*[Conan](https://www.conan.io/) - a crossplatform dependency manager for C++
23
24
*[C++ Archive Network (CPPAN)](https://cppan.org/) - a crossplatform dependency manager for C++
24
25
*[Waf](https://waf.io/)
@@ -138,6 +139,16 @@ Consider using the *treat warnings as errors* setting. `/Wx` with MSVC, `-Werror
138
139
139
140
## LLVM-based tools
140
141
142
+
LLVM based tools work best with a build system (such as cmake) that can output a compile command database, for example:
143
+
144
+
```
145
+
$ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
146
+
```
147
+
148
+
If you are not using a build system like that, you can consider [Build EAR](https://github.com/rizsotto/Bear) which will hook into your build system and generate a compile command database for you.
149
+
150
+
CMake now also comes with built-in support for calling `clang-tidy` during [normal compilation](https://cmake.org/cmake/help/latest/prop_tgt/LANG_CLANG_TIDY.html).
@@ -277,7 +288,7 @@ Don't forget to make sure that your error handling is being tested and works pro
277
288
278
289
### ClangFormat
279
290
280
-
[ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) can check and correct code formatting to match organizational conventions automatically.
291
+
[ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) can check and correct code formatting to match organizational conventions automatically.[Multipart series](https://engineering.mongodb.com/post/succeeding-with-clangformat-part-1-pitfalls-and-planning/) on utilizing clang-format.
0 commit comments