mirror of
https://github.com/clangd/clangd.git
synced 2025-04-21 08:03:00 +00:00
Enable gRPC support for clangd on Linux
This commit is contained in:
parent
f779426513
commit
4af469c0e0
34
.github/workflows/autobuild.yaml
vendored
34
.github/workflows/autobuild.yaml
vendored
@ -62,7 +62,7 @@ jobs:
|
|||||||
"-DLLVM_ENABLE_ZLIB=FORCE_ON"
|
"-DLLVM_ENABLE_ZLIB=FORCE_ON"
|
||||||
- name: linux
|
- name: linux
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
preinstall: sudo apt-get install ninja-build libz-dev
|
preinstall: sudo apt-get install ninja-build libz-dev libc-ares-dev
|
||||||
cflags: -O3 -gline-tables-only -DNDEBUG -include $GITHUB_WORKSPACE/.github/workflows/lib_compat.h
|
cflags: -O3 -gline-tables-only -DNDEBUG -include $GITHUB_WORKSPACE/.github/workflows/lib_compat.h
|
||||||
cmake: >
|
cmake: >
|
||||||
"-DCMAKE_C_COMPILER=clang"
|
"-DCMAKE_C_COMPILER=clang"
|
||||||
@ -71,6 +71,10 @@ jobs:
|
|||||||
"-DLLVM_STATIC_LINK_CXX_STDLIB=ON"
|
"-DLLVM_STATIC_LINK_CXX_STDLIB=ON"
|
||||||
"-DLLVM_ENABLE_ZLIB=FORCE_ON"
|
"-DLLVM_ENABLE_ZLIB=FORCE_ON"
|
||||||
"-DCMAKE_PROJECT_INCLUDE=$GITHUB_WORKSPACE/.github/workflows/linux-static-deps.cmake"
|
"-DCMAKE_PROJECT_INCLUDE=$GITHUB_WORKSPACE/.github/workflows/linux-static-deps.cmake"
|
||||||
|
"-DCLANGD_ENABLE_REMOTE=ON"
|
||||||
|
# This is needed to avoid dynamic linking of additional libraries.
|
||||||
|
grpc_cmake: >
|
||||||
|
"-DgRPC_CARES_PROVIDER=package"
|
||||||
steps:
|
steps:
|
||||||
- name: Clone scripts
|
- name: Clone scripts
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@ -90,6 +94,33 @@ jobs:
|
|||||||
echo "$($name)=$($value)" >> $env:GITHUB_ENV
|
echo "$($name)=$($value)" >> $env:GITHUB_ENV
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# FIXME: gRPC support is currently available only on Linux. Other platforms
|
||||||
|
# will be added later.
|
||||||
|
- name: Clone gRPC
|
||||||
|
if: matrix.config.name == 'linux'
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: grpc/grpc
|
||||||
|
path: grpc
|
||||||
|
ref: v1.32.0
|
||||||
|
submodules: recursive
|
||||||
|
- name: Prepare gRPC build environment
|
||||||
|
if: matrix.config.name == 'linux'
|
||||||
|
run: |
|
||||||
|
mkdir grpc-installation
|
||||||
|
mkdir grpc/build
|
||||||
|
echo "GRPC_INSTALL_PATH=$(realpath grpc-installation)" >> $GITHUB_ENV
|
||||||
|
echo "GRPC_BUILD_PATH=$(realpath grpc/build)" >> $GITHUB_ENV
|
||||||
|
- name: Build gRPC
|
||||||
|
if: matrix.config.name == 'linux'
|
||||||
|
run: >
|
||||||
|
cmake -G Ninja -S grpc -B ${{ env.GRPC_BUILD_PATH }}
|
||||||
|
"-DgRPC_INSTALL=ON"
|
||||||
|
"-DCMAKE_INSTALL_PREFIX=${{ env.GRPC_INSTALL_PATH }}"
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
${{ matrix.config.grpc_cmake }}
|
||||||
|
|
||||||
|
ninja -C ${{ env.GPC_BUILD_PATH }} install
|
||||||
- name: Fetch target commit
|
- name: Fetch target commit
|
||||||
uses: actions/download-artifact@v1
|
uses: actions/download-artifact@v1
|
||||||
with: { name: release }
|
with: { name: release }
|
||||||
@ -120,6 +151,7 @@ jobs:
|
|||||||
"-DLLVM_ENABLE_PLUGINS=OFF"
|
"-DLLVM_ENABLE_PLUGINS=OFF"
|
||||||
"-DCMAKE_C_FLAGS_RELEASE=${{ matrix.config.cflags }}"
|
"-DCMAKE_C_FLAGS_RELEASE=${{ matrix.config.cflags }}"
|
||||||
"-DCMAKE_CXX_FLAGS_RELEASE=${{ matrix.config.cflags }}"
|
"-DCMAKE_CXX_FLAGS_RELEASE=${{ matrix.config.cflags }}"
|
||||||
|
"-DGRPC_INSTALL_PATH=${{ env.GRPC_INSTALL_PATH }}"
|
||||||
${{ matrix.config.cmake }}
|
${{ matrix.config.cmake }}
|
||||||
- name: Ninja
|
- name: Ninja
|
||||||
run: ninja -C ${{ env.CLANGD_DIR }} clangd
|
run: ninja -C ${{ env.CLANGD_DIR }} clangd
|
||||||
|
Loading…
Reference in New Issue
Block a user