Salome HOME
Update copyrights 2014.
[modules/yacs.git] / src / engine / CMakeLists.txt
1 # Copyright (C) 2012-2014  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 IF(SALOME_BUILD_TESTS)
21   ADD_SUBDIRECTORY(Plugin)
22   ADD_SUBDIRECTORY(Test)
23 ENDIF(SALOME_BUILD_TESTS)
24
25 # --- options ---
26
27 # additional include directories
28 INCLUDE_DIRECTORIES(
29   ${PTHREAD_INCLUDE_DIR}
30   ${PROJECT_SOURCE_DIR}/src/bases
31   )
32
33 # additional preprocessor / compiler flags
34 IF(WIN32)
35   ADD_DEFINITIONS(-DNOGDI)
36 ENDIF(WIN32)
37
38 # libraries to link to
39 SET(_link_LIBRARIES
40   ${PTHREAD_LIBRARIES}
41   YACSBases
42   )
43
44 # --- headers ---
45
46 SET(YACSlibEngine_HEADERS
47   YACSlibEngineExport.hxx
48   Any.hxx
49   AnyInputPort.hxx
50   Bloc.hxx
51   Catalog.hxx
52   ComponentDefinition.hxx
53   ComponentInstance.hxx
54   ComposedNode.hxx
55   ConditionInputPort.hxx
56   Container.hxx
57   ConversionException.hxx
58   DataFlowPort.hxx
59   DataNode.hxx
60   DataPort.hxx
61   DataStreamPort.hxx
62   DeploymentTree.hxx
63   Dispatcher.hxx
64   DynParaLoop.hxx
65   ElementaryNode.hxx
66   Executor.hxx
67   ForEachLoop.hxx
68   ForLoop.hxx
69   InGate.hxx
70   InlineNode.hxx
71   InPort.hxx
72   InputDataStreamPort.hxx
73   InputPort.hxx
74   InvalidExtractionException.hxx
75   LinkInfo.hxx
76   Logger.hxx
77   LogRecord.hxx
78   Loop.hxx
79   Node.hxx
80   OptimizerAlg.hxx
81   OptimizerLoop.hxx
82   OutGate.hxx
83   OutPort.hxx
84   OutputDataStreamPort.hxx
85   OutputPort.hxx
86   Pool.hxx
87   Port.hxx
88   Proc.hxx
89   RefCounter.hxx
90   Runtime.hxx
91   Scheduler.hxx
92   ServiceInlineNode.hxx
93   ServiceNode.hxx
94   SharedPtr.hxx
95   StaticDefinedComposedNode.hxx
96   Switch.hxx
97   Task.hxx
98   TypeCode.hxx
99   Visitor.hxx
100   VisitorSaveSchema.hxx
101   VisitorSaveState.hxx
102   WhileLoop.hxx
103   PropertyInterface.hxx
104   AnyOutputPort.hxx
105   ServerNode.hxx
106   InPropertyPort.hxx
107   )
108
109 # --- sources ---
110
111 SET(YACSlibEngine_SOURCES
112   PropertyInterface.cxx
113   TypeCode.cxx
114   RefCounter.cxx
115   LinkInfo.cxx
116   ConversionException.cxx
117   InvalidExtractionException.cxx
118   ConditionInputPort.cxx
119   AnyInputPort.cxx
120   AnyOutputPort.cxx
121   Port.cxx InGate.cxx
122   OutGate.cxx
123   DataPort.cxx
124   DataFlowPort.cxx
125   InPort.cxx
126   OutPort.cxx
127   InputPort.cxx
128   OutputPort.cxx
129   DataStreamPort.cxx
130   InputDataStreamPort.cxx
131   OutputDataStreamPort.cxx
132   Any.cxx
133   Pool.cxx
134   Node.cxx
135   ElementaryNode.cxx
136   ComposedNode.cxx
137   InlineNode.cxx
138   ServiceNode.cxx
139   ServerNode.cxx
140   ServiceInlineNode.cxx
141   StaticDefinedComposedNode.cxx
142   Bloc.cxx
143   Proc.cxx
144   Loop.cxx
145   ForLoop.cxx
146   WhileLoop.cxx
147   Switch.cxx
148   DynParaLoop.cxx
149   ForEachLoop.cxx
150   OptimizerAlg.cxx
151   OptimizerLoop.cxx
152   Runtime.cxx
153   Scheduler.hxx
154   Task.hxx
155   Executor.cxx
156   Visitor.cxx
157   VisitorSaveState.cxx
158   VisitorSaveSchema.cxx
159   ComponentInstance.cxx
160   Dispatcher.cxx
161   Container.cxx
162   DeploymentTree.cxx
163   Logger.cxx
164   LogRecord.cxx
165   Catalog.cxx
166   ComponentDefinition.cxx
167   DataNode.cxx
168   Task.cxx
169   Scheduler.cxx
170   InPropertyPort.cxx
171   )
172
173 # --- rules ---
174
175 ADD_LIBRARY(YACSlibEngine ${YACSlibEngine_SOURCES})
176 TARGET_LINK_LIBRARIES(YACSlibEngine ${_link_LIBRARIES})
177 INSTALL(TARGETS YACSlibEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
178
179 INSTALL(FILES ${YACSlibEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})