Salome HOME
Introduction of CMake build procedure for YACS module.
[modules/yacs.git] / src / engine / CMakeLists.txt
1 # Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
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.
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 #TODO:  ADD_SUBDIRECTORY( Plugin Test )
22 ENDIF(SALOME_BUILD_TESTS)
23
24 # --- options ---
25
26 # additional include directories
27 INCLUDE_DIRECTORIES(
28   ${PTHREAD_INCLUDE_DIR}
29   ${PROJECT_SOURCE_DIR}/src/bases
30   )
31
32 # additional preprocessor / compiler flags
33 ADD_DEFINITIONS(
34   -DYACS_PTHREAD
35   )
36
37 # libraries to link to
38 SET(_link_LIBRARIES
39   ${PTHREAD_LIBRARIES}
40   YACSBases
41   )
42
43 # --- headers ---
44
45 SET(YACSlibEngine_HEADERS
46   YACSlibEngineExport.hxx
47   Any.hxx
48   AnyInputPort.hxx
49   Bloc.hxx
50   Catalog.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   )
107
108 # --- sources ---
109
110 SET(YACSlibEngine_SOURCES
111   PropertyInterface.cxx
112   TypeCode.cxx
113   RefCounter.cxx
114   LinkInfo.cxx
115   ConversionException.cxx
116   InvalidExtractionException.cxx
117   ConditionInputPort.cxx
118   AnyInputPort.cxx
119   AnyOutputPort.cxx
120   Port.cxx InGate.cxx
121   OutGate.cxx
122   DataPort.cxx
123   DataFlowPort.cxx
124   InPort.cxx
125   OutPort.cxx
126   InputPort.cxx
127   OutputPort.cxx
128   DataStreamPort.cxx
129   InputDataStreamPort.cxx
130   OutputDataStreamPort.cxx
131   Any.cxx
132   Pool.cxx
133   Node.cxx
134   ElementaryNode.cxx
135   ComposedNode.cxx
136   InlineNode.cxx
137   ServiceNode.cxx
138   ServerNode.cxx
139   ServiceInlineNode.cxx
140   StaticDefinedComposedNode.cxx
141   Bloc.cxx
142   Proc.cxx
143   Loop.cxx
144   ForLoop.cxx
145   WhileLoop.cxx
146   Switch.cxx
147   DynParaLoop.cxx
148   ForEachLoop.cxx
149   OptimizerAlg.cxx
150   OptimizerLoop.cxx
151   Runtime.cxx
152   Scheduler.hxx
153   Task.hxx
154   Executor.cxx
155   Visitor.cxx
156   VisitorSaveState.cxx
157   VisitorSaveSchema.cxx
158   ComponentInstance.cxx
159   Dispatcher.cxx
160   Container.cxx
161   DeploymentTree.cxx
162   Logger.cxx
163   LogRecord.cxx
164   Catalog.cxx
165   ComponentDefinition.cxx
166   DataNode.cxx
167   Task.cxx
168   Scheduler.cxx
169   InPropertyPort.cxx
170   )
171
172 # --- rules ---
173
174 ADD_LIBRARY(YACSlibEngine ${YACSlibEngine_SOURCES})
175 TARGET_LINK_LIBRARIES(YACSlibEngine ${_link_LIBRARIES})
176 INSTALL(TARGETS YACSlibEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
177
178 INSTALL(FILES ${YACSlibEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})