OSDN Git Service

remove QGraphicsItem binary compat bits
[kde/Katie.git] / CMakeLists.txt
index 2c51ca7..fe653b8 100644 (file)
@@ -31,21 +31,6 @@ set(CMAKE_UNITY_BUILD_BATCH_SIZE 300)
 # enable symbols visibility preset for all targets
 cmake_policy(SET CMP0063 NEW)
 
-# LLVM linker does not have a default library search path, add some directories known to contain
-# system wide libraries. the headers search path is also incomplete
-if(CMAKE_SYSTEM_NAME MATCHES "BSD")
-    foreach(incdir /usr/X11R6/include /usr/X11R7/include /usr/pkg/include /usr/local/include /usr/include)
-        if(EXISTS "${incdir}")
-            include_directories(${incdir})
-        endif()
-    endforeach()
-    foreach(linkdir /usr/X11R6/lib /usr/X11R7/lib /usr/pkg/lib /usr/local/lib /usr/lib /lib)
-        if(EXISTS "${linkdir}")
-            link_directories(${linkdir})
-        endif()
-    endforeach()
-endif()
-
 include(CheckCXXCompilerFlag)
 include(GNUInstallDirs)
 include(CheckIncludeFileCXX)
@@ -79,14 +64,15 @@ if(CMAKE_SYSTEM_NAME MATCHES "(Linux|GNU)")
 elseif(CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|DragonFly)")
     katie_definition(-D_THREAD_SAFE)
 elseif(NOT CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|NetBSD|Solaris|SunOS)")
+    # if it is not open-source it is not supported, don't even bother requesting support for such
     message(FATAL_ERROR "Unknown platform '${CMAKE_SYSTEM_NAME}'")
 endif()
 
 # mostly relevant to the build process, also stored in the version file for CMake and in qconfig.h.cmake
 set(KATIE_MAJOR "4")
-set(KATIE_MINOR "12")
+set(KATIE_MINOR "14")
 set(KATIE_MICRO "0")
-set(KATIE_HEX "0x041200")
+set(KATIE_HEX "0x041400")
 set(KATIE_VERSION "${KATIE_MAJOR}.${KATIE_MINOR}.${KATIE_MICRO}")
 
 # only for the build process
@@ -102,7 +88,7 @@ if(NOT KATIE_UNIFDEF)
     message(WARNING "Could not find unifdef, headers will not be optimized")
 endif()
 
-# used as shebang for profile, exec, dbus, xvfb and dbg scripts
+# used as shebang for profile, exec and dbg scripts
 find_program(KATIE_SHELL NAMES sh dash mksh ksh ash)
 if(NOT KATIE_SHELL)
     message(FATAL_ERROR "Could not detect shell, supported are: sh, dash, mksh, ksh and ash")
@@ -112,19 +98,15 @@ endif()
 set(KATIE_TYPE SHARED CACHE STRING "Build type")
 
 # components and tools that will be build, changed depending on the requirements availability
