Make it possible to specify your own protoc when building protobuf in
a submodule.
When cross-compiling, we need to build the protobuf libraries for the
target architecture, yet we need to use a protoc executable built for
the host architecture.
This configuration variable was originally set due to a bug in CMake.
We now build BoringSSL with assembly optimizations on Visual Studio
provided that the version of CMake we're using is "new enough" (3.13+)
and the NASM assembler is installed.
This is a CMake find-module, which attempts to find c-ares without
a CMake package file being available. If such a file is available,
it uses that. Otherwise, it searches for the library and include
directory manually.
Remove some spaces at the end of lines. Change how variables are
referenced inside if() statements. Remove the space between if/endif
and the first parenthesis. Remove the duplicated condition from endif()
blocks. Make indentation more consistent. Remove unneeded duplicate
PRIVATE keywords from target_include_directories(). Remove redundant
set_source_files_properties() call, as the file is already GENERATED.
This patch fixes two issues with the targets exported by the
grpc cmake build:
- Install directories are now given relative instead of absolute.
Previously the exported targets would contain absolute paths to
their created targets when they should be relative. The actual
installation location stays the same as cmake automatically
interprets the paths relative to CMAKE_INSTALL_PREFIX
- ZLIB and OpenSSL are now linked using targets instead of the
legacy library variables if possible. Using the legacy paths
produces absolute paths to those dependencies in the export.
With this change cmake inserts the target names instead.
With these changes no more absolute paths are inserted into the
export allowing the install location to be used as an artifact
that can be moved or transfered to another machine and used there.