# 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
set(KATIE_TYPE SHARED CACHE STRING "Build type")
# components and tools that will be build, changed depending on the requirements availability
-set(KATIE_COMPONENTS "Core Gui Declarative Network Svg Xml Script ScriptTools Test UiTools")
-set(KATIE_TOOLS "moc uic 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_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")
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(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")
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)
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()
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(QTextBlockUserData QtGui qtextobject.h)
katie_generate_obsolete(QTextCharFormat QtGui qtextformat.h)
katie_generate_obsolete(QTextConverter QtCore qtextcodec.h)
-katie_generate_obsolete(QTextDecoder QtCore qtextcodec.h)
-katie_generate_obsolete(QTextEncoder 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)