diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0fff1f3eb2dac672e4e516bca5b3c238fda4c478..599276feb12a76a054a1c04c856b3436b6f2ba8e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,6 @@ variables: - CMAKE_VERSION: 3.18.2 - PYTHON_VERSION: 3.6.13 - CONAN_VERSION: 1.52.0 - DEVTOOLS_ROOT: "/usr/Local/devtools" + CMAKE_VERSION: 3.24.2 stages: - build @@ -13,15 +10,15 @@ stages: .build: stage: build script: - - yum -y install --setopt=tsflags=nodocs devtoolset-7-toolchain - - curl -s https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/main/download?job=linux-el6-i686 | tar -xzf - -C ${DEVTOOLS_ROOT} - - ${PYTHON_ROOT}/bin/pip3 install -q --no-cache-dir --prefix=${CONAN_ROOT} conan==${CONAN_VERSION} conan-package-tools - - mkdir -p cmake-${CMAKE_VERSION} + - yum install -y openssl-devel + - curl -OL https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-SHA-256.txt + - curl -OL https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz + - echo "$(cat cmake-${CMAKE_VERSION}-SHA-256.txt | grep cmake-${CMAKE_VERSION}.tar.gz)" | sha256sum --check --status + - tar -xzf cmake-${CMAKE_VERSION}.tar.gz - cd cmake-${CMAKE_VERSION} - - source scl_source enable devtoolset-7 - - CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ CC=/opt/rh/devtoolset-7/root/usr/bin/gcc linux32 -- conan install cmake/${CMAKE_VERSION}@ -g deploy --build=missing --build=cmake - - mkdir -p ${CI_PROJECT_DIR}/${NAME} - - cp -a cmake/* ${CI_PROJECT_DIR}/${NAME} + - ./bootstrap --prefix=${CI_PROJECT_DIR}/${NAME} -- -DCMAKE_BUILD_TYPE:STRING=Release + - make + - make install artifacts: name: ${NAME} paths: @@ -30,19 +27,18 @@ stages: .test: stage: test script: - - curl -s https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/main/download?job=linux-el6-i686 | tar -xzf - -C ${DEVTOOLS_ROOT} - - ${NAME}/bin/conan --version | grep ${CONAN_VERSION} + - ${NAME}/bin/cmake --version | grep ${CMAKE_VERSION} .package: stage: package script: - cd ${CI_PROJECT_DIR}/${NAME} - zip -r --symlinks ../${NAME}.zip * - - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ../${NAME}.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fakegit/${GIT_VERSION}/"' + - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ../${NAME}.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/cmake/${CMAKE_VERSION}/"' linux-el6-i686: extends: [".build"] - image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86 + image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc73-x86 variables: NAME: "cmake-${CMAKE_VERSION}-linux-el6-i686" PYTHON_ROOT: ${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-linux-el6-i686 @@ -52,19 +48,15 @@ linux-el6-i686: test-el6-i686: extends: [".test"] - image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86 + image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc73-x86 variables: NAME: "cmake-${CMAKE_VERSION}-linux-el6-i686" - PYTHON_ROOT: ${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-linux-el6-i686 - CONAN_ROOT: ${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-linux-el6-i686 - PATH: "${CONAN_ROOT}/bin:${PYTHON_ROOT}/bin" - PYTHONPATH: "${CONAN_ROOT}/lib/python3.6/site-packages" needs: - linux-el6-i686 package-el6-i686: extends: [".package"] - image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86 + image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc73-x86 variables: NAME: "cmake-${CMAKE_VERSION}-linux-el6-i686" needs: @@ -73,29 +65,21 @@ package-el6-i686: linux-el7-i686: extends: [".build"] - image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86 + image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc73-x86 variables: - NAME: "cmake-${CMAKE_VERSION}-linux-el6-i686" - PYTHON_ROOT: ${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-linux-el6-i686 - CONAN_ROOT: ${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-linux-el6-i686 - PATH: "${CONAN_ROOT}/bin:${PYTHON_ROOT}/bin" - PYTHONPATH: "${CONAN_ROOT}/lib/python3.6/site-packages" + NAME: "cmake-${CMAKE_VERSION}-linux-el7-i686" test-el7-i686: extends: [".test"] - image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86 + image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc73-x86 variables: NAME: "cmake-${CMAKE_VERSION}-linux-el6-i686" - PYTHON_ROOT: ${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-linux-el6-i686 - CONAN_ROOT: ${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-linux-el6-i686 - PATH: "${CONAN_ROOT}/bin:${PYTHON_ROOT}/bin" - PYTHONPATH: "${CONAN_ROOT}/lib/python3.6/site-packages" needs: - linux-el7-i686 package-el7-i686: extends: [".package"] - image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86 + image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc73-x86 variables: NAME: "cmake-${CMAKE_VERSION}-linux-el7-i686" needs: diff --git a/README.md b/README.md index 0612378da089e84871a45960c7fccf73503efb07..6f5d1d5d59d8f99d5758c456d27ec021d7ff19ca 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Cmake -Pipeline to build Cmake 3.18.2 for our legacy CentOS 32 bits platform. +Pipeline to build recent version of Cmake for our legacy CentOS 32 bits platform. -Cmake for independent 64 bits Linux distribution is avaible but not for 32 bits: -* https://cmake.org/files/v3.18/cmake-3.18.2-Linux-x86_64.tar.gz +Cmake provides independent 64 bits Linux distribution that works on CentOS 6 and 7 64 bits but they are not available for 32 bits: +* https://cmake.org/files/v3.24.2/cmake-3.24.2-Linux-x86_64.tar.gz Allows to build Cmake for: -* CentOS 6.10 32 bits: [cmake-3.18.2-linux-el6-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/tools/cmake/-/jobs/artifacts/main/download?job=linux-el6-i686) -* CentOS 7.9 32 bits: [cmake-3.18.2-linux-el7-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/tools/cmake/-/jobs/artifacts/main/download?job=linux-el7-i686) +* CentOS 6.10 32 bits: [cmake-3.24.2-linux-el6-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/tools/cmake/-/jobs/artifacts/main/download?job=linux-el6-i686) +* CentOS 7.9 32 bits: [cmake-3.24.2-linux-el7-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/tools/cmake/-/jobs/artifacts/main/download?job=linux-el7-i686)