katie/src/gui/CMakeLists.txt

431 lines
10 KiB
Text
Raw Normal View History

# 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
QGraphicsSceneEvent
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
)
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)