Salome HOME
d00dc78c320eedeb56e46cda6f4009e8b9f8f638
[modules/gui.git] / src / Qtx / 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(${QT_INCLUDES})
26
27 # additional preprocessor / compiler flags
28 ADD_DEFINITIONS(${QT_DEFINITIONS})
29
30 # libraries to link to
31 SET(_link_LIBRARIES ${QT_LIBRARIES} ${OPENGL_LIBRARIES})
32
33 # --- headers ---
34
35 # header files / to be processed by moc
36 SET(_moc_HEADERS
37   QtxAction.h
38   QtxActionGroup.h
39   QtxActionMenuMgr.h
40   QtxActionMgr.h
41   QtxActionSet.h
42   QtxActionToolMgr.h
43   QtxBackgroundTool.h
44   QtxBiColorTool.h
45   QtxColorButton.h
46   QtxColorScale.h
47   QtxComboBox.h
48   QtxDialog.h
49   QtxDockAction.h
50   QtxDockWidget.h
51   QtxDoubleSpinBox.h
52   QtxDoubleSpinSlider.h
53   QtxFontEdit.h
54   QtxGridBox.h
55   QtxGroupBox.h
56   QtxInfoPanel.h
57   QtxIntSpinBox.h
58   QtxIntSpinSlider.h
59   QtxListAction.h
60   QtxLogoMgr.h
61   QtxMRUAction.h
62   QtxMainWindow.h
63   QtxMenu.h
64   QtxMultiAction.h
65   QtxNotify.h
66   QtxPagePrefMgr.h
67   QtxPathDialog.h
68   QtxPathEdit.h
69   QtxPathListEdit.h
70   QtxPopupMgr.h
71   QtxRubberBand.h
72   QtxSearchTool.h
73   QtxShortcutEdit.h
74   QtxSlider.h
75   QtxSplash.h
76   QtxToolBar.h
77   QtxToolButton.h
78   QtxToolTip.h
79   QtxTreeView.h
80   QtxValidator.h
81   QtxWorkspace.h
82   QtxWorkspaceAction.h
83   QtxWorkstack.h
84   QtxWorkstackAction.h
85 )
86
87 IF(SALOME_GUI_ENABLE_QTXWEBBROWSER)
88   SET(_moc_HEADERS ${_moc_HEADERS}  QtxWebBrowser.h)
89 ENDIF()
90
91 # obsolete files: not migrated to Qt4
92 # _moc_HEADERS << QtxListBox.h QtxTable.h
93 # TODO: migrate or remove?
94
95 # header files / no moc processing
96 SET(_other_HEADERS
97   Qtx.h
98   QtxEvalExpr.h
99   QtxMap.h
100   QtxMsgHandler.h
101   QtxPreferenceMgr.h
102   QtxResourceMgr.h
103   QtxTranslator.h
104 )
105
106 # header files / to install
107 SET(qtx_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
108
109 # --- resources ---
110
111 # resource files / to be processed by rcc
112 SET(_rcc_RESOURCES Qtx.qrc)
113
114 # resource files / to be processed by lrelease
115 SET(_ts_RESOURCES resources/Qtx_msg_fr.ts
116                   resources/Qtx_msg_ja.ts
117 )
118
119 # --- sources ---
120
121 # sources / moc wrappings
122 QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
123
124 # sources / rcc wrappings
125 QT_ADD_RESOURCES(_rcc_SOURCES ${_rcc_RESOURCES})
126
127 # sources / static
128 SET(_other_SOURCES
129   Qtx.cxx
130   QtxAction.cxx
131   QtxActionGroup.cxx
132   QtxActionMenuMgr.cxx
133   QtxActionMgr.cxx
134   QtxActionSet.cxx
135   QtxActionToolMgr.cxx
136   QtxBackgroundTool.cxx
137   QtxBiColorTool.cxx
138   QtxColorButton.cxx
139   QtxColorScale.cxx
140   QtxComboBox.cxx
141   QtxDialog.cxx
142   QtxDockAction.cxx
143   QtxDockWidget.cxx
144   QtxDoubleSpinBox.cxx
145   QtxDoubleSpinSlider.cxx
146   QtxEvalExpr.cxx
147   QtxFontEdit.cxx
148   QtxGridBox.cxx
149   QtxGroupBox.cxx
150   QtxInfoPanel.cxx
151   QtxIntSpinBox.cxx
152   QtxIntSpinSlider.cxx
153   QtxListAction.cxx
154   QtxLogoMgr.cxx
155   QtxMRUAction.cxx
156   QtxMainWindow.cxx
157   QtxMenu.cxx
158   QtxMsgHandler.cxx
159   QtxMultiAction.cxx
160   QtxNotify.cxx
161   QtxPagePrefMgr.cxx
162   QtxPathDialog.cxx
163   QtxPathEdit.cxx
164   QtxPathListEdit.cxx
165   QtxPopupMgr.cxx
166   QtxPreferenceMgr.cxx
167   QtxResourceMgr.cxx
168   QtxRubberBand.cxx
169   QtxSearchTool.cxx
170   QtxShortcutEdit.cxx
171   QtxSlider.cxx
172   QtxSplash.cxx
173   QtxToolBar.cxx
174   QtxToolButton.cxx
175   QtxToolTip.cxx
176   QtxTranslator.cxx
177   QtxTreeView.cxx
178   QtxValidator.cxx
179   QtxWorkspace.cxx
180   QtxWorkspaceAction.cxx
181   QtxWorkstack.cxx
182   QtxWorkstackAction.cxx
183 )
184
185 IF(SALOME_GUI_ENABLE_QTXWEBBROWSER)
186   SET(_other_SOURCES ${_other_SOURCES}  QtxWebBrowser.cxx)
187 ENDIF()
188
189 # obsolete files: not migrated to Qt4
190 # _other_SOURCES << QtxListBox.cxx QtxTable.cxx
191 # TODO: migrate or remove?
192
193 # sources / to compile
194 SET(qtx_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_rcc_SOURCES})
195
196 # --- rules ---
197
198 ADD_LIBRARY(qtx ${qtx_SOURCES})
199 TARGET_LINK_LIBRARIES(qtx ${_link_LIBRARIES})
200 INSTALL(TARGETS qtx EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
201
202 INSTALL(FILES ${qtx_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
203 QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}")