katie/src/gui/CMakeLists.txt

397 lines
9.2 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}
${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)