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