diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2020-03-28 19:19:22 +0000 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2020-03-28 23:54:28 +0000 |
commit | 8a408b4c95a5e6be2808ef9516bcbebddf8b09a6 (patch) | |
tree | 611639829cb54daabb7d536e5c11ffaadf5a03d5 /project/linkage.py | |
parent | WIP: restructure (diff) | |
download | cmake-common-8a408b4c95a5e6be2808ef9516bcbebddf8b09a6.tar.gz cmake-common-8a408b4c95a5e6be2808ef9516bcbebddf8b09a6.zip |
project.boost: factor out Configuration/Platform/Linkage
Diffstat (limited to 'project/linkage.py')
-rw-r--r-- | project/linkage.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/project/linkage.py b/project/linkage.py new file mode 100644 index 0000000..7019049 --- /dev/null +++ b/project/linkage.py @@ -0,0 +1,26 @@ +# Copyright (c) 2020 Egor Tensin <Egor.Tensin@gmail.com> +# This file is part of the "cmake-common" project. +# For details, see https://github.com/egor-tensin/cmake-common. +# Distributed under the MIT License. + +import argparse +from enum import Enum + + +class Linkage(Enum): + STATIC = 'static' + SHARED = 'shared' + + def __str__(self): + return self.value + + @staticmethod + def all(): + return tuple(Linkage) + + @staticmethod + def parse(s): + try: + return Linkage(s) + except ValueError: + raise argparse.ArgumentTypeError(f'invalid linkage: {s}') |