Salome HOME
[bos #40644][CEA](2024-T1) Feature search.
[modules/gui.git] / src / Qtx / CMakeLists.txt
1 # Copyright (C) 2012-2024  CEA, EDF, 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   QtxSlider.h
74   QtxSplash.h
75   QtxToolBar.h
76   QtxToolButton.h
77   QtxToolTip.h
78   QtxTreeView.h
79   QtxValidator.h
80   QtxWorkspace.h
81   QtxWorkspaceAction.h
82   QtxWorkstack.h
83   QtxWorkstackAction.h
84 )
85
86 IF(SALOME_GUI_ENABLE_QTXWEBBROWSER)
87   SET(_moc_HEADERS ${_moc_HEADERS}  QtxWebBrowser.h)
88 ENDIF()
89
90 # obsolete files: not migrated to Qt4
91 # _moc_HEADERS << QtxListBox.h QtxTable.h
92 # TODO: migrate or remove?
93
94 # header files / no moc processing
95 SET(_other_HEADERS
96   Qtx.h
97   QtxEvalExpr.h
98   QtxMap.h
99   QtxMsgHandler.h
100   QtxPreferenceMgr.h
101   QtxResourceMgr.h
102   QtxTranslator.h
103 )
104
105 # header files / to install
106 SET(qtx_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
107
108 # --- resources ---
109
110 # resource files / to be processed by rcc
111 SET(_rcc_RESOURCES Qtx.qrc)
112
113 # resource files / to be processed by lrelease
114 SET(_ts_RESOURCES resources/Qtx_msg_fr.ts
115                   resources/Qtx_msg_ja.ts
116 )
117
118 # --- sources ---
119
120 # sources / moc wrappings
121 QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
122
123 # sources / rcc wrappings
124 QT_ADD_RESOURCES(_rcc_SOURCES ${_rcc_RESOURCES})
125
126 # sources / static
127 SET(_other_SOURCES
128   Qtx.cxx
129   QtxAction.cxx
130   QtxActionGroup.cxx
131   QtxActionMenuMgr.cxx
132   QtxActionMgr.cxx
133   QtxActionSet.cxx
134   QtxActionToolMgr.cxx
135   QtxBackgroundTool.cxx
136   QtxBiColorTool.cxx
137   QtxColorButton.cxx
138   QtxColorScale.cxx
139   QtxComboBox.cxx
140   QtxDialog.cxx
141   QtxDockAction.cxx
142   QtxDockWidget.cxx
143   QtxDoubleSpinBox.cxx
144   QtxDoubleSpinSlider.cxx
145   QtxEvalExpr.cxx
146   QtxFontEdit.cxx
147   QtxGridBox.cxx
148   QtxGroupBox.cxx
149   QtxInfoPanel.cxx
150   QtxIntSpinBox.cxx
151   QtxIntSpinSlider.cxx
152   QtxListAction.cxx
153   QtxLogoMgr.cxx
154   QtxMRUAction.cxx
155   QtxMainWindow.cxx
156   QtxMenu.cxx
157   QtxMsgHandler.cxx
158   QtxMultiAction.cxx
159   QtxNotify.cxx
160   QtxPagePrefMgr.cxx
161   QtxPathDialog.cxx
162   QtxPathEdit.cxx
163   QtxPathListEdit.cxx
164   QtxPopupMgr.cxx
165   QtxPreferenceMgr.cxx
166   QtxResourceMgr.cxx
167   QtxRubberBand.cxx
168   QtxSearchTool.cxx
169   QtxSlider.cxx
170   QtxSplash.cxx
171   QtxToolBar.cxx
172   QtxToolButton.cxx
173   QtxToolTip.cxx
174   QtxTranslator.cxx
175   QtxTreeView.cxx
176   QtxValidator.cxx
177   QtxWorkspace.cxx
178   QtxWorkspaceAction.cxx
179   QtxWorkstack.cxx
180   QtxWorkstackAction.cxx
181 )
182
183 IF(SALOME_GUI_ENABLE_QTXWEBBROWSER)
184   SET(_other_SOURCES ${_other_SOURCES}  QtxWebBrowser.cxx)
185 ENDIF()
186
187 # obsolete files: not migrated to Qt4
188 # _other_SOURCES << QtxListBox.cxx QtxTable.cxx
189 # TODO: migrate or remove?
190
191 # sources / to compile
192 SET(qtx_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_rcc_SOURCES})
193
194 # --- rules ---
195
196 ADD_LIBRARY(qtx ${qtx_SOURCES})
197 TARGET_LINK_LIBRARIES(qtx ${_link_LIBRARIES})
198 INSTALL(TARGETS qtx EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
199
200 INSTALL(FILES ${qtx_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
201 QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}")