-# NOTE: excluding DesignerComponents as it was never used as public component, currently only
-# used by the the designer tool. if it is ever needed for something it can just be added here,
-# Q_DESIGNER_COMPONENTS_EXPORT must be introduced and genmap.py adjusted - the rest of the
-# build system has everything in place.
-set(KATIE_COMPONENTS "Core Gui Declarative Designer Network Svg Xml Script ScriptTools Test UiTools")
-set(KATIE_TOOLS "moc uic rcc designer qscript qtconfig")
+set(KATIE_COMPONENTS "Core Gui Declarative Network Svg Xml Script Test UiTools")
+set(KATIE_TOOLS "moc uic qscript")
 
 set(KATIE_HEADERS_PATH "${CMAKE_INSTALL_FULL_INCLUDEDIR}/katie" CACHE PATH "Headers installation path")
 set(KATIE_LIBRARIES_PATH "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE PATH "Libraries installation path")
 set(KATIE_BINARIES_PATH "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "Binaries installation path")
 set(KATIE_PLUGINS_PATH "${KATIE_LIBRARIES_PATH}/katie/plugins" CACHE PATH "Plugins installation path")
 set(KATIE_IMPORTS_PATH "${KATIE_LIBRARIES_PATH}/katie/imports" CACHE PATH "Declarative imports installation path")
-set(KATIE_TRANSLATIONS_PATH "${CMAKE_INSTALL_FULL_LOCALEDIR}" CACHE PATH "Translations installation path")
+set(KATIE_TRANSLATIONS_PATH "${CMAKE_INSTALL_FULL_DATADIR}/translations" CACHE PATH "Translations installation path")
 set(KATIE_CMAKE_PATH "${KATIE_LIBRARIES_PATH}/cmake/Katie" CACHE PATH "CMake aware modules installation path")
 set(KATIE_LDCONF_PATH "${CMAKE_INSTALL_FULL_SYSCONFDIR}/ld.so.conf.d" CACHE PATH "Run-time linker/loader configs installation path")
 set(KATIE_PROFILE_PATH "${CMAKE_INSTALL_FULL_SYSCONFDIR}/profile.d" CACHE PATH "Shell profile scripts installation path")
@@ -132,12 +114,9 @@ set(KATIE_MAN_PATH "${CMAKE_INSTALL_FULL_MANDIR}" CACHE PATH "Manual pages insta
 set(KATIE_APPLICATIONS_PATH "${CMAKE_INSTALL_FULL_DATADIR}/applications" CACHE PATH "Desktop applications register installation path")
 set(KATIE_PIXMAPS_PATH "${CMAKE_INSTALL_FULL_DATADIR}/pixmaps" CACHE PATH "Desktop applications icon installation path")
 set(KATIE_PKGCONFIG_PATH "${KATIE_LIBRARIES_PATH}/pkgconfig" CACHE PATH "pkg-config installation path")
-set(KATIE_TOOLS_SUFFIX "" CACHE STRING "Tools (moc, uic, rcc, etc.) suffix")
+set(KATIE_TOOLS_SUFFIX "" CACHE STRING "Tools (moc, uic, etc.) suffix")
 
 # bundled packages
-option(WITH_DEFLATE "Build with external libdeflate" ON)
-add_feature_info(deflate WITH_DEFLATE "build with external libdeflate")
-
 option(WITH_XXHASH "Build with external xxHash" OFF)
 add_feature_info(xxhash WITH_XXHASH "build with external xxHash")
 
@@ -151,8 +130,8 @@ add_feature_info(dbus WITH_DBUS "build D-Bus support")
 option(WITH_FONTCONFIG "Build Fontconfig support" ON)
 add_feature_info(fontconfig WITH_FONTCONFIG "build Fontconfig support")
 
-option(WITH_INTL "Build Intl support" ON)
-add_feature_info(intl WITH_INTL "build Intl support")
+option(WITH_GETTEXTPO "Build Gettext support" ON)
+add_feature_info(gettextpo WITH_GETTEXTPO "build Gettext support")
 
 option(WITH_EXECINFO "Build ExecInfo support" OFF)
 add_feature_info(execinfo WITH_EXECINFO "build ExecInfo support")
@@ -210,8 +189,7 @@ set_package_properties(Threads PROPERTIES
     TYPE REQUIRED
 )
 
-# v1.5.4+ required for png_longjmp_ptr() without noreturn attribute
-find_package(PNG 1.5.4)
+find_package(PNG)
 set_package_properties(PNG PROPERTIES
     PURPOSE "PNG format handler"
     DESCRIPTION "A collection of routines used to create PNG format graphics files"
@@ -224,7 +202,7 @@ set_package_properties(Deflate PROPERTIES
     PURPOSE "Required for compression and decompression support"
     DESCRIPTION "Heavily optimized library for DEFLATE/zlib/gzip compression and decompression"
     URL "https://github.com/ebiggers/libdeflate"
-    TYPE RECOMMENDED
+    TYPE REQUIRED
 )
 
 find_package(xxHash)
@@ -261,10 +239,10 @@ set_package_properties(DBus PROPERTIES
     TYPE RECOMMENDED
 )
 
-find_package(Intl)
-set_package_properties(Intl PROPERTIES
+find_package(GettextPO)
+set_package_properties(GettextPO PROPERTIES
     PURPOSE "Required for translations support"
-    DESCRIPTION "GNU gettext runtime library"
+    DESCRIPTION "GNU gettext PO files processsor"
     URL "https://www.gnu.org/software/gettext/gettext.html"
     TYPE RECOMMENDED
 )
@@ -352,6 +330,8 @@ katie_check_function(timegm "time.h")
 katie_check_function(pipe2 "unistd.h")
 katie_check_function(getdomainname "unistd.h")
 katie_check_function(renameat2 "stdio.h")
+katie_check_function(program_invocation_short_name "errno.h")
+katie_check_function(flock "sys/file.h")
 katie_check_struct(tm tm_gmtoff "time.h")
 katie_check_struct(tm tm_zone "time.h")
 katie_check_struct(dirent d_type "dirent.h")
@@ -377,7 +357,7 @@ if(KATIE_TESTS OR KATIE_BENCHMARKS)
     add_definitions(-DQT_BUILD_INTERNAL)
 endif()
 
-foreach(script exec dbus xvfb dbg)
+foreach(script exec dbg)
     configure_file(
         ${CMAKE_SOURCE_DIR}/cmake/${script}.sh.cmake
         ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${script}.sh
@@ -404,8 +384,10 @@ if(NOT WITH_CUPS OR NOT CUPS_FOUND)
     katie_config(QT_NO_CUPS)
 endif()
 
-if(NOT WITH_INTL OR NOT INTL_FOUND)
+if(NOT WITH_GETTEXTPO OR NOT GETTEXTPO_FOUND)
     katie_config(QT_NO_TRANSLATION)
+else()
+    set(KATIE_TOOLS "${KATIE_TOOLS} trc")
 endif()
 
 if(NOT WITH_EXECINFO OR NOT EXECINFO_FOUND)
@@ -450,28 +432,24 @@ configure_file(
     ${CMAKE_BINARY_DIR}/include/qconfig.cpp
 )
 
-add_subdirectory(src/shared)
-
 add_subdirectory(src/core)
 add_subdirectory(src/xml)
 if(WITH_DBUS AND DBUS_FOUND)
     add_subdirectory(src/dbus)
 endif()
 add_subdirectory(src/declarative)
-add_subdirectory(src/designer)
 add_subdirectory(src/gui)
 add_subdirectory(src/imports)
 add_subdirectory(src/network)
 add_subdirectory(src/plugins)
 add_subdirectory(src/script)
-add_subdirectory(src/scripttools)
 add_subdirectory(src/svg)
 add_subdirectory(src/test)
 add_subdirectory(src/uitools)
 
 add_subdirectory(src/tools)
 
-if(WITH_INTL AND INTL_FOUND)
+if(WITH_GETTEXTPO AND GETTEXTPO_FOUND)
     add_subdirectory(translations)
 endif()
 
@@ -484,20 +462,14 @@ if(KATIE_UTILS)
 endif()
 
 # the macro calls bellow are generated via the incfsck script
-katie_generate_obsolete(QAbstractExtensionFactory QtDesigner extension.h)
-katie_generate_obsolete(QAbstractExtensionManager QtDesigner extension.h)
-katie_generate_obsolete(QAbstractFileEngineIterator QtCore qabstractfileengine.h)
-katie_generate_obsolete(QAbstractFormBuilder QtDesigner abstractformbuilder.h)
 katie_generate_obsolete(QAbstractGraphicsShapeItem QtGui qgraphicsitem.h)
 katie_generate_obsolete(QAbstractListModel QtCore qabstractitemmodel.h)
 katie_generate_obsolete(QAbstractTableModel QtCore qabstractitemmodel.h)
 katie_generate_obsolete(QAbstractUndoItem QtGui qtextdocument.h)
 katie_generate_obsolete(QActionEvent QtGui qevent.h)
-katie_generate_obsolete(QAnimationDriver QtGui qabstractanimation.h)
 katie_generate_obsolete(QArgument QtCore qobjectdefs.h)
 katie_generate_obsolete(QAtomicInt QtCore qatomic.h)
 katie_generate_obsolete(QAtomicPointer QtCore qatomic.h)
-katie_generate_obsolete(QBasicAtomicInt QtCore qbasicatomic.h)
 katie_generate_obsolete(QBitRef QtCore qbitarray.h)
 katie_generate_obsolete(QBrushData QtGui qbrush.h)
 katie_generate_obsolete(QByteRef QtCore qbytearray.h)
@@ -506,8 +478,8 @@ katie_generate_obsolete(QChildEvent QtCore qcoreevent.h)
 katie_generate_obsolete(QClipboardEvent QtGui qevent.h)
 katie_generate_obsolete(QCloseEvent QtGui qevent.h)
 katie_generate_obsolete(QContextMenuEvent QtGui qevent.h)
-katie_generate_obsolete(QContiguousCacheData QtCore qcontiguouscache.h)
-katie_generate_obsolete(QContiguousCacheTypedData QtCore qcontiguouscache.h)
+katie_generate_obsolete(QCustomWidgetPlugin QtUiTools customwidget.h)
+katie_generate_obsolete(QCustomWidget QtUiTools customwidget.h)
 katie_generate_obsolete(QDateEdit QtGui qdatetimeedit.h)
 katie_generate_obsolete(QDate QtCore qdatetime.h)
 katie_generate_obsolete(QDBusAbstractInterfaceBase QtDBus qdbusabstractinterface.h)
@@ -521,37 +493,6 @@ katie_generate_obsolete(QDeclarativeListProperty QtDeclarative qdeclarativelist.
 katie_generate_obsolete(QDeclarativeListReference QtDeclarative qdeclarativelist.h)
 katie_generate_obsolete(QDeclarativeProperties QtDeclarative qdeclarativeproperty.h)
 katie_generate_obsolete(QDeclarativeTypeInfo QtDeclarative qdeclarativeprivate.h)
-katie_generate_obsolete(QDesignerActionEditorInterface QtDesigner abstractactioneditor.h)
-katie_generate_obsolete(QDesignerComponents QtDesigner qdesigner_components.h)
-katie_generate_obsolete(QDesignerContainerExtension QtDesigner container.h)
-katie_generate_obsolete(QDesignerCustomWidgetCollectionInterface QtDesigner customwidget.h)
-katie_generate_obsolete(QDesignerCustomWidgetInterface QtDesigner customwidget.h)
-katie_generate_obsolete(QDesignerDnDItemInterface QtDesigner abstractdnditem.h)
-katie_generate_obsolete(QDesignerDynamicPropertySheetExtension QtDesigner dynamicpropertysheet.h)
-katie_generate_obsolete(QDesignerExtraInfoExtension QtDesigner extrainfo.h)
-katie_generate_obsolete(QDesignerFormEditorInterface QtDesigner abstractformeditor.h)
-katie_generate_obsolete(QDesignerFormEditorPluginInterface QtDesigner abstractformeditorplugin.h)
-katie_generate_obsolete(QDesignerFormWindowCursorInterface QtDesigner abstractformwindowcursor.h)
-katie_generate_obsolete(QDesignerFormWindowInterface QtDesigner abstractformwindow.h)
-katie_generate_obsolete(QDesignerFormWindowManagerInterface QtDesigner abstractformwindowmanager.h)
-katie_generate_obsolete(QDesignerFormWindowToolInterface QtDesigner abstractformwindowtool.h)
-katie_generate_obsolete(QDesignerIconCacheInterface QtDesigner abstracticoncache.h)
-katie_generate_obsolete(QDesignerIntegrationInterface QtDesigner abstractintegration.h)
-katie_generate_obsolete(QDesignerLanguageExtension QtDesigner abstractlanguage.h)
-katie_generate_obsolete(QDesignerLayoutDecorationExtension QtDesigner layoutdecoration.h)
-katie_generate_obsolete(QDesignerMemberSheetExtension QtDesigner membersheet.h)
-katie_generate_obsolete(QDesignerMetaDataBaseInterface QtDesigner abstractmetadatabase.h)
-katie_generate_obsolete(QDesignerMetaDataBaseItemInterface QtDesigner abstractmetadatabase.h)
-katie_generate_obsolete(QDesignerObjectInspectorInterface QtDesigner abstractobjectinspector.h)
-katie_generate_obsolete(QDesignerPromotionInterface QtDesigner abstractpromotioninterface.h)
-katie_generate_obsolete(QDesignerPropertyEditorInterface QtDesigner abstractpropertyeditor.h)
-katie_generate_obsolete(QDesignerPropertySheetExtension QtDesigner propertysheet.h)
-katie_generate_obsolete(QDesignerResourceBrowserInterface QtDesigner abstractresourcebrowser.h)
-katie_generate_obsolete(QDesignerTaskMenuExtension QtDesigner taskmenu.h)
-katie_generate_obsolete(QDesignerWidgetBoxInterface QtDesigner abstractwidgetbox.h)
-katie_generate_obsolete(QDesignerWidgetDataBaseInterface QtDesigner abstractwidgetdatabase.h)
-katie_generate_obsolete(QDesignerWidgetDataBaseItemInterface QtDesigner abstractwidgetdatabase.h)
-katie_generate_obsolete(QDesignerWidgetFactoryInterface QtDesigner abstractwidgetfactory.h)
 katie_generate_obsolete(QDomAttr QtXml qdom.h)
 katie_generate_obsolete(QDomCDATASection QtXml qdom.h)
 katie_generate_obsolete(QDomCharacterData QtXml qdom.h)
@@ -579,27 +520,21 @@ katie_generate_obsolete(QDynamicPropertyChangeEvent QtCore qcoreevent.h)
 katie_generate_obsolete(QEvent QtCore qcoreevent.h)
 katie_generate_obsolete(QEventSizeOfChecker QtTest qtestspontaneevent.h)
 katie_generate_obsolete(QExplicitlySharedDataPointer QtCore qsharedpointer.h)
-katie_generate_obsolete(QExtensionFactory QtDesigner default_extensionfactory.h)
 katie_generate_obsolete(QFileInfoList QtCore qfileinfo.h)
 katie_generate_obsolete(QFlag QtCore qglobal.h)
 katie_generate_obsolete(QFlags QtCore qglobal.h)
 katie_generate_obsolete(QFocusEvent QtGui qevent.h)
 katie_generate_obsolete(QFontMetricsF QtGui qfontmetrics.h)
-katie_generate_obsolete(QFormBuilder QtDesigner formbuilder.h)
 katie_generate_obsolete(QGenericArgument QtCore qobjectdefs.h)
 katie_generate_obsolete(QGenericReturnArgument QtCore qobjectdefs.h)
 katie_generate_obsolete(QGradient QtGui qbrush.h)
 katie_generate_obsolete(QGradientStop QtGui qbrush.h)
 katie_generate_obsolete(QGradientStops QtGui qbrush.h)
 katie_generate_obsolete(QGraphicsAnchor QtGui qgraphicsanchorlayout.h)
-katie_generate_obsolete(QGraphicsBlurEffect QtGui qgraphicseffect.h)
-katie_generate_obsolete(QGraphicsColorizeEffect QtGui qgraphicseffect.h)
-katie_generate_obsolete(QGraphicsDropShadowEffect QtGui qgraphicseffect.h)
 katie_generate_obsolete(QGraphicsEllipseItem QtGui qgraphicsitem.h)
 katie_generate_obsolete(QGraphicsItemGroup QtGui qgraphicsitem.h)
 katie_generate_obsolete(QGraphicsLineItem QtGui qgraphicsitem.h)
 katie_generate_obsolete(QGraphicsObject QtGui qgraphicsitem.h)
-katie_generate_obsolete(QGraphicsOpacityEffect QtGui qgraphicseffect.h)
 katie_generate_obsolete(QGraphicsPathItem QtGui qgraphicsitem.h)
 katie_generate_obsolete(QGraphicsPixmapItem QtGui qgraphicsitem.h)
 katie_generate_obsolete(QGraphicsPolygonItem QtGui qgraphicsitem.h)
@@ -623,7 +558,6 @@ katie_generate_obsolete(QHBoxLayout QtGui qboxlayout.h)
 katie_generate_obsolete(QHelpEvent QtGui qevent.h)
 katie_generate_obsolete(QHideEvent QtGui qevent.h)
 katie_generate_obsolete(QHoverEvent QtGui qevent.h)
-katie_generate_obsolete(QIconEnginePluginV2 QtGui qiconengineplugin.h)
 katie_generate_obsolete(QIconEngineV2 QtGui qiconengine.h)
 katie_generate_obsolete(QImageIOPlugin QtGui qimageiohandler.h)
 katie_generate_obsolete(QIncompatibleFlag QtCore qglobal.h)
@@ -677,7 +611,6 @@ katie_generate_obsolete(QMutableStringListIterator QtCore qstringlist.h)
 katie_generate_obsolete(QMutableVectorIterator QtCore qvector.h)
 katie_generate_obsolete(QMutexLocker QtCore qmutex.h)
 katie_generate_obsolete(QNetworkAddressEntry QtNetwork qnetworkinterface.h)
-katie_generate_obsolete(QNoDebug QtCore qdebug.h)
 katie_generate_obsolete(QObjectData QtCore qobject.h)
 katie_generate_obsolete(QObjectList QtCore qobject.h)
 katie_generate_obsolete(QPaintEngineState QtGui qpaintengine.h)
@@ -766,8 +699,7 @@ katie_generate_obsolete(QTextBlockGroup QtGui qtextobject.h)
 katie_generate_obsolete(QTextBlock QtGui qtextobject.h)
 katie_generate_obsolete(QTextBlockUserData QtGui qtextobject.h)
 katie_generate_obsolete(QTextCharFormat QtGui qtextformat.h)
-katie_generate_obsolete(QTextDecoder QtCore qtextcodec.h)
-katie_generate_obsolete(QTextEncoder QtCore qtextcodec.h)
+katie_generate_obsolete(QTextConverter QtCore qtextcodec.h)
 katie_generate_obsolete(QTextFragment QtGui qtextobject.h)
 katie_generate_obsolete(QTextFrameFormat QtGui qtextformat.h)
 katie_generate_obsolete(QTextFrameLayoutData QtGui qtextobject.h)
@@ -780,7 +712,6 @@ katie_generate_obsolete(QTextLine QtGui qtextlayout.h)
 katie_generate_obsolete(QTextListFormat QtGui qtextformat.h)
 katie_generate_obsolete(QTextObjectInterface QtGui qabstracttextdocumentlayout.h)
 katie_generate_obsolete(QTextStreamFunction QtCore qtextstream.h)
-katie_generate_obsolete(QTextStreamManipulator QtCore qtextstream.h)
 katie_generate_obsolete(QTextTableCellFormat QtGui qtextformat.h)
 katie_generate_obsolete(QTextTableCell QtGui qtexttable.h)
 katie_generate_obsolete(QTextTableFormat QtGui qtextformat.h)
@@ -811,7 +742,6 @@ katie_generate_obsolete(QWhatsThisClickedEvent QtGui qevent.h)
 katie_generate_obsolete(QWheelEvent QtGui qevent.h)
 katie_generate_obsolete(QWidgetData QtGui qwidget.h)
 katie_generate_obsolete(QWidgetItem QtGui qlayoutitem.h)
-katie_generate_obsolete(QWidgetItemV2 QtGui qlayoutitem.h)
 katie_generate_obsolete(QWidgetList QtGui qwindowdefs.h)
 katie_generate_obsolete(QWidgetMapper QtGui qwindowdefs.h)
 katie_generate_obsolete(QWidgetSet QtGui qwindowdefs.h)
@@ -845,10 +775,6 @@ katie_generate_obsolete(QXmlStreamNotationDeclaration QtXml qxmlstream.h)
 katie_generate_obsolete(QXmlStreamNotationDeclarations QtXml qxmlstream.h)
 katie_generate_obsolete(QXmlStreamReader QtXml qxmlstream.h)
 katie_generate_obsolete(QXmlStreamWriter QtXml qxmlstream.h)
-# those have shuffled from QtDesigner to QtUiTools
-katie_generate_obsolete(formbuilder.h QtDesigner ../QtUiTools/formbuilder.h)
-katie_generate_obsolete(customwidget.h QtDesigner ../QtUiTools/customwidget.h)
-katie_generate_obsolete(qdesignercustomwidgetinterface.h QtDesigner ../QtUiTools/customwidget.h)
 
 katie_string_wrap("${KATIE_DEFINITIONS}" KATIE_DEFINITIONS)