source: CMT/v1r19/contrib/scenario1.sh @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 4.0 KB
Line 
1
2#test
3
4#
5# Test de -no_auto_import
6#
7
8#
9#  4 packages A, B, C, D
10#
11
12scroot=${CMTROOT}/demo/scenario1
13
14CMTPATH=${scroot}
15
16rm -Rf ${scroot}
17mkdir -p ${scroot}
18cmt create A v1 ${scroot}
19cmt create B v1 ${scroot}
20cmt create C v1 ${scroot}
21cmt create D v1 ${scroot}
22
23cd ${scroot}
24
25echo '#ifndef __$(package)_h__     '  > template.h
26echo '#define __$(package)_h__     ' >> template.h
27echo 'class $(package)             ' >> template.h
28echo '{                            ' >> template.h
29echo '  public:                    ' >> template.h
30echo '    $(package) ();           ' >> template.h
31echo '    void f ();               ' >> template.h
32echo '};                           ' >> template.h
33echo '#endif                       ' >> template.h
34
35echo '#include "$(package).h"      '  > template.cxx
36echo '#include "stdio.h"           ' >> template.cxx
37echo '$(package)::$(package) ()    ' >> template.cxx
38echo '{                            ' >> template.cxx
39echo '}                            ' >> template.cxx
40echo 'void $(package)::f ()        ' >> template.cxx
41echo '{                            ' >> template.cxx
42echo '  printf ("$(package)::f\\n");' >> template.cxx
43echo '}                            ' >> template.cxx
44
45echo 'package $(package)' >requirements
46echo 'macro $(package)_linkopts "-L$(PACKAGE_ROOT)/${CMTCONFIG} -l$(package)" WIN32 "$(PACKAGE_ROOT)/${CMTCONFIG}/$(package).lib"' >>requirements
47echo 'library $(package) $(package).cxx' >>requirements
48echo 'path_append PATH "${scroot}/$(package)/v1/${CMTCONFIG}"' >>requirements
49
50cd ${scroot}/B/v1/cmt
51cmt filter ${scroot}/template.h ../src/B.h
52cmt filter ${scroot}/template.cxx ../src/B.cxx
53cmt filter ${scroot}/requirements requirements
54gmake
55
56cd ${scroot}/C/v1/cmt
57cmt filter ${scroot}/template.h ../src/C.h
58cmt filter ${scroot}/template.cxx ../src/C.cxx
59cmt filter ${scroot}/requirements requirements
60gmake
61
62cd ${scroot}/D/v1/cmt
63cmt filter ${scroot}/template.h ../src/D.h
64cmt filter ${scroot}/template.cxx ../src/D.cxx
65cmt filter ${scroot}/requirements requirements
66gmake
67
68cd ${scroot}/A/v1/cmt
69
70echo 'package A                 '  > requirements
71echo 'use B v1                  ' >> requirements
72echo 'use C v1 -no_auto_imports ' >> requirements
73echo 'use D v1 -no_auto_imports ' >> requirements
74echo 'application b -check b.cxx' >> requirements
75echo 'application c -check -import=C c.cxx' >> requirements
76echo 'application d -check -import=C -import=D d.cxx' >> requirements
77
78echo '#include "B.h"           '   > ../src/b.cxx
79echo 'int main ()              '  >> ../src/b.cxx
80echo '{                        '  >> ../src/b.cxx
81echo '  B b;                   '  >> ../src/b.cxx
82echo '  b.f ();                '  >> ../src/b.cxx
83echo '  return (0);            '  >> ../src/b.cxx
84echo '}                        '  >> ../src/b.cxx
85
86echo '#include "B.h"           '   > ../src/c.cxx
87echo '#include "C.h"           '  >> ../src/c.cxx
88echo 'int main ()              '  >> ../src/c.cxx
89echo '{                        '  >> ../src/c.cxx
90echo '  B b;                   '  >> ../src/c.cxx
91echo '  b.f ();                '  >> ../src/c.cxx
92echo '  C c;                   '  >> ../src/c.cxx
93echo '  c.f ();                '  >> ../src/c.cxx
94echo '  return (0);            '  >> ../src/c.cxx
95echo '}                        '  >> ../src/c.cxx
96
97echo '#include "B.h"           '   > ../src/d.cxx
98echo '#include "C.h"           '  >> ../src/d.cxx
99echo '#include "D.h"           '  >> ../src/d.cxx
100echo 'int main ()              '  >> ../src/d.cxx
101echo '{                        '  >> ../src/d.cxx
102echo '  B b;                   '  >> ../src/d.cxx
103echo '  b.f ();                '  >> ../src/d.cxx
104echo '  C c;                   '  >> ../src/d.cxx
105echo '  c.f ();                '  >> ../src/d.cxx
106echo '  D d;                   '  >> ../src/d.cxx
107echo '  d.f ();                '  >> ../src/d.cxx
108echo '  return (0);            '  >> ../src/d.cxx
109echo '}                        '  >> ../src/d.cxx
110
111. setup.sh
112
113gmake check
114
115cd ${CMTROOT}/contrib
Note: See TracBrowser for help on using the repository browser.