|
1 | 1 | from setuptools import Extension
|
| 2 | +import os |
| 3 | +import sys |
2 | 4 |
|
3 | 5 | project = 'pydatastructs'
|
4 |
| - |
5 | 6 | module = 'utils'
|
6 |
| - |
7 | 7 | backend = '_backend'
|
8 |
| - |
9 | 8 | cpp = 'cpp'
|
10 | 9 |
|
11 | 10 | nodes = '.'.join([project, module, backend, cpp, '_nodes'])
|
12 |
| -nodes_sources = ['/'.join([project, module, backend, cpp, |
13 |
| - 'nodes.cpp'])] |
| 11 | +nodes_sources = [os.path.join(project, module, backend, cpp, 'nodes.cpp')] |
| 12 | + |
14 | 13 | graph_utils = '.'.join([project, module, backend, cpp, '_graph_utils'])
|
15 |
| -graph_utils_sources = ['/'.join([project, module, backend, cpp, |
16 |
| - 'graph_utils.cpp'])] |
| 14 | +graph_utils_sources = [os.path.join(project, module, backend, cpp, 'graph_utils.cpp')] |
| 15 | + |
| 16 | +extra_compile_args = ["-std=c++17"] |
| 17 | + |
| 18 | +if sys.platform == "darwin": |
| 19 | + extra_compile_args.append("-mmacosx-version-min=10.13") |
| 20 | +elif sys.platform == "win32": |
| 21 | + extra_compile_args = ["/std:c++17"] |
17 | 22 |
|
18 | 23 | extensions = [
|
19 |
| - Extension(nodes, sources=nodes_sources, language="c++", extra_compile_args=["-std=c++17"]), |
20 |
| - Extension(graph_utils, sources = graph_utils_sources, language="c++", extra_compile_args=["-std=c++17"]) |
| 24 | + Extension(nodes, sources=nodes_sources, language="c++", extra_compile_args=extra_compile_args), |
| 25 | + Extension(graph_utils, sources=graph_utils_sources, language="c++", extra_compile_args=extra_compile_args), |
21 | 26 | ]
|
0 commit comments