Salome HOME
Compilation on Windows
[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 IF(WIN32)
37   ADD_DEFINITIONS(-DNOGDI)
38 ENDIF(WIN32)
39
40 # libraries to link to
41 SET(_link_LIBRARIES
42   ${PTHREAD_LIBRARIES}
43   YACSBases
44   )
45
46 # --- headers ---
47
48 SET(YACSlibEngine_HEADERS
49   YACSlibEngineExport.hxx
50   Any.hxx
51   AnyInputPort.hxx
52   Bloc.hxx
53   Catalog.hxx
54   ComponentDefinition.hxx
55   ComponentInstance.hxx
56   ComposedNode.hxx
57   ConditionInputPort.hxx
58   Container.hxx
59   ConversionException.hxx
60   DataFlowPort.hxx
61   DataNode.hxx
62   DataPort.hxx
63   DataStreamPort.hxx
64   DeploymentTree.hxx
65   Dispatcher.hxx
66   DynParaLoop.hxx
67   ElementaryNode.hxx
68   Executor.hxx
69   ForEachLoop.hxx
70   ForLoop.hxx
71   InGate.hxx
72   InlineNode.hxx
73   InPort.hxx
74   InputDataStreamPort.hxx
75   InputPort.hxx
76   InvalidExtractionException.hxx
77   LinkInfo.hxx
78   Logger.hxx
79   LogRecord.hxx
80   Loop.hxx
81   Node.hxx
82   OptimizerAlg.hxx
83   OptimizerLoop.hxx
84   OutGate.hxx
85   OutPort.hxx
86   OutputDataStreamPort.hxx
87   OutputPort.hxx
88   Pool.hxx
89   Port.hxx
90   Proc.hxx
91   RefCounter.hxx
92   Runtime.hxx
93   Scheduler.hxx
94   ServiceInlineNode.hxx
95   ServiceNode.hxx
96   SharedPtr.hxx
97   StaticDefinedComposedNode.hxx
98   Switch.hxx
99   Task.hxx
100   TypeCode.hxx
101   Visitor.hxx
102   VisitorSaveSchema.hxx
103   VisitorSaveState.hxx
104   WhileLoop.hxx
105   PropertyInterface.hxx
106   AnyOutputPort.hxx
107   ServerNode.hxx
108   InPropertyPort.hxx
109   )
110
111 # --- sources ---
112
113 SET(YACSlibEngine_SOURCES
114   PropertyInterface.cxx
115   TypeCode.cxx
116   RefCounter.cxx
117   LinkInfo.cxx
118   ConversionException.cxx
119   InvalidExtractionException.cxx
120   ConditionInputPort.cxx
121   AnyInputPort.cxx
122   AnyOutputPort.cxx
123   Port.cxx InGate.cxx
124   OutGate.cxx
125   DataPort.cxx
126   DataFlowPort.cxx
127   InPort.cxx
128   OutPort.cxx
129   InputPort.cxx
130   OutputPort.cxx
131   DataStreamPort.cxx
132   InputDataStreamPort.cxx
133   OutputDataStreamPort.cxx
134   Any.cxx
135   Pool.cxx
136   Node.cxx
137   ElementaryNode.cxx
138   ComposedNode.cxx
139   InlineNode.cxx
140   ServiceNode.cxx
141   ServerNode.cxx
142   ServiceInlineNode.cxx
143   StaticDefinedComposedNode.cxx
144   Bloc.cxx
145   Proc.cxx
146   Loop.cxx
147   ForLoop.cxx
148   WhileLoop.cxx
149   Switch.cxx
150   DynParaLoop.cxx
151   ForEachLoop.cxx
152   OptimizerAlg.cxx
153   OptimizerLoop.cxx
154   Runtime.cxx
155   Scheduler.hxx
156   Task.hxx
157   Executor.cxx
158   Visitor.cxx
159   VisitorSaveState.cxx
160   VisitorSaveSchema.cxx
161   ComponentInstance.cxx
162   Dispatcher.cxx
163   Container.cxx
164   DeploymentTree.cxx
165   Logger.cxx
166   LogRecord.cxx
167   Catalog.cxx
168   ComponentDefinition.cxx
169   DataNode.cxx
170   Task.cxx
171   Scheduler.cxx
172   InPropertyPort.cxx
173   )
174
175 # --- rules ---
176
177 ADD_LIBRARY(YACSlibEngine ${YACSlibEngine_SOURCES})
178 TARGET_LINK_LIBRARIES(YACSlibEngine ${_link_LIBRARIES})
179 INSTALL(TARGETS YACSlibEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
180
181 INSTALL(FILES ${YACSlibEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})