Lines Matching +full:build +full:- +full:17
7 guidelines](https://github.com/abseil/abseil-cpp/blob/master/CONTRIBUTING.md#contribution-guideline…
15 ## How to I set the C++ dialect used to build Abseil?
19 project. If, for example, you want to set the C++ dialect to C++17, with
20 [Bazel](https://bazel/build/) as the build system and `gcc` or `clang` as the
22 * Pass `--cxxopt=-std=c++17` on the command line (for example, `bazel build
23 --cxxopt=-std=c++17 ...`)
25 `BAZEL_CXXOPTS=-std=c++17`)
26 * Add `build --cxxopt=-std=c++17` to your [`.bazelrc`
27 file](https://docs.bazel.build/versions/master/guide.html#bazelrc)
29 If you are using CMake as the build system, you'll need to add a line like
30 `set(CMAKE_CXX_STANDARD 17)` to your top level `CMakeLists.txt` file. If you
34 [CMake build
35 instructions](https://github.com/abseil/abseil-cpp/blob/master/CMake/README.md)
40 pre-compiled version of
41 Abseil?"](#what-is-abi-and-why-dont-you-recommend-using-a-pre-compiled-version-of-abseil)
43 ## What is ABI and why don't you recommend using a pre-compiled version of Abseil?
55 [Bazel](https://bazel.build/) `BUILD` file:
62 copts = ["-std=c++17"], # May create a mixed-mode compile!
67 Applying `-std=c++17` to an individual target in your `BUILD` file is going to
68 compile that specific target in C++17 mode, but it isn't going to ensure the
69 Abseil library is built in C++17 mode, since the Abseil library itself is a
70 different build target. If your code includes an Abseil header, then your
73 the ABI of a program need to be applied to the entire build on a global basis.
82 If you build the Abseil library and your code using different compile options
85 limited to) language dialect (e.g. `-std=`), optimization level (e.g. `-O2`),
86 code generation flags (e.g. `-fexceptions`), and preprocessor defines
87 (e.g. `-DNDEBUG`).
89 If you use a pre-compiled version of Abseil, (for example, from your Linux
94 you've used the exact same compile options as were used to build the
95 pre-compiled library. This does not mean that Abseil cannot work as part of a
98 reasons we warn against - though do not outright reject - using Abseil as a
99 pre-compiled library.
106 structure your build so that all libraries use the same version of Abseil.
112 For these reasons we recommend you avoid pre-compiled code and build the Abseil
117 From Abseil's point-of-view, "live at head" means that every Abseil source
125 Abseil](https://github.com/abseil/abseil-cpp/commits/master) as often as
132 If you are using the [Bazel](https://bazel.build/) build system and its
133 [external dependencies](https://docs.bazel.build/versions/master/external.html)
135 [`http_archive`](https://docs.bazel.build/versions/master/repo/http.html#http_archive)
137 [`WORKSPACE`](https://docs.bazel.build/versions/master/be/workspace.html) for
139 Abseil](https://github.com/abseil/abseil-cpp/commits/master) is all you need to
147 …rls = ["https://github.com/abseil/abseil-cpp/archive/98eb410c93ad059f9bba1bf43f5bb916fc92a5ea.zip"…
148 strip_prefix = "abseil-cpp-98eb410c93ad059f9bba1bf43f5bb916fc92a5ea",
153 To get the `sha256` of this URL, run `curl -sL --output -
154 https://github.com/abseil/abseil-cpp/archive/98eb410c93ad059f9bba1bf43f5bb916fc92a5ea.zip
155 | sha256sum -`.
162 [https://github.com/abseil/abseil-cpp/archive/master.zip](https://github.com/abseil/abseil-cpp/arch…
164 head. Since these `master.zip` URLs are not versioned, you will lose build
165 reproducibility. In addition, some build systems, including Bazel, will simply