add_definitions(-DQT_BUILD_GUI_LIB) set(EXTRA_GUI_LIBS KtCore ${FREETYPE_LIBRARIES}) set(GUI_PUBLIC_HEADERS ${GUI_PUBLIC_HEADERS} QAbstractButton QAbstractItemDelegate QAbstractItemView QAbstractPageSetupDialog QAbstractPrintDialog QAbstractProxyModel QAbstractScrollArea QAbstractSlider QAbstractSpinBox QAbstractTextDocumentLayout QAccessible QAccessibleBridge QAccessibleObject QAccessiblePlugin QAccessibleTextInterface QAccessibleValueInterface QAccessibleWidget QAccessibleWidgetEx QAction QActionGroup QApplication QAuthDevice QBitmap QBoxLayout QBrush QBrushData QButtonGroup QCalendarWidget QCDEStyle 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 QFileOpenEvent 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 QIconDragEvent QIconEngine QIconEngineFactoryInterface QIconEngineFactoryInterfaceV2 QIconEnginePlugin QIconEnginePluginV2 QIdentityProxyModel QImage QImageIOHandler QImageIOHandlerFactoryInterface QImageReader QImageTextKeyLang QImageWriter QInputDialog QItemDelegate QItemEditorCreator QItemEditorCreatorBase QItemEditorFactory QItemSelectionModel QKeyEventTransition QKeySequence QLabel QLayout QLayoutItem QLCDNumber QLineEdit QListView QListWidget QMainWindow QMatrix QMatrix2x2 QMatrix2x3 QMatrix2x4 QMatrix3x2 QMatrix3x3 QMatrix3x4 QMatrix4x2 QMatrix4x3 QMatrix4x4 QMdiArea QMdiSubWindow QMenu QMenuBar QMotifStyle QMouseDriverFactory QMouseDriverPlugin QMouseEventTransition QMovie QPageSetupDialog QPaintDevice QPaintEngine QPaintEngineState QPainter QPainterPath QPainterPathPrivate QPainterPathStroker QPalette QPanGesture QPen QPixmap QPixmapCache QPlainTextDocumentLayout QPlainTextEdit QPlastiqueStyle QPlatformCursor QPlatformCursorImage QPlatformCursorPrivate QPlatformEventLoopIntegration QPlatformFontDatabase QPlatformIntegration QPlatformIntegrationFactoryInterface QPlatformIntegrationPlugin QPlatformNativeInterface QPlatformScreen QPolygon QPoolEntry QPrintDialog QPrintEngine QPrinter QPrinterInfo QPrintPreviewDialog QPrintPreviewWidget QProgressBar QProgressDialog QProxyModel QProxyScreen QProxyScreenCursor QProxyStyle QPushButton QQnxMouseHandler QQnxScreen QQuaternion QRadialGradient QRadioButton QRegion QRgb QRubberBand QScreen QScreenCursor QScreenDriverFactory QScreenDriverFactoryInterface QScreenDriverPlugin 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 QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2 QStyleOptionToolBar QStyleOptionToolBox QStyleOptionToolBoxV2 QStylePainter QStylePlugin QSupportedWritingSystems 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 QToolBarChangeEvent QToolBox QToolButton QToolTip QTransform QTransformedScreen QTransportAuth QTreeView QTreeWidget QTreeWidgetItemIterator QUndoGroup QUndoStack QUndoView QUnixPrintWidget QUpdateLaterEvent QValidator QVector2D QVector3D QVector4D QVFbHeader QVFbKeyboardHandler QVFbKeyData QVFbMouseHandler QVFbScreen QWhatsThis QWhatsThisClickedEvent QWidget QMessageBox QWidgetAction QWidgetData QWidgetItemV2 QWidgetMapper QWidgetSet QWindowsStyle QWindowStateChangeEvent QWizard QWizardPage QWorkspace # those are aliases QX11Info QX11EmbedContainer QX11EmbedWidget # mixed QUndoCommand QPolygonF QTextLine QTextBlock QTextBlockFormat QListWidgetItem QTreeWidgetItem QStandardItem 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 QStyleOptionGraphicsItem QStyleOptionButton QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3 QStyleOptionViewItem QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4 QStyleOptionProgressBar QStyleOptionProgressBarV2 QStyleOptionDockWidget QStyleOptionDockWidgetV2 QStyleOptionFocusRect QStyleOptionMenuItem QItemSelection QIntValidator QFontMetricsF QStyleOptionSlider QStyleOptionToolButton QDoubleValidator QTextFrame QTextListFormat QTextCharFormat 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/QtGui ${CMAKE_BINARY_DIR}/privateinclude/QtGui ${CMAKE_CURRENT_SOURCE_DIR}/accessible ${CMAKE_CURRENT_SOURCE_DIR}/animation ${CMAKE_CURRENT_SOURCE_DIR}/dialogs ${CMAKE_CURRENT_SOURCE_DIR}/effects ${CMAKE_CURRENT_SOURCE_DIR}/graphicsview ${CMAKE_CURRENT_SOURCE_DIR}/image ${CMAKE_CURRENT_SOURCE_DIR}/itemviews ${CMAKE_CURRENT_SOURCE_DIR}/kernel ${CMAKE_CURRENT_SOURCE_DIR}/math3d ${CMAKE_CURRENT_SOURCE_DIR}/painting ${CMAKE_CURRENT_SOURCE_DIR}/styles ${CMAKE_CURRENT_SOURCE_DIR}/text ${CMAKE_CURRENT_SOURCE_DIR}/util ${CMAKE_CURRENT_SOURCE_DIR}/widgets ${CMAKE_CURRENT_BINARY_DIR}/accessible ${CMAKE_CURRENT_BINARY_DIR}/animation ${CMAKE_CURRENT_BINARY_DIR}/dialogs ${CMAKE_CURRENT_BINARY_DIR}/effects ${CMAKE_CURRENT_BINARY_DIR}/graphicsview ${CMAKE_CURRENT_BINARY_DIR}/image ${CMAKE_CURRENT_BINARY_DIR}/itemviews ${CMAKE_CURRENT_BINARY_DIR}/kernel ${CMAKE_CURRENT_BINARY_DIR}/math3d ${CMAKE_CURRENT_BINARY_DIR}/painting ${CMAKE_CURRENT_BINARY_DIR}/styles ${CMAKE_CURRENT_BINARY_DIR}/text ${CMAKE_CURRENT_BINARY_DIR}/util ${CMAKE_CURRENT_BINARY_DIR}/widgets ${CMAKE_SOURCE_DIR}/src/core/tools ${FREETYPE_INCLUDE_DIRS} ) # keep in sync with the top-level CMake file, only libraries setup is needed here if(WITH_X11 AND X11_FOUND) set(EXTRA_GUI_LIBS ${EXTRA_GUI_LIBS} ${X11_LIBRARIES} ${X11_X11_LIB} ${X11_Xt_LIB} ${X11_Xi_LIB} ) include_directories(${X11_INCLUDE_DIR}) 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() endif() if(WITH_NIS AND NIS_FOUND) set(EXTRA_GUI_LIBS ${EXTRA_GUI_LIBS} ${NIS_LIBRARIES} ) include_directories(${NIS_INCLUDES}) endif() set(GUI_HEADERS ${GUI_HEADERS} ${CMAKE_CURRENT_SOURCE_DIR}/qguicommon_p.h ) katie_allinone_exclude( ${CMAKE_CURRENT_SOURCE_DIR}/itemviews/qitemeditorfactory.cpp ${CMAKE_CURRENT_SOURCE_DIR}/widgets/qtextedit.cpp ${CMAKE_CURRENT_SOURCE_DIR}/text/qtextformat.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/qeventdispatcher_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/painting/qpaintengine_x11.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/qprintdialog_unix.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/qpagesetupdialog_unix.cpp ${CMAKE_SOURCE_DIR}/src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp ${CMAKE_SOURCE_DIR}/src/gui/text/qharfbuzz.cpp ) katie_generate_misc("${GUI_HEADERS}" QtGui) katie_generate_public("${GUI_PUBLIC_HEADERS}" QtGui) katie_generate_package(KtGui "KtCore") katie_setup_target(KtGui ${GUI_SOURCES} ${GUI_HEADERS}) if(WITH_NSL AND NSL_FOUND) include_directories(${NSL_INCLUDES}) set(EXTRA_GUI_LIBS ${EXTRA_GUI_LIBS} ${NSL_LIBRARIES} ) endif() 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} ) install( DIRECTORY ${CMAKE_BINARY_DIR}/include/QtGui DESTINATION ${KATIE_HEADERS_RELATIVE} COMPONENT Devel ) katie_optimize_headers(${KATIE_HEADERS_FULL}/QtGui)