1 | #! /usr/bin/env python |
---|
2 | |
---|
3 | import os |
---|
4 | import NBuserConfig |
---|
5 | |
---|
6 | #---------------------------------------------------------------------- |
---|
7 | # This file defines variables which describe how the specific |
---|
8 | # coin-or projects are to be build and tested. |
---|
9 | #---------------------------------------------------------------------- |
---|
10 | |
---|
11 | #---------------------------------------------------------------------- |
---|
12 | PROJECT_EMAIL_ADDRS = {} |
---|
13 | PROJECT_CONFIG_LINES = {} |
---|
14 | UNITTEST_DIR = {} |
---|
15 | UNITTEST_CMD = {} |
---|
16 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS = {} |
---|
17 | SKIP3RDPARTY_CONFIG_LINE = 'COIN_SKIP_PROJECTS="ThirdParty/ASL ThirdParty/Blas ThirdParty/Glpk ThirdParty/HSL ThirdParty/Lapack ThirdParty/Mumps"' |
---|
18 | STANDARD_CONFIG_LINES = {} |
---|
19 | SKIP3RDPARTY_CONFIG_LINES = {} |
---|
20 | |
---|
21 | for buildType in NBuserConfig.BUILD_TYPES : |
---|
22 | if "Debug" in buildType : |
---|
23 | key = 'Debug' |
---|
24 | val = '--enable-debug' |
---|
25 | else : |
---|
26 | key = 'Default' |
---|
27 | val = '' |
---|
28 | |
---|
29 | if "ThirdParty" in buildType : |
---|
30 | STANDARD_CONFIG_LINES[key] = val |
---|
31 | else : |
---|
32 | #key += "-no3rdParty" |
---|
33 | key += "-NoThirdParty" |
---|
34 | #val += ' '+SKIP3RDPARTY_CONFIG_LINE |
---|
35 | #SKIP3RDPARTY_CONFIG_LINES[key] = val |
---|
36 | STANDARD_CONFIG_LINES[key] = val |
---|
37 | |
---|
38 | #---------------------------------------------------------------------- |
---|
39 | PROJECT_EMAIL_ADDRS['CoinUtils'] = 'ladanyi _AT_ us _DOT_ ibm _DOT_ com' |
---|
40 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['CoinUtils'] = ['make test'] |
---|
41 | PROJECT_CONFIG_LINES['CoinUtils'] = STANDARD_CONFIG_LINES.copy() |
---|
42 | #does not have references to third party packages |
---|
43 | |
---|
44 | #---------------------------------------------------------------------- |
---|
45 | PROJECT_EMAIL_ADDRS['DyLP'] = 'lou _AT_ cs _DOT_ sfu _DOT_ ca' |
---|
46 | UNITTEST_DIR['DyLP'] = os.path.join('Osi','test') |
---|
47 | UNITTEST_CMD['DyLP'] = './unitTest -testOsiSolverInterface -netlibDir=_NETLIBDIR_ -cerr2cout' |
---|
48 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['DyLP'] = ['make test'] |
---|
49 | PROJECT_CONFIG_LINES['DyLP'] = STANDARD_CONFIG_LINES.copy() |
---|
50 | #does not have references to third party packages |
---|
51 | |
---|
52 | #---------------------------------------------------------------------- |
---|
53 | PROJECT_EMAIL_ADDRS['Clp'] = 'jjforre _AT_ us _DOT_ ibm _DOT_ com' |
---|
54 | UNITTEST_DIR['Clp'] = os.path.join('Clp','src') |
---|
55 | UNITTEST_CMD['Clp'] = './clp -unitTest dirNetlib=_NETLIBDIR_ -netlib' |
---|
56 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['Clp'] = ['make test',UNITTEST_CMD['Clp']] |
---|
57 | PROJECT_CONFIG_LINES['Clp'] = STANDARD_CONFIG_LINES.copy() |
---|
58 | PROJECT_CONFIG_LINES['Clp'].update(SKIP3RDPARTY_CONFIG_LINES) |
---|
59 | |
---|
60 | #---------------------------------------------------------------------- |
---|
61 | PROJECT_EMAIL_ADDRS['SYMPHONY'] = 'tkr2 _AT_ lehigh _DOT_ edu' |
---|
62 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['SYMPHONY'] = ['make test'] |
---|
63 | PROJECT_CONFIG_LINES['SYMPHONY'] = STANDARD_CONFIG_LINES.copy() |
---|
64 | PROJECT_CONFIG_LINES['SYMPHONY'].update(SKIP3RDPARTY_CONFIG_LINES) |
---|
65 | |
---|
66 | #---------------------------------------------------------------------- |
---|
67 | PROJECT_EMAIL_ADDRS['Vol'] = 'barahon _AT_ us _DOT_ ibm _DOT_ com' |
---|
68 | PROJECT_CONFIG_LINES['Vol'] = STANDARD_CONFIG_LINES.copy() |
---|
69 | #does not have references to third party packages |
---|
70 | |
---|
71 | #---------------------------------------------------------------------- |
---|
72 | PROJECT_EMAIL_ADDRS['Osi'] = 'mjs _AT_ ces _DOT_ clemson _DOT_ edu' |
---|
73 | UNITTEST_DIR['Osi'] = os.path.join('Osi','test') |
---|
74 | UNITTEST_CMD['Osi'] = './unitTest -testOsiSolverInterface -netlibDir=_NETLIBDIR_ -cerr2cout' |
---|
75 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['Osi'] = ['make test',UNITTEST_CMD['Osi']] |
---|
76 | PROJECT_CONFIG_LINES['Osi'] = STANDARD_CONFIG_LINES.copy() |
---|
77 | PROJECT_CONFIG_LINES['Osi'].update(SKIP3RDPARTY_CONFIG_LINES) |
---|
78 | |
---|
79 | #---------------------------------------------------------------------- |
---|
80 | PROJECT_EMAIL_ADDRS['Cgl'] = 'robinlh _AT_ us _DOT_ ibm _DOT_ com' |
---|
81 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['Cgl'] = ['make test'] |
---|
82 | PROJECT_CONFIG_LINES['Cgl'] = STANDARD_CONFIG_LINES.copy() |
---|
83 | #does not have references to third party packages |
---|
84 | |
---|
85 | #---------------------------------------------------------------------- |
---|
86 | PROJECT_EMAIL_ADDRS['Cbc'] = 'jjforre _AT_ us _DOT_ ibm _DOT_ com' |
---|
87 | UNITTEST_DIR['Cbc'] = os.path.join('Cbc','src') |
---|
88 | UNITTEST_CMD['Cbc'] = './cbc -unitTest -dirMiplib=_MIPLIB3DIR_ -miplib' |
---|
89 | PROJECT_CONFIG_LINES['Cbc'] = STANDARD_CONFIG_LINES.copy() |
---|
90 | PROJECT_CONFIG_LINES['Cbc'].update(SKIP3RDPARTY_CONFIG_LINES) |
---|
91 | PROJECT_CONFIG_LINES['Cbc']['Parallel']='--enable-cbc-parallel' |
---|
92 | |
---|
93 | #---------------------------------------------------------------------- |
---|
94 | PROJECT_EMAIL_ADDRS['Ipopt'] = 'andreasw _AT_ us _DOT_ ibm _DOT_ com' |
---|
95 | PROJECT_CONFIG_LINES['Ipopt'] = STANDARD_CONFIG_LINES.copy() |
---|
96 | #third party packages are not optional here |
---|
97 | |
---|
98 | #---------------------------------------------------------------------- |
---|
99 | PROJECT_EMAIL_ADDRS['Bonmin'] = 'pbonami _AT_ us _DOT_ ibm _DOT_ com' |
---|
100 | PROJECT_CONFIG_LINES['Bonmin'] = STANDARD_CONFIG_LINES.copy() |
---|
101 | #third party packages are not optional here |
---|
102 | |
---|
103 | #---------------------------------------------------------------------- |
---|
104 | PROJECT_EMAIL_ADDRS['FlopC++'] = 'Tim _DOT_ Hultberg _AT_ eumetsat _DOT_ int' |
---|
105 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['FlopC++'] = ['make test'] |
---|
106 | PROJECT_CONFIG_LINES['FlopC++'] = STANDARD_CONFIG_LINES.copy() |
---|
107 | #does not have references to third party packages |
---|
108 | |
---|
109 | #---------------------------------------------------------------------- |
---|
110 | PROJECT_EMAIL_ADDRS['OS'] = 'kipp _DOT_ martin _AT_ chicagogsb _DOT_ edu' |
---|
111 | ALL_TESTS_COMPLETED_SUCCESSFULLY_CMDS['OS'] = ['make test'] |
---|
112 | PROJECT_CONFIG_LINES['OS'] = STANDARD_CONFIG_LINES.copy() |
---|
113 | #third party packages are not optional here (because it uses Ipopt) |
---|
114 | |
---|
115 | #---------------------------------------------------------------------- |
---|
116 | PROJECT_EMAIL_ADDRS['CppAD'] = 'bradbell _AT_ washington _DOT_ edu' |
---|
117 | PROJECT_CONFIG_LINES['CppAD'] = STANDARD_CONFIG_LINES.copy() |
---|
118 | #does not have references to third party packages |
---|
119 | |
---|
120 | |
---|
121 | #--------------------------------------------------- |
---|
122 | # Not sure what file this belongs in. |
---|
123 | # This data structure is intended to describe how each COIN project |
---|
124 | # should be built. |
---|
125 | #--------------------------------------------------- |
---|
126 | BUILDS = { |
---|
127 | #'DefaultProject' : |
---|
128 | # [ |
---|
129 | # { 'SvnVersion': 'trunk', 'OptLevel': 'Default', 'ThirdParty':'Yes' }, |
---|
130 | # { 'SvnVersion': 'latestStable', 'OptLevel': 'Debug', 'ThirdParty':'No' } |
---|
131 | # ], |
---|
132 | 'CoinUtils' : |
---|
133 | [ |
---|
134 | { 'SvnVersion': 'trunk', 'OptLevel': 'Default', 'ThirdParty': 'No' } |
---|
135 | #,{ 'SvnVersion': 'trunk', 'OptLevel': 'Debug', 'ThirdParty': 'No' } |
---|
136 | #,{ 'SvnVersion': 'latestStable', 'OptLevel': 'Default', 'ThirdParty': 'No' } |
---|
137 | ,{ 'SvnVersion': 'latestStable', 'OptLevel': 'Debug', 'ThirdParty': 'No' } |
---|
138 | ], |
---|
139 | 'DyLP' : |
---|
140 | [ |
---|
141 | { 'Reference' : 'CoinUtils' }, |
---|
142 | ], |
---|
143 | 'Clp' : |
---|
144 | [ |
---|
145 | { 'Reference' : 'CoinUtils' }, |
---|
146 | ], |
---|
147 | 'SYMPHONY' : |
---|
148 | [ |
---|
149 | { 'Reference' : 'CoinUtils' }, |
---|
150 | ], |
---|
151 | 'Vol' : |
---|
152 | [ |
---|
153 | { 'Reference' : 'CoinUtils' }, |
---|
154 | ], |
---|
155 | 'Osi' : |
---|
156 | [ |
---|
157 | { 'Reference' : 'CoinUtils' }, |
---|
158 | ], |
---|
159 | 'Cgl' : |
---|
160 | [ |
---|
161 | { 'Reference' : 'CoinUtils' }, |
---|
162 | ], |
---|
163 | 'Cbc' : |
---|
164 | [ |
---|
165 | { 'Reference' : 'CoinUtils' }, |
---|
166 | |
---|
167 | |
---|
168 | # And build a parallel version with Third Party |
---|
169 | { |
---|
170 | 'SvnVersion': 'releases/1.2.0', |
---|
171 | 'OptLevel': 'Default', |
---|
172 | 'ThirdParty': 'Yes', |
---|
173 | 'AdditionConfigOptions': '--enable-cbc-parallel' |
---|
174 | } |
---|
175 | ], |
---|
176 | 'FlopC++' : |
---|
177 | [ |
---|
178 | { 'Reference' : 'CoinUtils' }, |
---|
179 | ], |
---|
180 | 'Ipopt' : |
---|
181 | [ |
---|
182 | { 'SvnVersion': 'trunk', 'OptLevel': 'Default', 'ThirdParty':'Yes' }, |
---|
183 | ], |
---|
184 | 'Bonmin' : |
---|
185 | [ |
---|
186 | { 'Reference' : 'Ipopt' }, |
---|
187 | ], |
---|
188 | 'OS' : |
---|
189 | [ |
---|
190 | { 'Reference' : 'Ipopt' }, |
---|
191 | { |
---|
192 | 'SvnVersion': 'trunk', |
---|
193 | 'OptLevel': 'Default', |
---|
194 | 'ThirdParty': 'No', |
---|
195 | 'SkipProjects': ('Ipopt') } |
---|
196 | ] |
---|
197 | } |
---|
198 | |
---|