Skip to content
Snippets Groups Projects
Commit 085f842c authored by MADELA Patrick's avatar MADELA Patrick
Browse files

New approach to build cmake 32 bits based on bootstrap method and gcc73 images

parent df64ee79
No related branches found
No related tags found
No related merge requests found
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:
......
# 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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment