From 5ff5de06b0174a0519ac572b36f2d3896b65ca20 Mon Sep 17 00:00:00 2001 From: Nikita Alekseev Date: Tue, 28 Aug 2018 12:46:54 +0300 Subject: [PATCH] Upgrade CMake to version 3.11.4 (#1667) This allows the usage of FetchContent which is useful for CMake based dependencies Signed-off-by: Nikita Alekseev --- CMakeLists.txt | 2 +- docker/android/Dockerfile | 13 +++++++++++-- docker/dependencies/Dockerfile | 4 ++-- docker/develop/Dockerfile | 4 ++-- docs/source/guides/dependencies.rst | 12 ++++++------ docs/source/guides/libraries/swift_ios.rst | 2 +- shared_model/CMakeLists.txt | 2 +- 7 files changed, 24 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 95f04dd5d7..0eb4ef5855 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright Soramitsu Co., Ltd. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 -cmake_minimum_required(VERSION 3.5.1) +cmake_minimum_required(VERSION 3.11.4) find_program(CCACHE_PROGRAM ccache) if(CCACHE_PROGRAM) diff --git a/docker/android/Dockerfile b/docker/android/Dockerfile index 6f4782ffaa..f49dfb53c7 100644 --- a/docker/android/Dockerfile +++ b/docker/android/Dockerfile @@ -1,4 +1,3 @@ -# using fresh 18.04 as it contains suitable `cmake` in repos FROM ubuntu:18.04 # number of concurrent threads during build @@ -19,11 +18,21 @@ ENV DEPS_DIR="/iroha/dependencies" RUN apt-get update && \ apt-get -y install --no-install-recommends git curl apt-utils software-properties-common libpthread-stubs0-dev libpcre3-dev \ - unzip zip build-essential automake libtool ca-certificates ccache zlib1g-dev libcurl4-openssl-dev libc6-dbg cmake; \ + unzip zip build-essential automake libtool ca-certificates ccache zlib1g-dev libcurl4-openssl-dev libc6-dbg; \ rm -rf /var/lib/apt/lists/* RUN set -e; mkdir -p $DEPS_DIR/include $DEPS_DIR/lib +# install cmake 3.11.4 +RUN set -e; \ + git clone https://gitlab.kitware.com/cmake/cmake.git /tmp/cmake; \ + (cd /tmp/cmake ; git checkout 316bd45439ad8ced6b31bcb10303a788038387ef); \ + (cd /tmp/cmake ; /tmp/cmake/bootstrap --system-curl --parallel=${PARALLELISM} --enable-ccache); \ + make -j${PARALLELISM} -C /tmp/cmake; \ + make -C /tmp/cmake install; \ + ldconfig; \ + rm -rf /tmp/cmake + # boost 1.66 RUN set -e; \ curl -L -o /tmp/boost_1_66_0.tar.gz https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz; \ diff --git a/docker/dependencies/Dockerfile b/docker/dependencies/Dockerfile index 0cd8972b58..0d5beafecb 100644 --- a/docker/dependencies/Dockerfile +++ b/docker/dependencies/Dockerfile @@ -34,10 +34,10 @@ RUN set -e; \ gcovr cppcheck doxygen graphviz graphviz-dev unzip zip; \ apt-get -y clean -# install cmake 3.10.2 +# install cmake 3.11.4 RUN set -e; \ git clone https://gitlab.kitware.com/cmake/cmake.git /tmp/cmake; \ - (cd /tmp/cmake ; git checkout c1e087a9d3af74299d7681c9f9de59e5977a1539); \ + (cd /tmp/cmake ; git checkout 316bd45439ad8ced6b31bcb10303a788038387ef); \ (cd /tmp/cmake ; /tmp/cmake/bootstrap --system-curl --parallel=${PARALLELISM} --enable-ccache); \ make -j${PARALLELISM} -C /tmp/cmake; \ make -C /tmp/cmake install; \ diff --git a/docker/develop/Dockerfile b/docker/develop/Dockerfile index 7a2dd169b2..a63351eed8 100644 --- a/docker/develop/Dockerfile +++ b/docker/develop/Dockerfile @@ -34,10 +34,10 @@ RUN set -e; \ gcovr cppcheck doxygen rsync graphviz graphviz-dev unzip zip; \ apt-get -y clean -# install cmake 3.10.2 +# install cmake 3.11.4 RUN set -e; \ git clone https://gitlab.kitware.com/cmake/cmake.git /tmp/cmake; \ - (cd /tmp/cmake ; git checkout c1e087a9d3af74299d7681c9f9de59e5977a1539); \ + (cd /tmp/cmake ; git checkout 316bd45439ad8ced6b31bcb10303a788038387ef); \ (cd /tmp/cmake ; /tmp/cmake/bootstrap --system-curl --parallel=${PARALLELISM} --enable-ccache); \ make -j${PARALLELISM} -C /tmp/cmake; \ make -C /tmp/cmake install; \ diff --git a/docs/source/guides/dependencies.rst b/docs/source/guides/dependencies.rst index b959ec9c2f..d34bf79aa2 100644 --- a/docs/source/guides/dependencies.rst +++ b/docs/source/guides/dependencies.rst @@ -34,7 +34,7 @@ Installation on Ubuntu CMake ----- -Minimum required version is 3.8, but we recommend to install the latest available version (3.10.3 at the moment). +Minimum required version is 3.11.4, but we recommend to install the latest available version (3.12.0 at the moment). Installation on Ubuntu ^^^^^^^^^^^^^^^^^^^^^^ @@ -44,14 +44,14 @@ Here is how to build and install CMake from sources. .. code-block:: shell - wget https://cmake.org/files/v3.10/cmake-3.10.3.tar.gz - tar -xvzf cmake-3.10.3.tar.gz - cd cmake-3.10.3/ + wget https://cmake.org/files/v3.11/cmake-3.11.4.tar.gz + tar -xvzf cmake-3.11.4.tar.gz + cd cmake-3.11.4/ ./configure make sudo make install cmake --version - # cmake version 3.10.3 + # cmake version 3.11.4 Installation on macOS ^^^^^^^^^^^^^^^^^^^^^ @@ -60,7 +60,7 @@ Installation on macOS brew install cmake cmake --version - # cmake version 3.10.2 + # cmake version 3.12.1 Git --- diff --git a/docs/source/guides/libraries/swift_ios.rst b/docs/source/guides/libraries/swift_ios.rst index 8443bbfb79..0a60856ec6 100644 --- a/docs/source/guides/libraries/swift_ios.rst +++ b/docs/source/guides/libraries/swift_ios.rst @@ -35,7 +35,7 @@ This tutorial was tested with the following environment: - MacOS Sierra 10.12.6 - Xcode 9.2 - carthage 0.29.0 -- cmake 3.11.0 +- cmake 3.11.4 - iPhone 7 iOS 11.2 Simulator   Hyperledger Iroha iOS library diff --git a/shared_model/CMakeLists.txt b/shared_model/CMakeLists.txt index a567446448..39797ce5ee 100644 --- a/shared_model/CMakeLists.txt +++ b/shared_model/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright Soramitsu Co., Ltd. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 -cmake_minimum_required(VERSION 3.5.1) +cmake_minimum_required(VERSION 3.11.4) project(shared_model C CXX)