diff --git a/.docker/Dockerfile b/.docker/Dockerfile index fae9c39282daf891a787bb3228d40bf5b7740554..031075381e70fe8656e9d9c254f4e9d2993350e9 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -10,6 +10,34 @@ RUN apt-get install -y python3-pip RUN apt-get install -y git RUN apt-get install -y curl +RUN apt-get install -y build-essential autoconf libtool pkg-config +RUN git clone --recurse-submodules -b v1.38.1 https://github.com/grpc/grpc + +WORKDIR /grpc +RUN mkdir -p cmake/build +WORKDIR cmake/build +RUN cmake -DgRPC_INSTALL=ON \ + -DgRPC_BUILD_CSHARP_EXT=OFF \ + -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF \ + -DgRPC_BUILD_TESTS=OFF \ + ../.. +RUN make -j +RUN make install + +WORKDIR /grpc +RUN mkdir -p third_party/abseil-cpp/cmake/build +WORKDIR third_party/abseil-cpp/cmake/build +RUN cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \ + ../.. +RUN make -j +RUN make install + +WORKDIR / COPY doc/requirements.txt doc-requirements.txt RUN pip3 install -r doc-requirements.txt COPY requirements.txt build-requirements.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index a4af698e58b93033ea1b684ce78c7a6a165b572f..fb6df3ef3ef0236242ef2069495e0ccddcb3179c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,24 +41,24 @@ conan_basic_setup() set(PROJECT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include") -#find_program(iwyu NAMES include-what-you-use iwyu PATHS ${CMAKE_SOURCE_DIR}/tools/include-what-you-use/${iwyu_os}/bin) -#if(NOT iwyu) - #message(STATUS "include-what-you-use: Not found") -#else() - #message(STATUS "include-what-you-use: ${iwyu}") - #set(_CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${iwyu}) -#endif() - -#find_program(clang_tidy NAMES clang-tidy clang-tidy-11) -#if(NOT clang_tidy) - #message(STATUS "clang-tidy: Not found") -#else() - #message(STATUS "clang-tidy: ${clang_tidy}") - #set(_CMAKE_CXX_CLANG_TIDY "${clang_tidy}" - #"--header-filter=caosdb/.*[^\(\.pb\.h\)]$" - #"--checks=*,-fuchsia-*,-llvm-include-order,-llvmlibc-*" - #"--warnings-as-errors=*") -#endif() +find_program(iwyu NAMES include-what-you-use iwyu PATHS ${CMAKE_SOURCE_DIR}/tools/include-what-you-use/${iwyu_os}/bin) +if(NOT iwyu) + message(STATUS "include-what-you-use: Not found") +else() + message(STATUS "include-what-you-use: ${iwyu}") + set(_CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${iwyu}) +endif() + +find_program(clang_tidy NAMES clang-tidy clang-tidy-11) +if(NOT clang_tidy) + message(STATUS "clang-tidy: Not found") +else() + message(STATUS "clang-tidy: ${clang_tidy}") + set(_CMAKE_CXX_CLANG_TIDY "${clang_tidy}" + "--header-filter=caosdb/.*[^\(\.pb\.h\)]$" + "--checks=*,-fuchsia-*,-llvm-include-order,-llvmlibc-*" + "--warnings-as-errors=*") +endif() add_subdirectory(src) add_subdirectory(include)