1# Copyright (C) 2006 International Business Machines and others.
2# All Rights Reserved.
3# This file is distributed under the Eclipse Public License.
4
5## $Id: Makefile.am 1800 2011-08-14 10:37:34Z stefan $
6
7# Author:  Andreas Waechter           IBM    2006-04-13
8
9AUTOMAKE_OPTIONS = foreign
10
11########################################################################
12#                         unitTest for Coin                            #
13########################################################################
14
15noinst_PROGRAMS = unitTest
16
17unitTest_SOURCES = unitTest.cpp \
18  OsiTestSolver.cpp \
19  OsiTestSolverInterface.cpp \
20  OsiTestSolverInterfaceIO.cpp \
21  OsiTestSolverInterfaceTest.cpp
22
23# List libraries of COIN projects
24unitTest_LDADD        = ../src/OsiCommonTest/libOsiCommonTests.la
25unitTest_DEPENDENCIES = ../src/OsiCommonTest/libOsiCommonTests.la
26
27# Here list all include flags, relative to this "srcdir" directory.  This
28# "cygpath" stuff is necessary to compile with native compilers on Windows
29AM_CPPFLAGS = \
30	-I`$(CYGPATH_W) $(srcdir)/../src/Osi` \
31	-I`$(CYGPATH_W) $(srcdir)/../src/OsiCommonTest` \
32	$(COINUTILS_CFLAGS)
33
34# This line is necessary to allow VPATH compilation
35DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/src/Osi
36
37# Depending of what solvers are available, we add the corresponding files,
38# libraries and include dirs
39
40if COIN_HAS_CPX
41  unitTest_SOURCES += OsiCpxSolverInterfaceTest.cpp
42  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CPXINCDIR)` \
43	-I`$(CYGPATH_W) $(srcdir)/../src/OsiCpx`
44  unitTest_LDADD += ../src/OsiCpx/libOsiCpx.la
45  unitTest_DEPENDENCIES += ../src/OsiCpx/libOsiCpx.la
46  LIBS += $(CPXLIB)
47endif
48
49if COIN_HAS_GLPK
50  unitTest_SOURCES += OsiGlpkSolverInterfaceTest.cpp
51  AM_CPPFLAGS += $(GLPK_CFLAGS) \
52	-I`$(CYGPATH_W) $(srcdir)/../src/OsiGlpk`
53  unitTest_LDADD += ../src/OsiGlpk/libOsiGlpk.la
54  unitTest_DEPENDENCIES += ../src/OsiGlpk/libOsiGlpk.la
55  LIBS += $(GLPK_LIBS)
56endif
57
58if COIN_HAS_MSK
59  unitTest_SOURCES += OsiMskSolverInterfaceTest.cpp
60  AM_CPPFLAGS += -I`$(CYGPATH_W) $(MSKINCDIR)` \
61	-I`$(CYGPATH_W) $(srcdir)/../src/OsiMsk`
62  unitTest_LDADD += ../src/OsiMsk/libOsiMsk.la
63  unitTest_DEPENDENCIES += ../src/OsiMsk/libOsiMsk.la
64  LIBS += $(MSKLIB)
65endif
66
67if COIN_HAS_XPR
68  unitTest_SOURCES += OsiXprSolverInterfaceTest.cpp
69  AM_CPPFLAGS += -I`$(CYGPATH_W) $(XPRINCDIR)` \
70	-I`$(CYGPATH_W) $(srcdir)/../src/OsiXpr`
71  unitTest_LDADD += ../src/OsiXpr/libOsiXpr.la
72  unitTest_DEPENDENCIES += ../src/OsiXpr/libOsiXpr.la
73  LIBS += $(XPRLIB)
74endif
75
76if COIN_HAS_GRB
77  unitTest_SOURCES += OsiGrbSolverInterfaceTest.cpp
78  AM_CPPFLAGS += -I`$(CYGPATH_W) $(GRBINCDIR)` \
79	-I`$(CYGPATH_W) $(srcdir)/../src/OsiGrb`
80  unitTest_LDADD += ../src/OsiGrb/libOsiGrb.la
81  unitTest_DEPENDENCIES += ../src/OsiGrb/libOsiGrb.la
82  LIBS += $(GRBLIB)
83endif
84
85if COIN_HAS_SOPLEX
86  unitTest_SOURCES += OsiSpxSolverInterfaceTest.cpp
87  AM_CPPFLAGS += $(SOPLEX_CFLAGS) \
88	-I`$(CYGPATH_W) $(srcdir)/../src/OsiSpx`
89  unitTest_LDADD += ../src/OsiSpx/libOsiSpx.la
90  unitTest_DEPENDENCIES += ../src/OsiSpx/libOsiSpx.la
91  LIBS += $(SOPLEX_LIBS)
92endif
93
94unitTest_LDADD        += ../src/Osi/libOsi.la $(OSILIB_LIBS)
95unitTest_DEPENDENCIES += ../src/Osi/libOsi.la $(OSILIB_DEPENDENCIES)
96
97unittestflags =
98if COIN_HAS_SAMPLE
99  unittestflags += -mpsDir=`$(CYGPATH_W) $(SAMPLE_DATA)`
100endif
101if COIN_HAS_NETLIB
102  unittestflags += -netlibDir=`$(CYGPATH_W) $(NETLIB_DATA)` -testOsiSolverInterface
103endif
104
105test: unitTest$(EXEEXT)
106	./unitTest$(EXEEXT) $(unittestflags)
107
108.PHONY: test
109
110########################################################################
111#                          Cleaning stuff                              #
112########################################################################
113
114# Here we list everything that is not generated by the compiler, e.g.,
115# output files of a program
116
117DISTCLEANFILES = *.mps *.mps.gz *.lp test2out *.out.gz *.out
118