mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 11:05:54 +00:00
50 lines
1.3 KiB
Bash
Executable File
50 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o xtrace
|
|
|
|
# Parameters
|
|
|
|
gcc_version=${GCC_VERSION:-11}
|
|
cmake_version=${CMAKE_VERSION:-3.25.1}
|
|
cmake_sha256=1c511d09516af493694ed9baf13c55947a36389674d657a2d5e0ccedc6b291d8
|
|
conan_version=${CONAN_VERSION:-1.60}
|
|
|
|
curl https://pyenv.run | bash
|
|
export PYENV_ROOT="$HOME/.pyenv"
|
|
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
|
eval "$(pyenv init -)"
|
|
|
|
pyenv install 3.11.2
|
|
pyenv global 3.11.2
|
|
|
|
# Download and unpack CMake.
|
|
cmake_slug="cmake-${cmake_version}"
|
|
cmake_archive="${cmake_slug}.tar.gz"
|
|
curl --location --remote-name \
|
|
"https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${cmake_archive}"
|
|
echo "${cmake_sha256} ${cmake_archive}" | sha256sum --check
|
|
tar -xzf ${cmake_archive}
|
|
rm ${cmake_archive}
|
|
|
|
# Build and install CMake.
|
|
cd ${cmake_slug}
|
|
./bootstrap --parallel=$(nproc)
|
|
make --jobs $(nproc)
|
|
make install
|
|
cd ..
|
|
rm --recursive --force ${cmake_slug}
|
|
|
|
# Install Conan.
|
|
pip install --upgrade pip
|
|
pip install conan==${conan_version}
|
|
|
|
conan profile new --detect gcc
|
|
conan profile update settings.compiler=gcc gcc
|
|
conan profile update settings.compiler.version=${gcc_version} gcc
|
|
conan profile update settings.compiler.libcxx=libstdc++11 gcc
|
|
conan profile update settings.compiler.cppstd=20 gcc
|
|
conan profile update env.CC=/usr/bin/gcc gcc
|
|
conan profile update env.CXX=/usr/bin/g++ gcc
|