]> SALOME platform Git repositories - modules/hexablock.git/blob - src/HEXABLOCKGUI/CMakeLists.txt
Salome HOME
36b3c13519bc71df03333fcdb838d1a777538926
[modules/hexablock.git] / src / HEXABLOCKGUI / 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 ADD_SUBDIRECTORY(MyDlgRef)
21
22 INCLUDE(UseQt4Ext)
23
24 # --- options ---
25 # additional include directories
26 INCLUDE_DIRECTORIES(
27   ${QT_INCLUDES}
28   ${PYTHON_INCLUDE_DIRS}
29   ${OMNIORB_INCLUDE_DIR}
30   ${LIBXML2_INCLUDE_DIR}
31   ${Boost_INCLUDE_DIRS}
32   ${CAS_INCLUDE_DIRS}
33   ${VTK_INCLUDE_DIRS}
34   ${KERNEL_INCLUDE_DIRS}
35   ${GUI_INCLUDE_DIRS}
36   ${GEOM_INCLUDE_DIRS}
37   ${PROJECT_BINARY_DIR}
38   ${PROJECT_BINARY_DIR}/idl
39   ${CMAKE_CURRENT_SOURCE_DIR}
40   ${CMAKE_CURRENT_BINARY_DIR}
41   ${CMAKE_CURRENT_SOURCE_DIR}/MyDlgRef
42   ${CMAKE_CURRENT_BINARY_DIR}/MyDlgRef
43   ${PROJECT_SOURCE_DIR}/src/HEXABLOCK
44 )
45
46 # additional preprocessor / compiler flags
47 ADD_DEFINITIONS(
48   ${BOOST_DEFINITIONS}
49   ${OMNIORB_DEFINITIONS}
50   ${CAS_DEFINITIONS}
51   ${KERNEL_DEFINITIONS}
52 )
53
54 # libraries to link to
55 SET(_link_LIBRARIES
56   ${CORBA_LIBS}
57   ${QT_LIBRARIES}
58   ${GEOM_SalomeIDLGEOM}
59   ${GEOM_GEOMBase}
60   ${GEOM_BasicGUI}
61   ${KERNEL_SalomeLifeCycleCORBA}
62   MyDlgRef
63   HEXABLOCKEngine
64 )
65
66 # --- headers ---
67
68 # header files / to be processed by moc
69 SET(_moc_HEADERS
70   HEXABLOCKGUI.hxx
71   HEXABLOCKGUI_VtkDocumentGraphicView.hxx
72   HEXABLOCKGUI_DocumentPanel.hxx
73   HEXABLOCKGUI_DocumentDelegate.hxx
74   HEXABLOCKGUI_DocumentSelectionModel.hxx
75   HEXABLOCKGUI_DocumentModel.hxx
76   kmodelindexproxymapper.hxx
77   klinkitemselectionmodel.hxx
78   MyBasicGUI_PointDlg.hxx
79   MyGEOMBase_Skeleton.hxx
80 )
81
82 # header files / no moc processing
83 SET(HEXABLOCK_HEADERS
84   HEXABLOCKGUI_Export.hxx
85   HEXABLOCKGUI.hxx
86 )
87
88 # --- sources ---
89
90 # sources / moc wrappings
91 QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
92
93 # sources / static
94 SET(_other_SOURCES
95   Resource.hxx
96   Resource.cxx
97   HEXABLOCKGUI_Exception.hxx
98   HEXABLOCKGUI_Exception.cxx
99   HEXABLOCKGUI_Trace.hxx
100   HEXABLOCKGUI_Trace.cxx
101   HEXABLOCKGUI_Resource.hxx
102   HEXABLOCKGUI_Resource.cxx
103   HEXABLOCKGUI_VtkDocumentGraphicView.hxx
104   HEXABLOCKGUI_VtkDocumentGraphicView.cxx
105   HEXABLOCKGUI_OccGraphicView.hxx
106   HEXABLOCKGUI_OccGraphicView.cxx
107   HEXABLOCKGUI_OCCSelector.h
108   HEXABLOCKGUI_OCCSelector.cxx
109   HEXABLOCKGUI_GraphicViewsHandler.hxx
110   HEXABLOCKGUI_GraphicViewsHandler.cxx
111   HEXABLOCKGUI_DocumentModel.hxx
112   HEXABLOCKGUI_DocumentModel.cxx
113   HEXABLOCKGUI_DocumentSelectionModel.hxx
114   HEXABLOCKGUI_DocumentSelectionModel.cxx
115   HEXABLOCKGUI_DocumentItem.hxx
116   HEXABLOCKGUI_DocumentItem.cxx
117   HEXABLOCKGUI_DocumentDelegate.hxx
118   HEXABLOCKGUI_DocumentDelegate.cxx
119   HEXABLOCKGUI_DocumentPanel.hxx
120   HEXABLOCKGUI_DocumentPanel.cxx
121   HEXABLOCKGUI_SalomeTools.hxx
122   HEXABLOCKGUI_SalomeTools.cxx
123   HEXABLOCKGUI.hxx
124   HEXABLOCKGUI.cxx
125   kmodelindexproxymapper.hxx
126   kmodelindexproxymapper.cxx
127   klinkitemselectionmodel.hxx
128   klinkitemselectionmodel.cxx
129   MyGEOMBase_Skeleton.hxx
130   MyGEOMBase_Skeleton.cxx
131   MyBasicGUI_PointDlg.hxx
132   MyBasicGUI_PointDlg.cxx
133 )
134
135 # uic files / to be processed by pyuic
136 SET(_pyuic_files
137   Vertex_QTD.ui
138   Edge_QTD.ui
139   Quad_QTD.ui
140   Hexa_QTD.ui
141   Vector_QTD.ui
142   Cylinder_QTD.ui
143   Pipe_QTD.ui
144   MakeGrid_QTD.ui
145   MakeCylinder_QTD.ui
146   MakePipe_QTD.ui
147   MakeCylinders_QTD.ui
148   MakePipes_QTD.ui
149   RemoveHexa_QTD.ui
150   PrismQuad_QTD.ui
151   JoinQuad_QTD.ui
152   Merge_QTD.ui
153   Disconnect_QTD.ui
154   CutEdge_QTD.ui
155   Transformation_QTD.ui
156   Symmetry_QTD.ui
157   Group_QTD.ui
158   Law_QTD.ui
159   Propagation_QTD.ui
160   QuadAssoc_QTD.ui
161   EdgeAssoc_QTD.ui
162   QuadRevolution_QTD.ui
163   MakeRind_QTD.ui
164   ReplaceHexa_QTD.ui
165   MakeHemiSphere_QTD.ui
166   ModelInfo_QTD.ui
167   AddShapeDialog_QTD.ui
168 )
169
170 # scripts / pyuic wrappings
171 QT4_WRAP_UI(_uic_HEADERS ${_pyuic_files})
172
173 # sources / to compile
174 SET(HEXABLOCK_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_uic_HEADERS})
175
176 # --- resources ---
177
178 # resource files / to be processed by lrelease
179 SET(_ts_RESOURCES
180   resources/HEXABLOCK_msg_en.ts
181   resources/HEXABLOCK_msg_fr.ts
182   resources/HEXABLOCK_icons.ts
183
184
185 SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/resources/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/resources/SalomeApp.xml INSTALL ${SALOME_HEXABLOCK_INSTALL_RES_DATA})
186 SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/resources/HEXABLOCKCatalog.xml.in ${CMAKE_CURRENT_BINARY_DIR}/resources/HEXABLOCKCatalog.xml INSTALL ${SALOME_HEXABLOCK_INSTALL_RES_DATA})
187
188 # resource files / static
189 SET(_other_RESOURCES
190   resources/LightApp.xml
191   resources/ModuleHexablock.png
192   resources/ModuleHexablock15x15.png
193   resources/new_document.png
194   resources/load_document.png
195   resources/save_document.png
196   resources/add_vertex.png
197   resources/add_edge.png
198   resources/add_quad.png
199   resources/add_hexa.png
200   resources/add_vector.png
201   resources/add_cylinder.png
202   resources/add_pipe.png
203   resources/make_grid.png
204   resources/make_cylinder.png
205   resources/make_pipe.png
206   resources/make_cylinders.png
207   resources/make_pipes.png
208   resources/remove_hexa.png
209   resources/prism_quad.png
210   resources/join_quad.png
211   resources/merge.png
212   resources/disconnect.png
213   resources/cut_edge.png
214   resources/make_transformation.png
215   resources/make_symmetry.png
216   resources/perform_transformation.png
217   resources/perform_symmetry.png
218   resources/assoc_vertex.png
219   resources/assoc_edge.png
220   resources/assoc_quad.png
221   resources/add_geom.png
222   resources/model_info.png
223   resources/add_group.png
224   resources/remove_group.png
225   resources/add_law.png
226   resources/remove_law.png
227   resources/set_propagation.png
228   resources/compute_mesh.png
229   resources/point2.png
230   resources/pointonedge.png
231   resources/select1.png
232   resources/point3.png
233   resources/point_line_intersection.png 
234   resources/pointonface.png
235   resources/line.png
236   resources/build_wire.png
237   resources/quad_revolution.png
238   resources/replace_hexa.png
239   resources/make_hemisphere.png
240 )
241
242 # --- rules ---
243
244 ADD_LIBRARY(HEXABLOCK ${HEXABLOCK_SOURCES})
245 TARGET_LINK_LIBRARIES(HEXABLOCK ${_link_LIBRARIES} )
246 INSTALL(TARGETS HEXABLOCK EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
247
248 INSTALL(FILES ${HEXABLOCK_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
249
250 QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_HEXABLOCK_INSTALL_RES_DATA}")
251
252 INSTALL(FILES ${_other_RESOURCES}
253         DESTINATION ${SALOME_HEXABLOCK_INSTALL_RES_DATA})