1111 run : |
1212 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
1313 sudo apt-get -y update
14- sudo apt-get -y install git ninja-build libidn11-dev ragel yasm libc-ares-dev libre2-dev \
14+ sudo apt-get -y install git gdb ninja-build libidn11-dev ragel yasm libc-ares-dev libre2-dev \
1515 rapidjson-dev zlib1g-dev libxxhash-dev libzstd-dev libsnappy-dev libgtest-dev libgmock-dev \
16- libbz2-dev liblz4-dev libdouble-conversion-dev libstdc++-13-dev gcc-13 g++-13
16+ libbz2-dev liblz4-dev libdouble-conversion-dev libssl-dev libstdc++-13-dev gcc-13 g++-13
17+
18+ # Install ccache
19+ (V=4.8.1; curl -L https://github.com/ccache/ccache/releases/download/v${V}/ccache-${V}-linux-x86_64.tar.xz | \
20+ sudo tar -xJ -C /usr/local/bin/ --strip-components=1 --no-same-owner ccache-${V}-linux-x86_64/ccache)
21+
22+ ccache -o base_dir=`realpath ..`
23+ ccache -o cache_dir=~/.ccache
24+ ccache -z
25+ export ENABLE_CCACHE="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
26+
1727 wget https://apt.llvm.org/llvm.sh
1828 chmod u+x llvm.sh
1929 sudo ./llvm.sh 16
@@ -28,59 +38,64 @@ runs:
2838 tar -xvzf abseil-cpp-20230802.0.tar.gz
2939 cd abseil-cpp-20230802.0
3040 mkdir build && cd build
31- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DABSL_PROPAGATE_CXX_STD=ON ..
32- sudo cmake --build . --config Release --target install
41+ cmake -G Ninja ${ENABLE_CCACHE} -DCMAKE_BUILD_TYPE=Release -DABSL_PROPAGATE_CXX_STD=ON ..
42+ cmake --build . --config Release
43+ cmake --install . --config Release --prefix ~/ydb_deps/absl
3344 cd ../../
3445
3546 # Install protobuf
3647 wget -O protobuf-3.21.12.tar.gz https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz
3748 tar -xvzf protobuf-3.21.12.tar.gz
3849 cd protobuf-3.21.12
3950 mkdir build && cd build
40- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_INSTALL=ON -Dprotobuf_ABSL_PROVIDER=package ..
41- sudo cmake --build . --config Release --target install
51+ cmake -G Ninja ${ENABLE_CCACHE} -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_INSTALL=ON ..
52+ cmake --build . --config Release
53+ cmake --install . --config Release --prefix ~/ydb_deps/protobuf
4254 cd ../../
4355
4456 # Install gRPC
45- wget -O grpc-1.41.0 .tar.gz https://github.com/grpc/grpc/archive/refs/tags/v1.41.0 .tar.gz
46- tar -xvzf grpc-1.41.0 .tar.gz && cd grpc-1.41.0
57+ wget -O grpc-1.54.3 .tar.gz https://github.com/grpc/grpc/archive/refs/tags/v1.54.3 .tar.gz
58+ tar -xvzf grpc-1.54.3 .tar.gz && cd grpc-1.54.3
4759 mkdir build && cd build
48- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 \
60+ cmake -G Ninja ${ENABLE_CCACHE} -DCMAKE_PREFIX_PATH="~/ydb_deps/absl;~/ydb_deps/protobuf" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 \
4961 -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_BUILD_CSHARP_EXT=OFF \
5062 -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_RE2_PROVIDER=package \
5163 -DgRPC_SSL_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_ABSL_PROVIDER=package \
5264 -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \
5365 -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF ..
54- sudo cmake --build . --config Release --target install
66+ cmake --build . --config Release
67+ cmake --install . --config Release --prefix ~/ydb_deps/grpc
5568 cd ../../
5669
5770 # Install base64
5871 wget -O base64-0.5.2.tar.gz https://github.com/aklomp/base64/archive/refs/tags/v0.5.2.tar.gz
5972 tar -xvzf base64-0.5.2.tar.gz && cd base64-0.5.2
6073 mkdir build && cd build
61- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
62- sudo cmake --build . --config Release --target install
74+ cmake -G Ninja ${ENABLE_CCACHE} -DCMAKE_BUILD_TYPE=Release ..
75+ cmake --build . --config Release
76+ cmake --install . --config Release --prefix ~/ydb_deps/base64
6377 cd ../../
6478
6579 # Install brotli
6680 wget -O brotli-1.1.0.tar.gz https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz
6781 tar -xvzf brotli-1.1.0.tar.gz && cd brotli-1.1.0
6882 mkdir build && cd build
69- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
70- sudo cmake --build . --config Release --target install
83+ cmake -G Ninja ${ENABLE_CCACHE} -DCMAKE_BUILD_TYPE=Release ..
84+ cmake --build . --config Release
85+ cmake --install . --config Release --prefix ~/ydb_deps/brotli
7186 cd ../../
7287
7388 # Install jwt-cpp
7489 wget -O jwt-cpp-0.7.0.tar.gz https://github.com/Thalhammer/jwt-cpp/archive/refs/tags/v0.7.0.tar.gz
7590 tar -xvzf jwt-cpp-0.7.0.tar.gz && cd jwt-cpp-0.7.0
7691 mkdir build && cd build
77- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
78- sudo cmake --build . --config Release --target install
92+ cmake -G Ninja ${ENABLE_CCACHE} -DCMAKE_BUILD_TYPE=Release ..
93+ cmake --build . --config Release
94+ cmake --install . --config Release --prefix ~/ydb_deps/jwt-cpp
7995 cd ../../
8096
81- # Install ccache
82- (V=4.8.1; curl -L https://github.com/ccache/ccache/releases/download/v${V}/ccache-${V}-linux-x86_64.tar.xz | \
83- sudo tar -xJ -C /usr/local/bin/ --strip-components=1 --no-same-owner ccache-${V}-linux-x86_64/ccache)
84- sudo rm -rf llvm.sh abseil-cpp-20230802.0.tar.gz protobuf-3.21.12.tar.gz grpc-1.41.0.tar.gz \
97+ # Clean up
98+ ccache -s
99+ sudo rm -rf llvm.sh abseil-cpp-20230802.0.tar.gz protobuf-3.21.12.tar.gz grpc-1.54.3.tar.gz \
85100 base64-0.5.2.tar.gz brotli-1.1.0.tar.gz jwt-cpp-0.7.0.tar.gz abseil-cpp-20230802.0 \
86- protobuf-3.21.12 grpc-1.41.0 base64-0.5.2 brotli-1.1.0 jwt-cpp-0.7.0
101+ protobuf-3.21.12 grpc-1.54.3 base64-0.5.2 brotli-1.1.0 jwt-cpp-0.7.0
0 commit comments