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