Salome HOME
22c37646aa93b393b2fc160a8e4296de5f1e9c59
[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   )
117
118 # --- sources ---
119
120 SET(YACSlibEngine_SOURCES
121   PropertyInterface.cxx
122   TypeCode.cxx
123   RefCounter.cxx
124   LinkInfo.cxx
125   ConversionException.cxx
126   InvalidExtractionException.cxx
127   ConditionInputPort.cxx
128   AnyInputPort.cxx
129   AnyOutputPort.cxx
130   Port.cxx InGate.cxx
131   OutGate.cxx
132   DataPort.cxx
133   DataFlowPort.cxx
134   InPort.cxx
135   OutPort.cxx
136   InputPort.cxx
137   OutputPort.cxx
138   DataStreamPort.cxx
139   InputDataStreamPort.cxx
140   OutputDataStreamPort.cxx
141   Any.cxx
142   Pool.cxx
143   Node.cxx
144   ElementaryNode.cxx
145   ComposedNode.cxx
146   InlineNode.cxx
147   ServiceNode.cxx
148   ServerNode.cxx
149   ServiceInlineNode.cxx
150   StaticDefinedComposedNode.cxx
151   Bloc.cxx
152   Bloc_impl.cxx
153   Proc.cxx
154   Loop.cxx
155   ForLoop.cxx
156   WhileLoop.cxx
157   Switch.cxx
158   DynParaLoop.cxx
159   ForEachLoop.cxx
160   OptimizerAlg.cxx
161   OptimizerLoop.cxx
162   Runtime.cxx
163   Scheduler.hxx
164   Task.hxx
165   Executor.cxx
166   Visitor.cxx
167   VisitorSaveState.cxx
168   VisitorSaveSchema.cxx
169   ComponentInstance.cxx
170   Dispatcher.cxx
171   Container.cxx
172   HomogeneousPoolContainer.cxx
173   DeploymentTree.cxx
174   Logger.cxx
175   LogRecord.cxx
176   Catalog.cxx
177   ComponentDefinition.cxx
178   DataNode.cxx
179   Task.cxx
180   Scheduler.cxx
181   InPropertyPort.cxx
182   AbstractPoint.cxx
183   BlocPoint.cxx
184   BagPoint.cxx
185   ForkBlocPoint.cxx
186   NotSimpleCasePoint.cxx
187   LinkedBlocPoint.cxx
188   ElementaryPoint.cxx
189   SetOfPoints.cxx
190   PlayGround.cxx
191   ComplexWeight.cxx
192   ObserverAsPlugin.cxx
193   )
194 SET(YACSlibEngine_HEADERS ${YACSlibEngine_HEADERS} PARENT_SCOPE)  # Make it visible to src/engine_swig to handle dependencies
195
196 # --- rules ---
197
198 ADD_LIBRARY(YACSlibEngine ${YACSlibEngine_SOURCES})
199 TARGET_LINK_LIBRARIES(YACSlibEngine ${_link_LIBRARIES})
200 INSTALL(TARGETS YACSlibEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
201
202 INSTALL(FILES ${YACSlibEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})