]> SALOME platform Git repositories - modules/yacs.git/blob - src/yacsloader/CMakeLists.txt
Salome HOME
[PYTHON 3] WIP
[modules/yacs.git] / src / yacsloader / 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(Test)
22   ADD_SUBDIRECTORY(pmml)  
23 ENDIF(SALOME_BUILD_TESTS)
24
25 # --- options ---
26
27 IF(SALOME_YACS_USE_KERNEL)
28   INCLUDE_DIRECTORIES(${KERNEL_INCLUDE_DIRS})
29   ADD_DEFINITIONS(${KERNEL_DEFINITIONS})
30
31   SET(SALOME_LIBS 
32     ${KERNEL_SalomeLifeCycleCORBA}
33     ${KERNEL_SalomeIDLKernel}
34     ${KERNEL_SalomeNS}
35     ${KERNEL_SalomeContainer}
36     ${KERNEL_SALOMEBasics}
37     ${KERNEL_SalomeResourcesManager}
38     ${KERNEL_OpUtil}
39     ${KERNEL_SALOMELocalTrace}
40     ${KERNEL_Registry}
41     ${KERNEL_SalomeNotification}
42     ${KERNEL_ResourcesManager}
43     ${KERNEL_SalomeHDFPersist}
44     ${KERNEL_SalomeGenericObj}
45     )
46   IF(SALOME_YACS_USE_DSC)
47     LIST(APPEND SALOME_LIBS ${KERNEL_SalomeDSCContainer})
48   ENDIF(SALOME_YACS_USE_DSC)
49 ENDIF(SALOME_YACS_USE_KERNEL)
50
51 # additional include directories
52 INCLUDE_DIRECTORIES(
53   ${OMNIORB_INCLUDE_DIR}
54   ${OMNIORBPY_INCLUDE_DIR}
55   ${PYTHON_INCLUDE_DIR}
56   ${PROJECT_SOURCE_DIR}/src/bases
57   ${PROJECT_SOURCE_DIR}/src/engine
58   ${PROJECT_SOURCE_DIR}/src/runtime
59   ${PROJECT_SOURCE_DIR}/src/yacsloader
60   ${PROJECT_SOURCE_DIR}
61   )
62
63 # additional preprocessor / compiler flags
64 ADD_DEFINITIONS(
65   ${PYTHON_DEFINITIONS}
66   ${OMNIORB_DEFINITIONS}
67   )
68 SET(_exec_DEFINITIONS
69   -g
70   )
71
72 # libraries to link to
73 SET(YACSloader_LIBRARIES
74   ${OMNIORB_LIBRARIES}
75   ${LIBXML2_LIBRARIES}
76   YACSlibEngine
77   )
78 SET(_link_LIBRARIES
79   YACSloader
80   YACSRuntimeSALOME
81   YACSlibEngine
82   ${SALOME_LIBS}
83   ${OMNIORB_LIBRARIES}
84   ${PYTHON_LIBRARIES}
85   ${LIBXML2_LIBRARIES}
86   )
87
88 # --- headers ---
89
90 SET(YACSloader_HEADERS
91   YACSloaderExport.hxx
92   blocParsers.hxx
93   codeParsers.hxx
94   containerParsers.hxx
95   dataParsers.hxx
96   factory.hxx
97   linkParsers.hxx
98   LoadState.hxx
99   loopParsers.hxx
100   nodeParsers.hxx
101   outputParsers.hxx
102   parsers.hxx
103   parserBase.hxx
104   portParsers.hxx
105   presetParsers.hxx
106   ProcCataLoader.hxx
107   procParsers.hxx
108   propertyParsers.hxx
109   rootParser.hxx
110   switchParsers.hxx
111   inlineParsers.hxx
112   componentinstanceParsers.hxx
113   remoteParsers.hxx
114   serverParsers.hxx
115   serviceParsers.hxx
116   typeParsers.hxx
117   xmlParserBase.hxx
118   xmlrpcParsers.hxx
119   sinlineParsers.hxx
120   )
121
122 # --- sources ---
123
124 SET(YACSloader_SOURCES
125   parsers.cxx
126   parserBase.cxx
127   dataParsers.cxx
128   typeParsers.cxx
129   propertyParsers.cxx
130   containerParsers.cxx
131   xmlrpcParsers.cxx
132   rootParser.cxx
133   codeParsers.cxx
134   LoadState.cxx
135   xmlParserBase.cxx
136   ProcCataLoader.cxx
137   componentinstanceParsers.cxx
138   )
139 SET(driver_SOURCES
140   driver.cxx
141   )
142 SET(resume_SOURCES
143   resume.cxx
144   )
145 SET(debugger_SOURCES
146   debugger.cxx
147   )
148 SET(ExampleOfObserversPluginForDriver_SOURCES
149   ExampleOfObserversPluginForDriver.cxx
150   )
151
152 # --- rules ---
153
154 ADD_LIBRARY(YACSloader ${YACSloader_SOURCES})
155 TARGET_LINK_LIBRARIES(YACSloader ${YACSloader_LIBRARIES})
156 INSTALL(TARGETS YACSloader EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
157
158 ADD_LIBRARY(ExampleOfObserversPluginForDriver ${ExampleOfObserversPluginForDriver_SOURCES})
159 TARGET_LINK_LIBRARIES(ExampleOfObserversPluginForDriver ${_link_LIBRARIES})
160 INSTALL(TARGETS ExampleOfObserversPluginForDriver DESTINATION ${SALOME_INSTALL_LIBS})
161
162 ADD_EXECUTABLE(driver ${driver_SOURCES})
163 TARGET_LINK_LIBRARIES(driver ${_link_LIBRARIES})
164
165 ADD_EXECUTABLE(resume ${resume_SOURCES})
166 TARGET_LINK_LIBRARIES(resume ${_link_LIBRARIES})
167
168 ADD_EXECUTABLE(debugger ${debugger_SOURCES})
169 TARGET_LINK_LIBRARIES(debugger ${_link_LIBRARIES})
170
171 SET_TARGET_PROPERTIES(driver resume debugger PROPERTIES COMPILE_FLAGS ${_exec_DEFINITIONS})
172
173 INSTALL(TARGETS driver resume debugger EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
174
175 INSTALL(FILES ${YACSloader_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
176
177 FILE(GLOB sample_files
178   ${PROJECT_SOURCE_DIR}/src/yacsloader/samples/*.xml 
179   ${PROJECT_SOURCE_DIR}/src/yacsloader/samples/*.pmml
180   ${PROJECT_SOURCE_DIR}/src/yacsloader/samples/*.data)
181 INSTALL(FILES ${sample_files} DESTINATION ${SALOME_YACS_INSTALL_SAMPLES})