# add_definitions() set(EXTRA_GUI_LIBS KtCore KtXml ${FREETYPE_LIBRARIES} ${X11_LIBRARIES} ${X11_X11_LIB} ${X11_Xt_LIB} ${X11_Xi_LIB} ${ICU_LIBRARIES} ) set(GUI_PUBLIC_HEADERS QPropertyAnimation QPauseAnimation QAnimationGroup QVariantAnimation QSequentialAnimationGroup QParallelAnimationGroup QAbstractAnimation QAbstractButton QAbstractItemDelegate QAbstractItemView QAbstractPageSetupDialog QAbstractPrintDialog QAbstractProxyModel QAbstractScrollArea QAbstractSlider QAbstractSpinBox QAbstractTextDocumentLayout QAccessible QAccessibleBridge QAccessibleObject QAccessiblePlugin QAccessibleWidget QAccessibleWidgetEx QAction QActionGroup QApplication QBitmap QBoxLayout QBrush QBrushData QButtonGroup QCalendarWidget QCheckBox QCleanlooksStyle QClipboard QClipboardEvent QColor QColorDialog QColormap QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter 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 QGraphicsEffect QGraphicsGridLayout QGraphicsItem QGraphicsItemAnimation QGraphicsLayout QGraphicsLayoutItem QGraphicsLinearLayout QGraphicsProxyWidget QGraphicsScene QGraphicsSceneEvent QGraphicsView QGraphicsWidget QGridLayout QGroupBox QHeaderView QIcon QIconEngine QIconEnginePlugin QIdentityProxyModel QImage QImageIOHandler QImageReader QImageWriter QInputDialog QItemDelegate 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 QPalette QPanGesture QPen QPixmap QPixmapCache QPlainTextEdit QPlastiqueStyle QPolygon QPrintDialog QPrintEngine QPrinter QPrinterInfo QPrintPreviewDialog QPrintPreviewWidget QProgressBar QProgressDialog QProxyModel QProxyStyle QPushButton QQuaternion QRadioButton QRegion QRgb QRubberBand QScrollArea QScrollBar QSessionManager QShortcut QSizeGrip QSizePolicy QSlider QSortFilterProxyModel QSpinBox QSplashScreen QSplitter QStackedLayout QStackedWidget QStandardItemEditorCreator QStandardItemModel QStaticText QStatusBar QStatusTipEvent QStringListModel QStyle QStyledItemDelegate QStyleFactory QStyleFactoryInterface QStyleHintReturn QStyleHintReturnVariant QStyleOption QStyleOptionSizeGrip QStyleOptionToolBox QStyleOptionToolBoxV2 QStylePainter QStylePlugin QSwipeGesture QSyntaxHighlighter QSystemTrayIcon QTabBar QTableView QTableWidget QTableWidgetSelectionRange QTabWidget QTapAndHoldGesture QTapGesture QTextBlockGroup QTextBrowser QTextCursor QTextDocument QTextDocumentFragment QTextDocumentWriter QTextEdit QTextFormat QTextFragment QTextFrameFormat QTextFrameLayoutData QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextList QTextObject QTextObjectInterface QTextOption QTextTable 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 QWizard QWorkspace QGuiPlatformPlugin ) 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} ) 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) # 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 PRIVATE ${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)