-
Notifications
You must be signed in to change notification settings - Fork 6
/
setup.py
66 lines (57 loc) · 1.9 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import inspect
import os
import sys
from pathlib import Path
import cmake_build_extension
import setuptools
from distutils.util import convert_path
init_py = inspect.cleandoc(
"""
import cmake_build_extension
with cmake_build_extension.build_extension_env():
from .bindings import *
from .camera import Camera
from .roi import ROI
from .image import Image
from .image import ImageType
from .version import __version__
"""
)
CIBW_CMAKE_OPTIONS = [] # type: ignore
if "CIBUILDWHEEL" in os.environ and os.environ["CIBUILDWHEEL"] == "1":
if sys.platform == "linux":
CIBW_CMAKE_OPTIONS += ["-DCMAKE_INSTALL_LIBDIR=lib"]
version_path = convert_path("camera_zwo_asi/version.py")
version_dict = {}
with open(version_path) as version_file:
exec(version_file.read(), version_dict)
this_directory = Path(__file__).parent
long_description = (this_directory / "README.md").read_text()
setuptools.setup(
ext_modules=[
cmake_build_extension.CMakeExtension(
name="Pybind11Bindings",
install_prefix="camera_zwo_asi",
cmake_depends_on=["pybind11"],
write_top_level_init=init_py,
source_dir=str(Path(__file__).parent.absolute()),
cmake_configure_options=[
f"-DPython3_ROOT_DIR={Path(sys.prefix)}",
"-DCALL_FROM_SETUP_PY:BOOL=ON",
"-DBUILD_SHARED_LIBS:BOOL=OFF",
]
+ CIBW_CMAKE_OPTIONS,
),
],
version=version_dict["__version__"],
description="python wrapper for ZWO astronomical cameras",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/MPI-IS/camera_zwo_asi",
license="BSD 3-Clause License",
author="Vincent Berenz",
author_email="[email protected]",
cmdclass=dict(
build_ext=cmake_build_extension.BuildExtension,
),
)