Skip to content

Commit 09d65b5

Browse files
authored
Merge pull request #65 from Sparks29032/cookie
Match cookiecutter
2 parents 5291599 + 334ab8d commit 09d65b5

File tree

1 file changed

+23
-38
lines changed

1 file changed

+23
-38
lines changed

setup.py

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,17 @@
88
Scripts: pdffit2
99
"""
1010

11+
import glob
1112
import os
1213
import re
1314
import sys
1415
import warnings
1516

16-
from setuptools import Extension, find_packages, setup
17+
from setuptools import Extension, setup
18+
19+
# Use this version when git data are not available, like in git zip archive.
20+
# Update when tagging a new release.
21+
FALLBACK_VERSION = "1.4.3"
1722

1823
MYDIR = os.path.dirname(os.path.abspath(__file__))
1924

@@ -98,50 +103,30 @@ def get_gsl_config_win():
98103
library_dirs += gcfg["library_dirs"]
99104
# add optimization flags for other compilers if needed
100105

106+
# define extension arguments here
107+
ext_kws = {
108+
"include_dirs": include_dirs,
109+
"libraries": libraries,
110+
"library_dirs": library_dirs,
111+
"define_macros": define_macros,
112+
"extra_compile_args": extra_compile_args,
113+
"extra_link_args": extra_link_args,
114+
"extra_objects": extra_objects,
115+
}
116+
101117

102118
# define extension here
103-
pdffit2module = Extension(
104-
"diffpy.pdffit2.pdffit2",
105-
[
106-
"src/extensions/pdffit2module/bindings.cc",
107-
"src/extensions/pdffit2module/misc.cc",
108-
"src/extensions/pdffit2module/pdffit2module.cc",
109-
"src/extensions/pdffit2module/pyexceptions.cc",
110-
"src/extensions/libpdffit2/Atom.cc",
111-
"src/extensions/libpdffit2/LocalPeriodicTable.cc",
112-
"src/extensions/libpdffit2/OutputStreams.cc",
113-
"src/extensions/libpdffit2/PeriodicTable.cc",
114-
"src/extensions/libpdffit2/PointsInSphere.cc",
115-
"src/extensions/libpdffit2/StringUtils.cc",
116-
"src/extensions/libpdffit2/fit.cc",
117-
"src/extensions/libpdffit2/gaussj.cc",
118-
"src/extensions/libpdffit2/metric.cc",
119-
"src/extensions/libpdffit2/nrutil.cc",
120-
"src/extensions/libpdffit2/output.cc",
121-
"src/extensions/libpdffit2/parser.cc",
122-
"src/extensions/libpdffit2/pdf.cc",
123-
"src/extensions/libpdffit2/pdffit.cc",
124-
"src/extensions/libpdffit2/pdflsmin.cc",
125-
"src/extensions/libpdffit2/scatlen.cc",
126-
"src/extensions/libpdffit2/stru.cc",
127-
],
128-
include_dirs=include_dirs,
129-
libraries=libraries,
130-
library_dirs=library_dirs,
131-
define_macros=define_macros,
132-
extra_compile_args=extra_compile_args,
133-
extra_link_args=extra_link_args,
134-
extra_objects=extra_objects,
135-
)
119+
def create_extensions():
120+
ext = Extension("diffpy.pdffit2.pdffit2", glob.glob("src/extensions/**/*.cc"), **ext_kws)
121+
return [ext]
122+
136123

137124
setup_args = dict(
138-
packages=find_packages(where="src"),
139-
package_dir={"": "src"},
140-
ext_modules=[pdffit2module],
141-
# scripts=[] # place examples here
125+
ext_modules=[],
142126
)
143127

144128
if __name__ == "__main__":
129+
setup_args["ext_modules"] = create_extensions()
145130
setup(**setup_args)
146131

147132
# End of file

0 commit comments

Comments
 (0)