Salome HOME
Copyright update 2022
[modules/gui.git] / src / VTKViewer / CMakeLists.txt
1 # Copyright (C) 2012-2022  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, 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 INCLUDE(UseQtExt)
21
22 # --- options ---
23
24 # additional include directories
25 INCLUDE_DIRECTORIES(
26   ${OpenCASCADE_INCLUDE_DIR}
27   ${QT_INCLUDES}
28   ${PTHREAD_INCLUDE_DIR}
29   ${PROJECT_SOURCE_DIR}/src/Qtx
30   ${PROJECT_SOURCE_DIR}/src/SUIT
31 )
32
33 # additional preprocessor / compiler flags
34 ADD_DEFINITIONS(${OpenCASCADE_DEFINITIONS} ${QT_DEFINITIONS})
35
36 # libraries to link to
37 SET(_link_LIBRARIES
38   ${QT_LIBRARIES}
39   ${OPENGL_LIBRARIES}
40   VTK::FiltersGeometry
41   VTK::FiltersParallel
42   VTK::RenderingLOD
43   VTK::RenderingFreeType
44   VTK::RenderingOpenGL2
45   VTK::IOImage
46   VTK::IOXML
47   VTK::CommonSystem
48   ${OpenCASCADE_FoundationClasses_LIBRARIES}
49   qtx
50   suit
51   ${KERNEL_SALOMELocalTrace}
52   )
53
54 # --- headers ---
55
56 # header files / to be processed by moc
57 SET(_moc_HEADERS   
58   VTKViewer_MarkerDlg.h
59   VTKViewer_MarkerWidget.h
60   VTKViewer_RenderWindow.h
61   VTKViewer_RenderWindowInteractor.h
62   VTKViewer_ViewManager.h
63   VTKViewer_ViewModel.h
64   VTKViewer_ViewWindow.h
65 )
66
67 # header files / no moc processing
68 SET(_other_HEADERS
69   VTKViewer.h
70   VTKViewer_Actor.h
71   VTKViewer_AppendFilter.h
72   VTKViewer_Algorithm.h
73   VTKViewer_ArcBuilder.h
74   VTKViewer_CellCenters.h
75   VTKViewer_ConvexTool.h
76   VTKViewer_DataSetMapper.h
77   VTKViewer_ExtractUnstructuredGrid.h
78   VTKViewer_Filter.h
79   VTKViewer_FramedTextActor.h
80   VTKViewer_Functor.h
81   VTKViewer_GeometryFilter.h
82   VTKViewer_InteractorStyle.h
83   VTKViewer_MarkerDef.h
84   VTKViewer_MarkerUtils.h
85   VTKViewer_OpenGLHelper.h
86   VTKViewer_OpenGLRenderer.h
87   VTKViewer_PolyDataMapper.h
88   VTKViewer_ShrinkFilter.h
89   VTKViewer_Texture.h
90   VTKViewer_Transform.h
91   VTKViewer_TransformFilter.h
92   VTKViewer_Trihedron.h
93   VTKViewer_Utilities.h
94 )
95
96 # header files / to install
97 SET(VTKViewer_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
98
99 # --- resources ---
100
101 # resource files / to be processed by rcc
102 SET(_rcc_RESOURCES VTKViewer.qrc)
103
104 # resource files / to be processed by lrelease
105 SET(_ts_RESOURCES
106   resources/VTKViewer_images.ts
107   resources/VTKViewer_msg_en.ts
108   resources/VTKViewer_msg_fr.ts
109   resources/VTKViewer_msg_ja.ts
110 )
111
112 # resource files / static
113 SET(_other_RESOURCES
114   resources/vtk_view_anticlockwise.png
115   resources/vtk_view_clockwise.png
116   resources/vtk_view_back.png
117   resources/vtk_view_bottom.png
118   resources/vtk_view_camera_dump.png
119   resources/vtk_view_fitall.png
120   resources/vtk_view_fitarea.png
121   resources/vtk_view_fitselection.png
122   resources/vtk_view_front.png
123   resources/vtk_view_glpan.png
124   resources/vtk_view_left.png
125   resources/vtk_view_pan.png
126   resources/vtk_view_reset.png
127   resources/vtk_view_right.png
128   resources/vtk_view_rotate.png
129   resources/vtk_view_top.png
130   resources/vtk_view_triedre.png
131   resources/vtk_view_zoom.png
132   resources/marker_1.png
133   resources/marker_2.png
134   resources/marker_3.png
135   resources/marker_4.png
136   resources/marker_5.png
137   resources/marker_6.png
138   resources/marker_7.png
139   resources/marker_8.png
140   resources/marker_9.png
141 )
142
143 # --- sources ---
144
145 # sources / moc wrappings
146 QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
147
148 # sources / rcc wrappings
149 QT_ADD_RESOURCES(_rcc_SOURCES ${_rcc_RESOURCES})
150
151 # sources / static
152 SET(_other_SOURCES
153   VTKViewer_Actor.cxx
154   VTKViewer_Algorithm.cxx
155   VTKViewer_AppendFilter.cxx
156   VTKViewer_ArcBuilder.cxx
157   VTKViewer_CellCenters.cxx
158   VTKViewer_ConvexTool.cxx
159   VTKViewer_DataSetMapper.cxx
160   VTKViewer_ExtractUnstructuredGrid.cxx
161   VTKViewer_Filter.cxx
162   VTKViewer_FramedTextActor.cxx
163   VTKViewer_GeometryFilter.cxx
164   VTKViewer_InteractorStyle.cxx
165   VTKViewer_MarkerDlg.cxx
166   VTKViewer_MarkerUtils.cxx
167   VTKViewer_MarkerWidget.cxx
168   VTKViewer_OpenGLHelper.cxx
169   VTKViewer_OpenGLRenderer.cxx
170   VTKViewer_PolyDataMapper.cxx
171   VTKViewer_RenderWindow.cxx
172   VTKViewer_RenderWindowInteractor.cxx
173   VTKViewer_ShrinkFilter.cxx
174   VTKViewer_Texture.cxx
175   VTKViewer_Transform.cxx
176   VTKViewer_TransformFilter.cxx
177   VTKViewer_Trihedron.cxx
178   VTKViewer_Utilities.cxx
179   VTKViewer_ViewManager.cxx
180   VTKViewer_ViewModel.cxx
181   VTKViewer_ViewWindow.cxx
182 )
183
184 # sources / to compile
185 SET(VTKViewer_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_rcc_SOURCES})
186
187 # --- rules ---
188
189 ADD_LIBRARY(VTKViewer ${VTKViewer_SOURCES})
190 TARGET_LINK_LIBRARIES(VTKViewer ${_link_LIBRARIES})
191 INSTALL(TARGETS VTKViewer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
192
193 INSTALL(FILES ${VTKViewer_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
194 QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}")
195
196 INSTALL(FILES ${_other_RESOURCES} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})
197 FILE(GLOB GUIPNG_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.png")
198 INSTALL(FILES ${GUIPNG_DATA} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})
199
200 FILE(GLOB GUIVTI_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.vti")
201 INSTALL(FILES ${GUIVTI_DATA} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})
202
203 FILE(GLOB GUITXT_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.txt")
204 INSTALL(FILES ${GUITXT_DATA} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})
205
206 FILE(GLOB GUIGLSL_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.glsl")
207 INSTALL(FILES ${GUIGLSL_DATA} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})