Salome HOME
Go on
[modules/yacs.git] / src / engine / CMakeLists.txt
1 # Copyright (C) 2012-2019  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 ADD_DEFINITIONS(
27   ${BOOST_DEFINITIONS}
28   )
29
30 # additional include directories
31 INCLUDE_DIRECTORIES(
32   ${PTHREAD_INCLUDE_DIR}
33   ${PROJECT_SOURCE_DIR}/src/bases
34   )
35
36 # libraries to link to
37 SET(_link_LIBRARIES
38   ${PTHREAD_LIBRARIES}
39   YACSBases
40   )
41
42 # --- headers ---
43
44 SET(YACSlibEngine_HEADERS
45   YACSlibEngineExport.hxx
46   Any.hxx
47   AnyInputPort.hxx
48   Bloc.hxx
49   Catalog.hxx
50   ComplexWeight.hxx
51   ComponentDefinition.hxx
52   ComponentInstance.hxx
53   ComposedNode.hxx
54   ConditionInputPort.hxx
55   Container.hxx
56   ConversionException.hxx
57   DataFlowPort.hxx
58   DataNode.hxx
59   DataPort.hxx
60   DataStreamPort.hxx
61   DeploymentTree.hxx
62   Dispatcher.hxx
63   DynParaLoop.hxx
64   ElementaryNode.hxx
65   Executor.hxx
66   ForEachLoop.hxx
67   ForLoop.hxx
68   InGate.hxx
69   InlineNode.hxx
70   InPort.hxx
71   InputDataStreamPort.hxx
72   InputPort.hxx
73   InvalidExtractionException.hxx
74   LinkInfo.hxx
75   Logger.hxx
76   LogRecord.hxx
77   Loop.hxx
78   Node.hxx
79   OptimizerAlg.hxx
80   OptimizerLoop.hxx
81   OutGate.hxx
82   OutPort.hxx
83   OutputDataStreamPort.hxx
84   OutputPort.hxx
85   Pool.hxx
86   Port.hxx
87   Proc.hxx
88   RefCounter.hxx
89   Runtime.hxx
90   Scheduler.hxx
91   ServiceInlineNode.hxx
92   ServiceNode.hxx
93   SharedPtr.hxx
94   StaticDefinedComposedNode.hxx
95   Switch.hxx
96   Task.hxx
97   TypeCode.hxx
98   Visitor.hxx
99   VisitorSaveSchema.hxx
100   VisitorSaveState.hxx
101   WhileLoop.hxx
102   PropertyInterface.hxx
103   AnyOutputPort.hxx
104   ServerNode.hxx
105   InPropertyPort.hxx
106   AbstractPoint.hxx
107   BlocPoint.hxx
108   BagPoint.hxx
109   ForkBlocPoint.hxx
110   NotSimpleCasePoint.hxx
111   LinkedBlocPoint.hxx
112   ElementaryPoint.hxx
113   SetOfPoints.hxx
114   PlayGround.hxx
115   ObserverAsPlugin.hxx
116   NbBranches.hxx
117   )
118
119 # --- sources ---
120
121 SET(YACSlibEngine_SOURCES
122   PropertyInterface.cxx
123   TypeCode.cxx
124   RefCounter.cxx
125   LinkInfo.cxx
126   ConversionException.cxx
127   InvalidExtractionException.cxx
128   ConditionInputPort.cxx
129   AnyInputPort.cxx
130   AnyOutputPort.cxx
131   Port.cxx InGate.cxx
132   OutGate.cxx
133   DataPort.cxx
134   DataFlowPort.cxx
135   InPort.cxx
136   OutPort.cxx
137   InputPort.cxx
138   OutputPort.cxx
139   DataStreamPort.cxx
140   InputDataStreamPort.cxx
141   OutputDataStreamPort.cxx
142   Any.cxx
143   Pool.cxx
144   Node.cxx
145   ElementaryNode.cxx
146   ComposedNode.cxx
147   InlineNode.cxx
148   ServiceNode.cxx
149   ServerNode.cxx
150   ServiceInlineNode.cxx
151   StaticDefinedComposedNode.cxx
152   Bloc.cxx
153   Bloc_impl.cxx
154   Proc.cxx
155   Loop.cxx
156   ForLoop.cxx
157   WhileLoop.cxx
158   Switch.cxx
159   DynParaLoop.cxx
160   NbBranches.cxx
161   ForEachLoop.cxx
162   OptimizerAlg.cxx
163   OptimizerLoop.cxx
164   Runtime.cxx
165   Scheduler.hxx
166   Task.hxx
167   Executor.cxx
168   Visitor.cxx
169   VisitorSaveState.cxx
170   VisitorSaveSchema.cxx
171   ComponentInstance.cxx
172   Dispatcher.cxx
173   Container.cxx
174   HomogeneousPoolContainer.cxx
175   DeploymentTree.cxx
176   Logger.cxx
177   LogRecord.cxx
178   Catalog.cxx
179   ComponentDefinition.cxx
180   DataNode.cxx
181   Task.cxx
182   Scheduler.cxx
183   InPropertyPort.cxx
184   AbstractPoint.cxx
185   BlocPoint.cxx
186   BagPoint.cxx
187   ForkBlocPoint.cxx
188   NotSimpleCasePoint.cxx
189   LinkedBlocPoint.cxx
190   ElementaryPoint.cxx
191   SetOfPoints.cxx
192   PlayGround.cxx
193   ComplexWeight.cxx
194   ObserverAsPlugin.cxx
195   )
196 SET(YACSlibEngine_HEADERS ${YACSlibEngine_HEADERS} PARENT_SCOPE)  # Make it visible to src/engine_swig to handle dependencies
197
198 # --- rules ---
199
200 ADD_LIBRARY(YACSlibEngine ${YACSlibEngine_SOURCES})
201 TARGET_LINK_LIBRARIES(YACSlibEngine ${_link_LIBRARIES})
202 INSTALL(TARGETS YACSlibEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
203
204 INSTALL(FILES ${YACSlibEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})