Files
CoolProp/wrappers/Javascript/build.py

39 lines
1.5 KiB
Python

import subprocess, os, sys
import glob2 as glob
exports = ['-s','EXPORTED_FUNCTIONS=\"[\'_main\',\'_F2K\',\'_PropsSI\',\'_get_global_param_string\']\"']
optimization = '-O2 -s DISABLE_EXCEPTION_CATCHING=0'
def compile_sources():
for f in glob.glob(os.path.join('..','..','src','**','*.cpp')):
call = [r'em++.bat',optimization,f,'-I../../include','-c','-DEXTERNC']+ exports
print 'Calling:',' '.join(call)
subprocess.check_call(' '.join(call), stdout = sys.stdout, shell = True)
def link():
call = [r'C:\Users\Belli\Downloads\emsdk-1.16.0-portable-64bit\emscripten\1.16.0\em++',optimization,'-v','-o','coolprop.js']+glob.glob('*.o')+['-DEXTERNC'] + exports
print 'Calling:',' '.join(call)
subprocess.check_call(' '.join(call), stdout = sys.stdout, shell = True)
def cleanup():
for file in glob.glob('*.o'):
print 'removing',file
os.remove(file)
def run():
os.startfile('index.html')
if __name__=='__main__':
compile_sources()
link()
#closure_compiler()
cleanup()
#run()
# def closure_compiler():
# call = ['java','-Xmx1024m','-jar','compiler.jar','--js','coolprop.js','--js_output_file','coolprop2.js','--compilation_level','ADVANCED_OPTIMIZATIONS','--language_in','ECMASCRIPT5']
# print 'Using the closure compiler, this will take a while... (from https://developers.google.com/closure/compiler/)'
# print 'Calling:',' '.join(call)
# subprocess.check_output(' '.join(call), shell = True)