def collect(tmp): print('copying sources') shutil.copytree(os.path.join('..', '..', '..', 'src'), os.path.join(tmp, 'src')) print('copying include') shutil.copytree(os.path.join('..', '..', '..', 'include'), os.path.join(tmp, 'include')) print('copying externals') shutil.copytree(os.path.join('..', '..', '..', 'externals'), os.path.join(tmp, 'externals')) print('copying python files') shutil.copytree(os.path.join('..', name), os.path.join(tmp, name)) print('copying MANIFEST.in') shutil.copy2(os.path.join('..', 'MANIFEST.in'), os.path.join(tmp, 'MANIFEST.in')) print('copying .version') shutil.copy2(os.path.join('..', '..', '..', '.version'), os.path.join(tmp, '.version')) print('copying setup.py') shutil.copy2(os.path.join('..', 'setup.py'), os.path.join(tmp, 'setup.py')) print('touching .build_without_cython') fp = open(os.path.join(tmp, '.build_without_cython'), 'w'); fp.close() print('touching .use_this_directory_as_root') fp = open(os.path.join(tmp, '.use_this_directory_as_root'), 'w'); fp.close() if __name__ == '__main__': import shutil, os, sys, subprocess, glob subprocess.check_call('python generate_headers.py', shell=True, cwd=os.path.join('..', '..', '..', 'dev'), stdout=sys.stdout, stderr=sys.stderr) subprocess.check_call('python generate_constants_module.py', shell=True, cwd='..', stdout=sys.stdout, stderr=sys.stderr) for pyx in ['CoolProp.pyx', '_constants.pyx']: subprocess.check_call('cython --cplus ' + os.path.split(pyx)[1], shell=True, cwd=os.path.join('..', 'CoolProp'), stdout=sys.stdout, stderr=sys.stderr) name = 'CoolProp' # Make a temporary directory in this folder import tempfile tmp = tempfile.mkdtemp(dir='.') try: collect(tmp) # Make the source distro in this folder subprocess.check_call(' '.join(['python', 'setup.py', 'sdist'] + sys.argv[1::]), shell=True, cwd=tmp, stdout=sys.stdout, stderr=sys.stderr) except BaseException as B: shutil.rmtree(tmp) raise else: pass shutil.rmtree(tmp)