1 |
Import('env') |
2 |
import platform |
3 |
|
4 |
if env.get('WITH_IPOPT'): |
5 |
solver_env = env.Clone() |
6 |
|
7 |
solver_env.AppendUnique(CPPPATH=[solver_env.get('IPOPT_CPPPATH')]) |
8 |
|
9 |
solver_env.Append( |
10 |
CPPDEFINES=[ |
11 |
'ASC_WITH_IPOPT' |
12 |
] |
13 |
,CPPPATH = [solver_env.get('IPOPT_CPPPATH')] |
14 |
) |
15 |
|
16 |
if platform.system()=="Windows": |
17 |
solver_env.Append( |
18 |
CFLAGS=["-static"] |
19 |
) |
20 |
|
21 |
ll = env.get('IPOPT_LIBPATH') |
22 |
ll1 = [] |
23 |
for l in ll: |
24 |
if "/usr/lib/gcc" not in l: |
25 |
ll1.append(l) |
26 |
|
27 |
solver_env.Append( |
28 |
LIBS = ['ascend'] + solver_env.get('IPOPT_LIBS') |
29 |
,LIBPATH = ['#'] + ll1 |
30 |
) |
31 |
|
32 |
lib = solver_env.SharedLibrary("ipopt",["asc_ipopt.c"] |
33 |
,SHLIBSUFFIX = env['EXTLIB_SUFFIX'] |
34 |
,SHLIBPREFIX = env['EXTLIB_PREFIX'] |
35 |
) |
36 |
|
37 |
env.Depends(lib,env['libascend']) |
38 |
|
39 |
env['extfns'] += [lib] |
40 |
|
41 |
if env.get('CAN_INSTALL'): |
42 |
dir = Dir(env.subst("$INSTALL_ROOT$INSTALL_SOLVERS")) |
43 |
env.InstallShared(dir,lib) |
44 |
|
45 |
# vim: set syntax=python: |