tikv / grpc-rs

The gRPC library for Rust built on C Core library and futures
Apache License 2.0
1.8k stars 253 forks source link

Any reason for using CMake 3.8? #250

Open ice1000 opened 5 years ago

ice1000 commented 5 years ago

It will be inconvenient for Ubuntu users since Ubuntu's source has cmake 3.5.

In grpc's own codebase, the minimum CMake version is 2.8.

Ping @BusyJay @overvenus

overvenus commented 5 years ago

It works fine with cmake 3.5, actually.

$ /usr/bin/cmake --version
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
$ CMAKE=/usr/bin/cmake cargo test -p grpcio-sys -vvv
   Compiling libc v0.2.43
   Compiling pkg-config v0.3.14
   Compiling cc v1.0.25
   ...
   Compiling grpcio-sys v0.4.0 (file:///home/pingcap/stn/grpc-rs/grpc-sys)
     Running `rustc --crate-name build_script_build grpc-sys/build.rs --crate-type bin --emit=dep-info,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="secure"' -C metadata=167864ae7261effd -C extra-filename=-167864ae7261effd --out-dir /home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-167864ae7261effd -C incremental=/home/pingcap/stn/grpc-rs/target/debug/incremental -L dependency=/home/pingcap/stn/grpc-rs/target/debug/deps --extern cc=/home/pingcap/stn/grpc-rs/target/debug/deps/libcc-e18b29d7a0a86dad.rlib --extern pkg_config=/home/pingcap/stn/grpc-rs/target/debug/deps/libpkg_config-9995f0a4e59922bb.rlib --extern cmake=/home/pingcap/stn/grpc-rs/target/debug/deps/libcmake-fda368d80b2ae32e.rlib`
     Running `/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-167864ae7261effd/build-script-build`
cargo:rerun-if-changed=grpc_wrap.cc
cargo:rerun-if-changed=grpc
cargo:rerun-if-env-changed=GRPCIO_SYS_USE_PKG_CONFIG
running: "/usr/bin/cmake" "/home/pingcap/stn/grpc-rs/grpc-sys/grpc" "-DgRPC_INSTALL=false" "-DgRPC_BUILD_CSHARP_EXT=false" "-DgRPC_BUILD_CODEGEN=false" "-DCMAKE_INSTALL_PREFIX=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_BUILD_TYPE=Debug"
-- The C compiler identification is GNU 7.3.0
     ...
     Running `rustc --crate-name grpcio_sys grpc-sys/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="secure"' -C metadata=00719b1a1b505350 -C extra-filename=-00719b1a1b505350 --out-dir /home/pingcap/stn/grpc-rs/target/debug/deps -C incremental=/home/pingcap/stn/grpc-rs/target/debug/incremental -L dependency=/home/pingcap/stn/grpc-rs/target/debug/deps --extern libc=/home/pingcap/stn/grpc-rs/target/debug/deps/liblibc-90452a12371964f2.rlib -L native=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out/build -L native=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out/build/third_party/cares/cares/lib -L native=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out/build/third_party/zlib -L native=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out/build/third_party/boringssl/ssl -L native=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out/build/third_party/boringssl/crypto -L native=/home/pingcap/stn/grpc-rs/target/debug/build/grpcio-sys-306954bcc5b8421a/out -l static=z -l static=cares -l static=gpr -l static=address_sorting -l static=grpc -l static=ssl -l static=crypto -l static=grpc_wrap -l stdc++`
     Finished dev [unoptimized + debuginfo] target(s) in 29.41 secs
     Running `/home/pingcap/stn/grpc-rs/target/debug/deps/grpcio_sys-0b5f84a8db94906b`

running 1 test
test tests::smoke ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
ice1000 commented 5 years ago

We should modify the README.

BusyJay commented 5 years ago

If cmake works for all platform, then let's change it to a lower version.