# add_definitions() set(EXTRA_GUI_LIBS KtCore KtXml ${FREETYPE_LIBRARIES} ${X11_LIBRARIES} ${X11_X11_LIB} ${X11_Xt_LIB} ${X11_Xi_LIB}) set(GUI_PUBLIC_HEADERS ${GUI_PUBLIC_HEADERS} QPropertyAnimation QPauseAnimation QAnimationGroup QVariantAnimation QSequentialAnimationGroup QParallelAnimationGroup QAbstractAnimation QAbstractButton QAbstractItemDelegate QAbstractItemView QAbstractPageSetupDialog QAbstractPrintDialog QAbstractProxyModel QAbstractScrollArea QAbstractSlider QAbstractSpinBox QAbstractTextDocumentLayout QAccessible QAccessibleBridge QAccessibleObject QAccessiblePlugin QAccessibleTextInterface QAccessibleWidget QAccessibleWidgetEx QAction QActionGroup QApplication QBitmap QBoxLayout QBrush QBrushData QButtonGroup QCalendarWidget QCheckBox QCleanlooksStyle QClipboard QClipboardEvent QColor QColorDialog QColormap QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter QConicalGradient QCursor QDataWidgetMapper QDateTimeEdit QDesktopServices QDesktopWidget QDial QDialog QDialogButtonBox QDirModel QDockWidget QDrag QDragResponseEvent QErrorMessage QFileDialog QFileIconProvider QFileSystemModel QFocusFrame QFont QFontComboBox QFontDatabase QFontDialog QFontInfo QFontMetrics QFormLayout QFrame QGenericMatrix QGesture QGestureRecognizer QGradientStop QGradientStops QGraphicsAnchor QGraphicsAnchorLayout QGraphicsBlurEffect QGraphicsColorizeEffect QGraphicsDropShadowEffect QGraphicsEffect QGraphicsEllipseItem QGraphicsGridLayout QGraphicsItem QGraphicsItemAnimation QGraphicsItemGroup QGraphicsLayout QGraphicsLayoutItem QGraphicsLinearLayout QGraphicsLineItem QGraphicsOpacityEffect QGraphicsPathItem QGraphicsPixmapItem QGraphicsPolygonItem QGraphicsProxyWidget QGraphicsRectItem QGraphicsRotation QGraphicsScale QGraphicsScene QGraphicsSimpleTextItem QGraphicsView QGraphicsWidget QGridLayout QGroupBox QHeaderView QIcon QIconEngine QIconEngineFactoryInterface QIconEngineFactoryInterfaceV2 QIconEnginePlugin QIconEnginePluginV2 QIdentityProxyModel QImage QImageIOHandler QImageIOHandlerFactoryInterface QImageReader QImageWriter QInputDialog QItemDelegate QItemEditorCreator QItemEditorCreatorBase QItemEditorFactory QItemSelectionModel QKeySequence QLabel QLayout QLayoutItem QLCDNumber QLineEdit QListView QListWidget QMainWindow QMatrix QMatrix2x2 QMatrix2x3 QMatrix2x4 QMatrix3x2 QMatrix3x3 QMatrix3x4 QMatrix4x2 QMatrix4x3 QMatrix4x4 QMdiArea QMdiSubWindow QMenu QMenuBar QMotifStyle QMovie QPageSetupDialog QPaintDevice QPaintEngine QPaintEngineState QPainter QPainterPath QPainterPathPrivate QPainterPathStroker QPalette QPanGesture QPen QPixmap QPixmapCache QPlainTextDocumentLayout QPlainTextEdit QPlastiqueStyle QPolygon QPrintDialog QPrintEngine QPrinter QPrinterInfo QPrintPreviewDialog QPrintPreviewWidget QProgressBar QProgressDialog QProxyModel QProxyStyle QPushButton QQuaternion QRadialGradient QRadioButton QRegion QRgb QRubberBand QScrollArea QScrollBar QSessionManager QShortcut QSizeGrip QSizePolicy QSlider QSortFilterProxyModel QSpinBox QSplashScreen QSplitter QSplitterHandle QStackedLayout QStackedWidget QStandardItemEditorCreator QStandardItemModel QStaticText QStatusBar QStatusTipEvent QStringListModel QStyle QStyledItemDelegate QStyleFactory QStyleFactoryInterface QStyleHintReturn QStyleHintReturnMask QStyleHintReturnVariant QStyleOption QStyleOptionComboBox QStyleOptionGroupBox QStyleOptionSizeGrip QStyleOptionTabBarBase QStyleOptionTabBarBaseV2 QStyleOptionTab QStyleOptionTabV2 QStyleOptionTabV3 QStyleOptionToolBar QStyleOptionToolBox QStyleOptionToolBoxV2 QStylePainter QStylePlugin QSwipeGesture QSyntaxHighlighter QSystemTrayIcon QTabBar QTableView QTableWidget QTableWidgetItem QTableWidgetSelectionRange QTabWidget QTapAndHoldGesture QTapGesture QtEvents QTextBlockGroup QTextBlockUserData QTextBrowser QTextCursor QTextDocument QTextDocumentFragment QTextDocumentWriter QTextEdit QTextFormat QTextFragment QTextFrameFormat QTextFrameLayoutData QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextLength QTextList QTextObject QTextObjectInterface QTextOption QTextTable QTextTableCell QTextTableCellFormat QTileRules QToolBar QToolBox QToolButton QToolTip QTransform QTreeView QTreeWidget QTreeWidgetItemIterator QUndoGroup QUndoStack QUndoView QUnixPrintWidget QUpdateLaterEvent QValidator QVector2D QVector3D QVector4D QWhatsThis QWhatsThisClickedEvent QWidget QMessageBox QWidgetAction QWidgetData QWidgetItemV2 QWidgetMapper QWidgetSet QWindowsStyle QWindowStateChangeEvent QWizard QWizardPage QWorkspace QGuiPlatformPlugin # those are aliases QX11Info QX11EmbedContainer QX11EmbedWidget # mixed QAccessibleValueInterface QAnimationDriver QUndoCommand QPolygonF QTextLine QTextBlock QTextBlockFormat QListWidgetItem QTreeWidgetItem QStandardItem QActionEvent QShortcutEvent QCloseEvent QResizeEvent QMoveEvent QShowEvent QHideEvent QFocusEvent QMouseEvent QKeyEvent QWheelEvent QTouchEvent QHoverEvent QDragEnterEvent QDragLeaveEvent QDragMoveEvent QPaintEvent QHelpEvent QDropEvent QContextMenuEvent QGraphicsSceneEvent QGraphicsSceneHelpEvent QGraphicsSceneMoveEvent QGraphicsSceneMouseEvent QGraphicsSceneWheelEvent QGraphicsSceneResizeEvent QGraphicsSceneHoverEvent QGraphicsSceneContextMenuEvent QGraphicsSceneDragDropEvent QGraphicsTextItem QGraphicsObject QStyleOptionTitleBar QStyleOptionGraphicsItem QStyleOptionButton QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3 QStyleOptionViewItem QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4 QStyleOptionProgressBar QStyleOptionProgressBarV2 QStyleOptionDockWidget QStyleOptionDockWidgetV2 QStyleOptionFocusRect QStyleOptionMenuItem QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2 QItemSelection QIntValidator QFontMetricsF QStyleOptionSlider QStyleOptionToolButton QDoubleValidator QTextFrame QTextListFormat QTextCharFormat QTextTableFormat QSpacerItem QVBoxLayout QHBoxLayout QDoubleSpinBox QLinearGradient QGradient # pure aliases, but required by UI generator QTimeEdit QDateEdit ) include(accessible/accessible.cmake) include(animation/animation.cmake) include(dialogs/dialogs.cmake) include(effects/effects.cmake) include(graphicsview/graphicsview.cmake) include(image/image.cmake) include(itemviews/itemviews.cmake) include(kernel/kernel.cmake) include(math3d/math3d.cmake) include(painting/painting.cmake) include(styles/styles.cmake) include(text/text.cmake) include(util/util.cmake) include(widgets/widgets.cmake) include_directories( ${CMAKE_BINARY_DIR}/include ${CMAKE_BINARY_DIR}/privateinclude ${CMAKE_BINARY_DIR}/include/QtCore ${CMAKE_BINARY_DIR}/privateinclude/QtCore ${CMAKE_BINARY_DIR}/include/QtXml ${CMAKE_BINARY_DIR}/privateinclude/QtXml ${CMAKE_BINARY_DIR}/include/QtGui ${CMAKE_BINARY_DIR}/privateinclude/QtGui ${FREETYPE_INCLUDE_DIRS} ${X11_INCLUDE_DIR} ${ICU_INCLUDES} ) # keep in sync with the top-level CMake file, only libraries setup is needed here foreach(x11ext Xshape Xinerama Xrandr Xrender Xfixes Xcursor Xinput Xext) if(X11_${x11ext}_FOUND AND X11_${x11ext}_LIB) set(EXTRA_GUI_LIBS ${EXTRA_GUI_LIBS} ${X11_${x11ext}_LIB} ) endif() endforeach() if(WITH_NIS AND NIS_FOUND) set(EXTRA_GUI_LIBS ${EXTRA_GUI_LIBS} ${NIS_LIBRARIES} ) include_directories(${NIS_INCLUDES}) endif() if(WITH_NSL AND NSL_FOUND) set(EXTRA_GUI_LIBS ${EXTRA_GUI_LIBS} ${NSL_LIBRARIES} ) include_directories(${NSL_INCLUDES}) endif() set(GUI_HEADERS ${GUI_HEADERS} ${CMAKE_CURRENT_SOURCE_DIR}/qguicommon_p.h ) # anything that includes qt_x11_p.h is known to break all-in-one build katie_allinone_exclude( ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/qdialog.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/qpagesetupdialog_unix.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/qprintdialog_unix.cpp ${CMAKE_CURRENT_SOURCE_DIR}/graphicsview/qgraphicsitem.cpp ${CMAKE_CURRENT_SOURCE_DIR}/graphicsview/qgraphicsscene.cpp ${CMAKE_CURRENT_SOURCE_DIR}/graphicsview/qgraphicsview.cpp ${CMAKE_CURRENT_SOURCE_DIR}/image/qpixmap.cpp ${CMAKE_CURRENT_SOURCE_DIR}/image/qpixmap_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/itemviews/qitemeditorfactory.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qapplication.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qapplication_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qclipboard_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qcursor_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qdesktopwidget_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qdnd_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qeventdispatcher_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qkeymapper_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qmotifdnd_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qwidget_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qx11embed_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qx11info_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qcolor.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qcolormap_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qpaintdevice_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qpaintengine_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qprinter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qregion_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qwindowsurface_raster.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qwindowsurface_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/text/qfont.cpp ${CMAKE_CURRENT_SOURCE_DIR}/text/qfontengine_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/text/qfont_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/text/qharfbuzz.cpp ${CMAKE_CURRENT_SOURCE_DIR}/text/qtextformat.cpp ${CMAKE_CURRENT_SOURCE_DIR}/util/qsystemtrayicon_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/widgets/qsizegrip.cpp ${CMAKE_CURRENT_SOURCE_DIR}/widgets/qtextedit.cpp ${CMAKE_SOURCE_DIR}/src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp ) katie_generate_misc("${GUI_HEADERS}" QtGui) katie_generate_public("${GUI_PUBLIC_HEADERS}" QtGui) katie_generate_package(KtGui "KtCore KtXml") katie_setup_target(KtGui ${GUI_SOURCES} ${GUI_HEADERS}) add_library(KtGui ${KATIE_TYPE} ${KtGui_SOURCES}) target_link_libraries(KtGui ${EXTRA_GUI_LIBS}) set_target_properties(KtGui PROPERTIES VERSION ${KATIE_MAJOR}.${KATIE_MINOR} SOVERSION ${KATIE_VERSION} EXPORT_NAME Gui ) install( TARGETS KtGui EXPORT KatieLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS} DESTINATION ${KATIE_LIBRARIES_RELATIVE} COMPONENT Runtime ) install( DIRECTORY ${CMAKE_BINARY_DIR}/include/QtGui DESTINATION ${KATIE_HEADERS_RELATIVE} COMPONENT Devel ) katie_optimize_headers(${KATIE_HEADERS_FULL}/QtGui)