-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.py
More file actions
73 lines (68 loc) · 2.88 KB
/
setup.py
File metadata and controls
73 lines (68 loc) · 2.88 KB
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
67
68
69
70
71
72
73
import pybind11
import sys
import os
from setuptools import setup
from pathlib import Path
from pybind11.setup_helpers import Pybind11Extension, build_ext
coverage = os.environ.get("COVERAGE") == "1"
this_dir = Path(__file__).parent.resolve()
extra_compile_args: list[str] = ['/std:c++17'] if sys.platform == "win32" else ['-std=c++17']
extra_link_args: list[str] = []
if coverage:
extra_compile_args += ['-O0', '-g', '--coverage']
extra_link_args += ['--coverage']
ext_modules = [
Pybind11Extension(
'monero',
[
'src/cpp/common/py_monero_common.cpp',
'src/cpp/daemon/py_monero_daemon_model.cpp',
'src/cpp/daemon/py_monero_daemon_default.cpp',
'src/cpp/daemon/py_monero_daemon_rpc.cpp',
'src/cpp/wallet/py_monero_wallet_model.cpp',
'src/cpp/wallet/py_monero_wallet.cpp',
'src/cpp/wallet/py_monero_wallet_full.cpp',
'src/cpp/wallet/py_monero_wallet_rpc.cpp',
'src/cpp/utils/py_monero_utils.cpp',
'src/cpp/py_monero.cpp'
],
include_dirs=[
pybind11.get_include(),
str(this_dir / 'external' / 'monero-cpp' / 'src'),
str(this_dir / 'external' / 'monero-cpp' / 'external' / 'monero-project' / 'src'),
str(this_dir / 'external' / 'monero-cpp' / 'external' / 'monero-project' / 'contrib' / 'epee' / 'include'),
str(this_dir / 'external' / 'monero-cpp' / 'external' / 'monero-project' / 'external'),
str(this_dir / 'external' / 'monero-cpp' / 'external' / 'monero-project' / 'external' / 'easylogging++'),
str(this_dir / 'external' / 'monero-cpp' / 'external' / 'monero-project' / 'external' / 'rapidjson' / 'include'),
str(this_dir / 'src' / 'cpp'),
str(this_dir / 'src' / 'cpp' / 'common'),
str(this_dir / 'src' / 'cpp' / 'daemon'),
str(this_dir / 'src' / 'cpp' / 'wallet'),
str(this_dir / 'src' / 'cpp' / 'utils')
],
library_dirs=[
str(this_dir / 'external' / 'monero-cpp' / 'build')
],
libraries=['monero-cpp'],
language='c++',
extra_compile_args=extra_compile_args,
extra_link_args=extra_link_args
),
]
setup(
name='monero',
version='0.0.1',
author='everoddandeven',
author_email="everoddandeven@protonmail.com",
maintainer='everoddandeven',
maintainer_email='everoddandeven@protonmail.com',
license="MIT",
url='https://github.com/everoddandeven/monero-python',
download_url="https://github.com/everoddandeven/monero-python/releases",
description='A Python library for using Monero.',
long_description='Python bindings for monero-cpp.',
keywords=["monero", "monero-python", "python", "bindings", "pybind11"],
ext_modules=ext_modules,
install_requires=['pybind11>=2.12.0'],
cmdclass={"build_ext": build_ext}
)