diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1d1fe94 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +Dockerfile \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3f376f8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,52 @@ +FROM gcc:7 +MAINTAINER Abdul Dakkak + +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + automake \ + autoconf \ + bison \ + flex \ + libevent-dev \ + libboost-all-dev \ + libssl-dev \ + libcurl4-openssl-dev \ + libdouble-conversion-dev \ + libgoogle-glog-dev \ + libgflags-dev \ + libjemalloc-dev \ + libssl-dev \ + cmake \ + thrift-compiler && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + + +ENV FOLLY_SRC=/src/folly +RUN git clone https://github.com/facebook/folly $FOLLY_SRC && cd $FOLLY_SRC && git fetch --all +WORKDIR $FOLLY_SRC/folly +RUN autoreconf -ivf && \ + ./configure --prefix=/usr/local && \ + make && \ + make -j`nproc` install + + +ENV LIBRDKAFKA_SRC=/src/librdkafka +RUN git clone https://github.com/edenhill/librdkafka $LIBRDKAFKA_SRC && cd $LIBRDKAFKA_SRC && git fetch --all +WORKDIR $LIBRDKAFKA_SRC +RUN ./configure --prefix=/usr/local && \ + make && \ + make -j`nproc` install + +ENV ZIPKIN_CPP=/src/zipkin-cpp +ENV ZIPKIN_CPP_BUILD=/opt/zipkin-cpp +WORKDIR $ZIPKIN_CPP + +ADD . $ZIPKIN_CPP + +WORKDIR $ZIPKIN_CPP_BUILD + +RUN cmake $ZIPKIN_CPP -DWITH_CURL=ON -DBUILD_DOCS=OFF -DWITH_FPIC=ON + +RUN make && \ + make -j`nproc` install \ No newline at end of file diff --git a/cmake/InstallRapidJSON.cmake b/cmake/InstallRapidJSON.cmake index cbc3fb3..e649348 100644 --- a/cmake/InstallRapidJSON.cmake +++ b/cmake/InstallRapidJSON.cmake @@ -8,7 +8,7 @@ if (NOT RAPIDJSON_FOUND OR USE_BUNDLED_RAPIDJSON) DOWNLOAD_NAME RapidJSON-${RAPIDJSON_VERSION}.tar.gz URL https://github.com/miloyip/rapidjson/archive/v${RAPIDJSON_VERSION}.tar.gz URL_MD5 ${RAPIDJSON_URL_MD5} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DRAPIDJSON_BUILD_EXAMPLES=OFF TEST_COMMAND "" )