# 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)
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
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")
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")
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")
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")
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"
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)
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
)
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")
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
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)
${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()
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)