-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathsetup.py
More file actions
53 lines (46 loc) · 2.39 KB
/
setup.py
File metadata and controls
53 lines (46 loc) · 2.39 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
#!/usr/bin/env python
"""setup that compiles C++ wrapper to be used as python module.
"""
from distutils.core import setup, Extension
import os
# this project uses c++11 codes
os.environ["CC"] = "g++-5 -std=c++11"
swig_opts = ['-shadow', '-c++']
source_path = 'cc/'
build_path = 'build/temp.linux-x86_64-2.7/'+source_path
modified_pso = Extension('cc._modified_pso',
sources=[source_path+'modified_pso.cc',
source_path+'regions.cc',
source_path+'individual.cc',
source_path+'optimizer.cc',
source_path+'modified_pso.i'],
swig_opts=swig_opts)
pso = Extension('cc._pso',
sources=[source_path+'pso.cc',
source_path+'pso.i'],
extra_objects=[build_path+'regions.o',
build_path+'individual.o',
build_path+'optimizer.o'],
swig_opts=swig_opts)
genetic_algorithm = Extension('cc._genetic_algorithm',
sources=[source_path+'genetic_algorithm.cc',
source_path+'genetic_algorithm.i'],
extra_objects=[build_path+'regions.o',
build_path+'individual.o',
build_path+'optimizer.o'],
swig_opts=swig_opts)
ecca = Extension('cc._ecca',
sources=[source_path+'ecca.cc',
source_path+'ecca.i'],
extra_objects=[build_path+'regions.o',
build_path+'individual.o',
build_path+'optimizer.o'],
swig_opts=swig_opts)
# compile C++ libraries
setup (name = 'Optimizers',
version = '1.0',
author = "Jean Da Rolt",
description = """C++ wrappers for performance optimization.""",
ext_modules = [modified_pso, genetic_algorithm, pso, ecca],
py_modules = ["modified_pso", "genetic_algorithm", "pso", "ecca"],
)