From 1e55315d160bcf526928925c3b8ff06c7da65850 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Mon, 16 Dec 2019 16:01:30 +0300 Subject: don't default to using debug build type on Haiku... if the source directory is a git clone diff --git a/kde-modules/KDECompilerSettings.cmake b/kde-modules/KDECompilerSettings.cmake index 8267507..60b35d5 100644 --- a/kde-modules/KDECompilerSettings.cmake +++ b/kde-modules/KDECompilerSettings.cmake @@ -248,7 +248,7 @@ include("${ECM_MODULE_DIR}/ECMSourceVersionControl.cmake") # source directory is a git clone. # Otherwise, leave it empty, to let distro packagers choose the flags. ############################################################ -if (ECM_SOURCE_UNDER_VERSION_CONTROL AND NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) +if (ECM_SOURCE_UNDER_VERSION_CONTROL AND NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES AND NOT HAIKU) set(default_build_type "Debug") message(STATUS "Setting build type to '${default_build_type}' as none was specified.") set_property(CACHE CMAKE_BUILD_TYPE PROPERTY VALUE "${default_build_type}") -- 2.52.0 From f1e6d0824b9a4f42e6713fbffa97c586342a216a Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sun, 8 May 2022 21:16:49 +1000 Subject: Add Haiku platform check diff --git a/kde-modules/KDEMetaInfoPlatformCheck.cmake b/kde-modules/KDEMetaInfoPlatformCheck.cmake index e51d586..7cb33bb 100644 --- a/kde-modules/KDEMetaInfoPlatformCheck.cmake +++ b/kde-modules/KDEMetaInfoPlatformCheck.cmake @@ -52,6 +52,10 @@ if (NOT "${KF_IGNORE_PLATFORM_CHECK}") if (WIN32) set(_MetainfoFoundSupportedPlatform true) endif() + elseif (${CMAKE_MATCH_1} STREQUAL "Haiku") + if (HAIKU) + set(_MetainfoFoundSupportedPlatform true) + endif() elseif (${CMAKE_MATCH_1} STREQUAL "macOS") if (CMAKE_SYSTEM_NAME MATCHES "Darwin") set(_MetainfoFoundSupportedPlatform true) -- 2.52.0 From e37ea3a4ee41b8628fed435ad26af2d1b954ad16 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Wed, 28 Feb 2024 11:48:23 +0100 Subject: demote_unsupported_platform_error_to_a_warning From Debian patches diff --git a/kde-modules/KDEMetaInfoPlatformCheck.cmake b/kde-modules/KDEMetaInfoPlatformCheck.cmake index 7cb33bb..03233a3 100644 --- a/kde-modules/KDEMetaInfoPlatformCheck.cmake +++ b/kde-modules/KDEMetaInfoPlatformCheck.cmake @@ -80,6 +80,6 @@ if (NOT "${KF_IGNORE_PLATFORM_CHECK}") endforeach() if (NOT _MetainfoFoundSupportedPlatform) - message(FATAL_ERROR "Your current platform '${CMAKE_SYSTEM_NAME}' is not supported. The list of supported platorms is '${_MetainfoSupportedPlatforms}'.If you think this is a mistake or you are working on enabling the platform please build with the KF_IGNORE_PLATFORM_CHECK variable set to true") + message(WARNING "Your current platform '${CMAKE_SYSTEM_NAME}' is not supported. The list of supported platorms is '${_MetainfoSupportedPlatforms}'.If you think this is a mistake or you are working on enabling the platform please build with the KF_IGNORE_PLATFORM_CHECK variable set to true") endif() endif() -- 2.52.0 From af05c682fd15cd5a11de9ab234135cebd1231756 Mon Sep 17 00:00:00 2001 From: Luc Schrijvers Date: Tue, 20 May 2025 16:21:06 +0200 Subject: Fix hardcoded paths, we don't use /usr/* diff --git a/kde-modules/prefix.sh.cmake b/kde-modules/prefix.sh.cmake index 43b41e9..7658826 100644 --- a/kde-modules/prefix.sh.cmake +++ b/kde-modules/prefix.sh.cmake @@ -3,14 +3,14 @@ export PATH=@KDE_INSTALL_FULL_BINDIR@:$PATH # LD_LIBRARY_PATH only needed if you are building without rpath # export LD_LIBRARY_PATH=@KDE_INSTALL_FULL_LIBDIR@:$LD_LIBRARY_PATH -export XDG_DATA_DIRS=@KDE_INSTALL_FULL_DATADIR@:${XDG_DATA_DIRS:-/usr/local/share:/usr/share} -export XDG_CONFIG_DIRS=@KDE_INSTALL_FULL_CONFDIR@:${XDG_CONFIG_DIRS:-/etc/xdg} +export XDG_DATA_DIRS=@KDE_INSTALL_FULL_DATADIR@:${XDG_DATA_DIRS:-/boot/system/non-packaged/data:/boot/system/data} +export XDG_CONFIG_DIRS=@KDE_INSTALL_FULL_CONFDIR@:${XDG_CONFIG_DIRS:-/boot/system/settings/xdg} export QT_PLUGIN_PATH=@KDE_INSTALL_FULL_QTPLUGINDIR@:$QT_PLUGIN_PATH export QML2_IMPORT_PATH=@KDE_INSTALL_FULL_QMLDIR@:$QML2_IMPORT_PATH export QT_QUICK_CONTROLS_STYLE_PATH=@KDE_INSTALL_FULL_QMLDIR@/QtQuick/Controls.2/:$QT_QUICK_CONTROLS_STYLE_PATH -export MANPATH=@KDE_INSTALL_FULL_DATADIR@/man:${MANPATH:-/usr/local/share/man:/usr/share/man} +export MANPATH=@KDE_INSTALL_FULL_DATADIR@/man:${MANPATH:-/boot/home/config/non-packaged/documentation/man:/boot/system/documentation/man} -export SASL_PATH=@KDE_INSTALL_FULL_LIBDIR@/sasl2:${SASL_PATH:-/usr/@CMAKE_INSTALL_LIBDIR@/sasl2} +export SASL_PATH=@KDE_INSTALL_FULL_LIBDIR@/sasl2:${SASL_PATH:-${CMAKE_INSTALL_LIBDIR}/sasl2} diff --git a/kde-modules/prefix.sh.fish.cmake b/kde-modules/prefix.sh.fish.cmake index d59c1b8..e6aa25f 100644 --- a/kde-modules/prefix.sh.fish.cmake +++ b/kde-modules/prefix.sh.fish.cmake @@ -7,12 +7,12 @@ set PATH "@KDE_INSTALL_FULL_BINDIR@:$PATH" # set -x LD_LIBRARY_PATH "@KDE_INSTALL_FULL_LIBDIR@:$LD_LIBRARY_PATH" if test -z "$XDG_DATA_DIRS" - set -x --path XDG_DATA_DIRS /usr/local/share/ /usr/share/ + set -x --path XDG_DATA_DIRS /boot/system/non-packaged/data:/boot/system/data end set -x --path XDG_DATA_DIRS "@KDE_INSTALL_FULL_DATADIR@" $XDG_DATA_DIRS if test -z "$XDG_CONFIG_DIRS" - set -x --path XDG_CONFIG_DIRS /etc/xdg + set -x --path XDG_CONFIG_DIRS /boot/system/settings/xdg end set -x --path XDG_CONFIG_DIRS "@KDE_INSTALL_FULL_CONFDIR@" $XDG_CONFIG_DIRS -- 2.52.0 From 488958dd6b61597cf0b345dcce67acd05247518d Mon Sep 17 00:00:00 2001 From: Luc Schrijvers Date: Thu, 16 Oct 2025 14:39:36 +0200 Subject: Set QTPLUGINDIR,QMLDIR and QCHDIR for Haiku Also set default path for DATAROOTDIR and INCLUDEDIR diff --git a/kde-modules/KDEInstallDirs5.cmake b/kde-modules/KDEInstallDirs5.cmake index a346c4d..604ae08 100644 --- a/kde-modules/KDEInstallDirs5.cmake +++ b/kde-modules/KDEInstallDirs5.cmake @@ -243,6 +243,8 @@ include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake) if(WIN32) _define_non_cache(LIBEXECDIR_KF5 "${CMAKE_INSTALL_LIBEXECDIR}") +elseif(HAIKU) + _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBDIR}/kf5") else() _define_non_cache(LIBEXECDIR_KF5 "${CMAKE_INSTALL_LIBEXECDIR}/kf5") endif() @@ -297,17 +299,31 @@ else() set(_pluginsDirParent) #androiddeployqt wants plugins right in the prefix endif() - _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins" - "Qt plugins" - QT_PLUGIN_INSTALL_DIR) - - _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports" - "QtQuick1 imports" - IMPORTS_INSTALL_DIR) - - _define_relative(QMLDIR LIBDIR "qml" - "QtQuick2 imports" - QML_INSTALL_DIR) + if (HAIKU) + set(_pluginsDirParent) + #haikudeployqt wants plugins right in the prefix + _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "add-ons/Qt5" + "Qt plugins") + + _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports" + "QtQuick1 imports" + IMPORTS_INSTALL_DIR) + + _define_relative(QMLDIR DATADIR "Qt5/qml" + "QtQuick2 imports") + else() + _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins" + "Qt plugins" + QT_PLUGIN_INSTALL_DIR) + + _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports" + "QtQuick1 imports" + IMPORTS_INSTALL_DIR) + + _define_relative(QMLDIR LIBDIR "qml" + "QtQuick2 imports" + QML_INSTALL_DIR) + endif() endif() _define_relative(PLUGINDIR QTPLUGINDIR "" @@ -332,8 +348,16 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS) _define_absolute(QTQCHDIR ${qt_docs_dir} "documentation bundles in QCH format for Qt-extending libraries") else() - _define_relative(QTQCHDIR DATAROOTDIR "doc/qch" - "documentation bundles in QCH format for Qt-extending libraries") + set(_qchDirParent DATAROOTDIR) + if(HAIKU) + set(_qchDirParent) + #haikudeployqt wants documentation right in the prefix + _define_relative(QTQCHDIR "${_qchDirParent}" "documentation/packages/qt6_base" + "documentation bundles in QCH format for Qt-extending libraries") + else() + _define_relative(QTQCHDIR "${_qchDirParent}" "doc/qch" + "documentation bundles in QCH format for Qt-extending libraries") + endif() endif() diff --git a/kde-modules/KDEInstallDirs6.cmake b/kde-modules/KDEInstallDirs6.cmake index 792b5b9..155f339 100644 --- a/kde-modules/KDEInstallDirs6.cmake +++ b/kde-modules/KDEInstallDirs6.cmake @@ -202,6 +202,8 @@ include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake) if(WIN32) _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}") +elseif(HAIKU) + _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBDIR}/kf6") else() _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}/kf6") endif() @@ -246,11 +248,21 @@ else() set(_pluginsDirParent) #androiddeployqt wants plugins right in the prefix endif() - _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins" - "Qt plugins") - - _define_relative(QMLDIR LIBDIR "qml" - "QtQuick2 imports") + if (HAIKU) + set(_pluginsDirParent) + #haikudeployqt wants plugins right in the prefix + _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "add-ons/Qt6" + "Qt plugins") + + _define_relative(QMLDIR DATADIR "Qt6/qml" + "QtQuick2 imports") + else() + _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins" + "Qt plugins") + + _define_relative(QMLDIR LIBDIR "qml" + "QtQuick2 imports") + endif() endif() _define_relative(PLUGINDIR QTPLUGINDIR "" @@ -266,8 +278,16 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS) _define_absolute(QTQCHDIR ${qt_docs_dir} "documentation bundles in QCH format for Qt-extending libraries") else() - _define_relative(QTQCHDIR DATAROOTDIR "doc/qch" - "documentation bundles in QCH format for Qt-extending libraries") + set(_qchDirParent DATAROOTDIR) + if(HAIKU) + set(_qchDirParent) + #haikudeployqt wants documentation right in the prefix + _define_relative(QTQCHDIR "${_qchDirParent}" "documentation/packages/qt6_base" + "documentation bundles in QCH format for Qt-extending libraries") + else() + _define_relative(QTQCHDIR "${_qchDirParent}" "doc/qch" + "documentation bundles in QCH format for Qt-extending libraries") + endif() endif() diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake index 30726b7..2bc4f47 100644 --- a/kde-modules/KDEInstallDirsCommon.cmake +++ b/kde-modules/KDEInstallDirsCommon.cmake @@ -266,6 +266,10 @@ if(WIN32) _define_relative(LIBEXECDIR BINDIR "" "executables for internal use by programs and libraries" LIBEXEC_INSTALL_DIR) +elseif(HAIKU) + _define_relative(LIBEXECDIR LIBDIR "" + "executables for internal use by programs and libraries" + LIBEXEC_INSTALL_DIR) else() _define_relative(LIBEXECDIR LIBDIR "libexec" "executables for internal use by programs and libraries" @@ -276,9 +280,15 @@ _define_relative(CMAKEPACKAGEDIR LIBDIR "cmake" "CMake packages, including config files" CMAKECONFIG_INSTALL_PREFIX) +if(HAIKU) +_define_absolute(INCLUDEDIR "develop/headers" + "C and C++ header files" + INCLUDE_INSTALL_DIR) +else() _define_absolute(INCLUDEDIR "include" "C and C++ header files" INCLUDE_INSTALL_DIR) +endif() set(_default_localstate_dir "var") if (CMAKE_INSTALL_PREFIX STREQUAL "/usr") @@ -295,6 +305,10 @@ if (WIN32) _define_relative(DATAROOTDIR BINDIR "data" "read-only architecture-independent data root" SHARE_INSTALL_PREFIX) +elseif(HAIKU) + _define_absolute(DATAROOTDIR "data" + "read-only architecture-independent data root" + SHARE_INSTALL_PREFIX) else() _define_absolute(DATAROOTDIR "share" "read-only architecture-independent data root" @@ -352,8 +366,13 @@ _define_relative(MIMEDIR DATAROOTDIR "mime/packages" XDG_MIME_INSTALL_DIR) _define_relative(METAINFODIR DATAROOTDIR "metainfo" "AppStream component metadata") +if(HAIKU) +_define_relative(QCHDIR DATAROOTDIR "documentation/packages/qt6_base" + "documentation bundles in QCH format") +else() _define_relative(QCHDIR DATAROOTDIR "doc/qch" "documentation bundles in QCH format") +endif() _define_relative(MANDIR DATAROOTDIR "man" "man documentation" MAN_INSTALL_DIR) -- 2.52.0