diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2021-01-25 16:05:51 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2021-01-31 14:25:07 +0300 |
commit | d4673a2ff058529488dddf2e0520ee68ec88a0c7 (patch) | |
tree | a2a622511aa5af0b67d91da19937b48539f67041 /project/ci/dirs.py | |
parent | project.ci: auto-fill --toolset from environment (diff) | |
download | cmake-common-d4673a2ff058529488dddf2e0520ee68ec88a0c7.tar.gz cmake-common-d4673a2ff058529488dddf2e0520ee68ec88a0c7.zip |
project.ci: use pre-built Boost when available
Diffstat (limited to 'project/ci/dirs.py')
-rw-r--r-- | project/ci/dirs.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/project/ci/dirs.py b/project/ci/dirs.py index 33bd667..946a315 100644 --- a/project/ci/dirs.py +++ b/project/ci/dirs.py @@ -10,6 +10,7 @@ import os.path from project.boost.version import Version from project.ci.appveyor.generator import Generator, Image from project.configuration import Configuration +import project.os from project.platform import Platform from project.toolchain import ToolchainType from project.utils import env @@ -59,6 +60,10 @@ class Dirs(abc.ABC): def get_build_dir(self): pass + @abc.abstractmethod + def get_prebuilt_boost_dir(self): + pass + def get_boost_version(self): return Version.from_string(env('boost_version')) @@ -118,6 +123,11 @@ class Travis(Dirs): def get_build_dir(self): return env('HOME') + def get_prebuilt_boost_dir(self): + # Travis doesn't have pre-built Boost (available for installation from + # the official Ubuntu repositories though). + return None + def get_cmake_args(self): return [] @@ -142,6 +152,9 @@ class AppVeyor(Dirs): def get_build_dir(self): return R'C:\projects' + def get_prebuilt_boost_dir(self): + return Image.get().get_prebuilt_boost_dir() + def get_cmake_args(self): return ['-G', str(Generator.from_image(Image.get()))] @@ -166,6 +179,15 @@ class GitHub(Dirs): def get_build_dir(self): return os.path.dirname(env('GITHUB_WORKSPACE')) + def get_prebuilt_boost_dir(self): + # As of 2021-01-25, Boost 1.72.0 is pre-built (on all images except for + # ubuntu-20.04 for some reason). The path is stored in environment + # variable BOOST_ROOT_1_72_0. + var_name = 'BOOST_ROOT_1_72_0' + if var_name in os.environ: + return os.environ[var_name] + return None + def get_cmake_args(self): return [] |