Lines Matching +full:cmake +full:-
5 The standalone CMake build is primarily intended for developers. If embedding
6 BoringSSL into another project with a pre-existing build system, see
13 * [CMake](https://cmake.org/download/) 2.8.12 or later is required. Note we
14 will begin requiring CMake 3.0 in 2019.
22 If Perl is not found by CMake, it may be configured explicitly by setting
25 * Building with [Ninja](https://ninja-build.org/) instead of Make is
26 recommended, because it makes builds faster. On Windows, CMake's Visual
28 recent versions of CMake for assembly support.
31 by CMake, it may be configured explicitly by setting
36 Recent versions of GCC (4.8+) and Clang should work on non-Windows
40 Note Go is exempt from the five year support window. If not found by CMake,
49 Using Ninja (note the 'N' is capitalized in the cmake invocation):
53 cmake -GNinja ..
60 cmake ..
63 You usually don't need to run `cmake` again after changing `CMakeLists.txt`
67 Note that the default build flags in the top-level `CMakeLists.txt` are for
68 debugging—optimisation isn't enabled. Pass `-DCMAKE_BUILD_TYPE=Release` to
69 `cmake` to configure a release build.
71 If you want to cross-compile then there is an example toolchain file for 32-bit
72 Intel in `util/`. Wipe out the build directory, recreate it and run `cmake` like
75 cmake -DCMAKE_TOOLCHAIN_FILE=../util/32-bit-toolchain.cmake -GNinja ..
77 If you want to build as a shared library, pass `-DBUILD_SHARED_LIBS=1`. On
82 In order to serve environments where code-size is important as well as those
86 See [CMake's documentation](https://cmake.org/cmake/help/v3.4/manual/cmake-variables.7.html)
91 It's possible to build BoringSSL with the Android NDK using CMake. Recent
92 versions of the NDK include a CMake toolchain file which works with CMake 3.6.0
96 directory. Then make a build directory as above and run CMake like this:
98 cmake -DANDROID_ABI=armeabi-v7a \
99 -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
100 -DANDROID_NATIVE_API_LEVEL=16 \
101 -GNinja ..
103 Once you've run that, Ninja should produce Android-compatible binaries. You
104 can replace `armeabi-v7a` in the above with `arm64-v8a` and use API level 21 or
113 adb push ${ANDROID_NDK}/prebuilt/android-ARCH/gdbserver/gdbserver \
119 architecture of the host machine, e.g. `linux-x86_64`.
126 To build for iOS, pass `-DCMAKE_OSX_SYSROOT=iphoneos` and
127 `-DCMAKE_OSX_ARCHITECTURES=ARCH` to CMake, where `ARCH` is the desired
128 architecture, matching values used in the `-arch` flag in Apple's toolchain.
130 Passing multiple architectures for a multiple-architecture build is not
139 In order to build with prefixed symbols, the `BORINGSSL_PREFIX` CMake variable
141 `BORINGSSL_PREFIX_SYMBOLS` CMake variable should specify the path to a file
143 comments are supported with `#`). In other words, `cmake ..
144 -DBORINGSSL_PREFIX=MY_CUSTOM_PREFIX
145 -DBORINGSSL_PREFIX_SYMBOLS=/path/to/symbols.txt` will configure the build to add
161 * Versions of CMake since 3.0.2 have a bug in its Ninja generator that causes
166 These warnings can be safely ignored. The cmake bug is
167 http://www.cmake.org/Bug/view.php?id=15253.
169 * CMake can generate Visual Studio projects, but the generated project files
179 By default, on Linux-based systems, BoringSSL will try to use `getauxval` and
187 `-march` flag. You can also define any of the following to enable the
197 run-time, BoringSSL will likely crash.
201 The implementations of some algorithms require a trade-off between binary size
202 and performance. For instance, BoringSSL's fastest P-256 implementation uses a
203 148 KiB pre-computed table. To optimize instead for binary size, pass
204 `-DOPENSSL_SMALL=1` to CMake or define the `OPENSSL_SMALL` preprocessor symbol.
209 are built by Ninja and can be run from the top-level directory with `go run
213 Both sets of tests may also be run with `ninja -C build run_tests`, but CMake