-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathsetup.py
More file actions
68 lines (61 loc) · 1.76 KB
/
Copy pathsetup.py
File metadata and controls
68 lines (61 loc) · 1.76 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
# setup.py
import os
import sys
import pybind11
from setuptools import setup, Extension, find_packages
extra_compile_args = ["/std:c++17"] if sys.platform == "win32" else ["-std=c++17"]
cpp_dir = os.path.join("artlib", "optimized", "backends", "cpp")
cpp_include_dirs = [pybind11.get_include(), cpp_dir]
def cpp_extension(module_name, source_name):
return Extension(
module_name,
[os.path.join(cpp_dir, source_name)],
include_dirs=cpp_include_dirs,
language="c++",
extra_compile_args=extra_compile_args,
)
ext_modules = [
cpp_extension(
"artlib.optimized.backends.cpp.cppBinaryFuzzyARTMAP",
"cppBinaryFuzzyARTMAP.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppFuzzyARTMAP",
"cppFuzzyARTMAP.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppHypersphereARTMAP",
"cppHypersphereARTMAP.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppGaussianARTMAP",
"cppGaussianARTMAP.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppART1MAP",
"cppART1MAP.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.fracsort",
"fracsort.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppFuzzyART",
"cppFuzzyART.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppBinaryFuzzyART",
"cppBinaryFuzzyART.cpp",
),
cpp_extension(
"artlib.optimized.backends.cpp.cppART1",
"cppART1.cpp",
),
]
setup(
name="artlib",
packages=find_packages(), # This all are included
include_package_data=True,
package_data={"artlib.optimized.backends.cpp": ["*.cpp", "*.hpp"]},
ext_modules=ext_modules,
)