mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
cmake, add RC 4.1.0-rc1, 64bit for testing (#12529)
This commit is contained in:
166
dev-build/cmake/cmake4-4.1.0~rc1.recipe
Normal file
166
dev-build/cmake/cmake4-4.1.0~rc1.recipe
Normal file
@@ -0,0 +1,166 @@
|
||||
SUMMARY="A cross-platform build system"
|
||||
DESCRIPTION="CMake is a family of tools designed to build, test and package \
|
||||
software. It is used to control the software compilation process using \
|
||||
simple platform and compiler independent configuration files. CMake generates \
|
||||
native makefiles and workspaces that can be used in the compiler environment \
|
||||
of your choice."
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
COPYRIGHT="2002-2025 Kitware, Inc., Insight Consortium"
|
||||
LICENSE="CMake"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/Kitware/CMake/releases/download/v4.1.0-rc1/cmake-4.1.0-rc1.tar.gz"
|
||||
CHECKSUM_SHA256="dfe019949335b80d258d4b4f24d6cbf9d730b396ecdefc033d955641ff056ab1"
|
||||
SOURCE_DIR="cmake-4.1.0-rc1"
|
||||
PATCHES="cmake-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
cmake4$secondaryArchSuffix = $portVersionCompat
|
||||
cmd:ccmake = $portVersionCompat
|
||||
cmd:cmake = $portVersionCompat
|
||||
cmd:cpack = $portVersionCompat
|
||||
cmd:ctest = $portVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libarchive$secondaryArchSuffix
|
||||
# lib:libcppdap$secondaryArchSuffix # use the embedded copy to avoid circular deps.
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libexpat$secondaryArchSuffix
|
||||
lib:libjsoncpp$secondaryArchSuffix
|
||||
lib:libform$secondaryArchSuffix # from ncurses.
|
||||
lib:libncurses$secondaryArchSuffix
|
||||
lib:librhash$secondaryArchSuffix
|
||||
lib:libstdc++$secondaryArchSuffix
|
||||
lib:libuv$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
# Theres are never linked to the resulting "cmds:"s. See note on BUILD_REQUIRES.
|
||||
# lib:libbz2$secondaryArchSuffix
|
||||
# lib:liblzma$secondaryArchSuffix
|
||||
# lib:libnghttp2$secondaryArchSuffix
|
||||
# lib:libzstd$secondaryArchSuffix
|
||||
"
|
||||
CONFLICTS="
|
||||
cmake$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libarchive$secondaryArchSuffix
|
||||
# devel:libcppdap$secondaryArchSuffix # use the embedded copy to avoid circular deps.
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libexpat$secondaryArchSuffix
|
||||
devel:libjsoncpp$secondaryArchSuffix >= 25
|
||||
devel:libncurses$secondaryArchSuffix
|
||||
devel:librhash$secondaryArchSuffix
|
||||
devel:libuv$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:nlohmann_json
|
||||
# The following do not appear to be used, nor with --system-libs, nor by enabling them
|
||||
# individually. Leaving them here just because they are mentioned in ./configure --help
|
||||
# and during the build process' output.
|
||||
# devel:libbz2$secondaryArchSuffix
|
||||
# devel:liblzma$secondaryArchSuffix
|
||||
# devel:libnghttp2$secondaryArchSuffix
|
||||
# devel:libzstd$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:grep
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:sed
|
||||
cmd:which
|
||||
"
|
||||
|
||||
defineDebugInfoPackage cmake4$secondaryArchSuffix \
|
||||
$prefix/bin/ccmake \
|
||||
$prefix/bin/cmake \
|
||||
$prefix/bin/cpack \
|
||||
$prefix/bin/ctest
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export LDFLAGS="-lbsd"
|
||||
|
||||
# not an autotools configure
|
||||
# --system-libs doesn't allow --no-system-* overrides
|
||||
./configure --prefix=$prefix \
|
||||
--datadir=/$relativeDataDir/cmake \
|
||||
--docdir=/$relativeDocDir \
|
||||
--mandir=/$relativeManDir \
|
||||
--xdgdatadir=/$relativeDataDir \
|
||||
--no-system-libs \
|
||||
--system-curl \
|
||||
--system-expat \
|
||||
--system-jsoncpp \
|
||||
--system-libarchive \
|
||||
--system-librhash \
|
||||
--system-libuv \
|
||||
--system-zlib \
|
||||
--bootstrap-system-libuv \
|
||||
--bootstrap-system-jsoncpp \
|
||||
--bootstrap-system-librhash \
|
||||
--parallel=${jobArgs#-j}
|
||||
# These do not seem to be used anyway (libarchive at least links to libz/libzstd):
|
||||
# --system-bzip2 --system-liblzma --system-zstd, --system-nghttp2
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
}
|
||||
|
||||
# For reference: version 3.30.3
|
||||
# x86_32 (for a build with cmake-gui). Took around 140 minutes.
|
||||
# 72% tests passed, 189 tests failed out of 676
|
||||
#
|
||||
# version 4.1.0-rc1: x86_64.
|
||||
# 95% tests passed, 31 tests failed out of 628
|
||||
# The following tests FAILED:
|
||||
# 5 - kwsys.testSystemTools (Failed)
|
||||
# 24 - FindPackageCMakeTest (Failed)
|
||||
# 25 - FindPackageCpsTest (Failed)
|
||||
# 57 - ExportImport (Failed) CUDA
|
||||
# 66 - StagingPrefix (Failed)
|
||||
# 80 - Module.ExternalData (Failed)
|
||||
# 137 - ExternalProjectLocal (Failed)
|
||||
# 140 - InstallMode-COPY (Failed)
|
||||
# 141 - InstallMode-REL_SYMLINK (Failed)
|
||||
# 142 - InstallMode-REL_SYMLINK_OR_COPY (Failed)
|
||||
# 143 - InstallMode-ABS_SYMLINK (Failed)
|
||||
# 144 - InstallMode-ABS_SYMLINK_OR_COPY (Failed)
|
||||
# 145 - InstallMode-SYMLINK (Failed)
|
||||
# 146 - InstallMode-SYMLINK_OR_COPY (Failed)
|
||||
# 179 - CTestCoverageCollectGCOV (Failed)
|
||||
# 221 - CTestTestTimeout (Failed)
|
||||
# 259 - CMakeLib.testUVProcessChain (Failed)
|
||||
# 409 - RunCMake.ParseImplicitLinkInfo (Failed)
|
||||
# 420 - RunCMake.find_dependency (Failed)
|
||||
# 469 - RunCMake.file (Failed)
|
||||
# 471 - RunCMake.file-DOWNLOAD (Failed)
|
||||
# 476 - RunCMake.find_library (Failed)
|
||||
# 477 - RunCMake.find_package (Failed)
|
||||
# 516 - RunCMake.no_install_prefix (Failed)
|
||||
# 518 - RunCMake.CTestTimeout (Failed)
|
||||
# 524 - RunCMake.FindPkgConfig (Failed)
|
||||
# 527 - RunCMake.File_Archive (Failed)
|
||||
# 546 - RunCMake.target_sources (Failed)
|
||||
# 552 - RunCMake.CommandLine (Failed)
|
||||
# 553 - RunCMake.CommandLineTar (Failed)
|
||||
# 554 - RunCMake.install (Failed) ISPC
|
||||
TEST()
|
||||
{
|
||||
# 2 tests crash (1 test case has 5 crashes, but passes the test?), exclude with -E
|
||||
./bin/ctest --output-on-failure -E "(CMakeLib.testUVProcessChain|RunCMake.execute_process)"
|
||||
# run individual failing test(s) with -R
|
||||
# ./bin/ctest -R "(kwsys.testSystemTools|FindPackageCMakeTest)" --output-on-failure
|
||||
}
|
||||
135
dev-build/cmake/cmake4_gui-4.1.0~rc1.recipe
Normal file
135
dev-build/cmake/cmake4_gui-4.1.0~rc1.recipe
Normal file
@@ -0,0 +1,135 @@
|
||||
SUMMARY="A cross-platform build system (GUI version)"
|
||||
DESCRIPTION="CMake is a family of tools designed to build, test and package \
|
||||
software. It is used to control the software compilation process using \
|
||||
simple platform and compiler independent configuration files. CMake generates \
|
||||
native makefiles and workspaces that can be used in the compiler environment \
|
||||
of your choice.
|
||||
|
||||
This package provides the GUI version of CMake (cmake-gui). It must be \
|
||||
installed in the same prefix as the main cmake package."
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
COPYRIGHT="2002-2025 Kitware, Inc., Insight Consortium"
|
||||
LICENSE="CMake"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/Kitware/CMake/releases/download/v4.1.0-rc1/cmake-4.1.0-rc1.tar.gz"
|
||||
CHECKSUM_SHA256="dfe019949335b80d258d4b4f24d6cbf9d730b396ecdefc033d955641ff056ab1"
|
||||
SOURCE_DIR="cmake-4.1.0-rc1"
|
||||
PATCHES="cmake-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="cmake.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
cmake4_gui$secondaryArchSuffix = $portVersion
|
||||
cmd:cmake_gui = $portVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
cmake4$secondaryArchSuffix
|
||||
lib:libarchive$secondaryArchSuffix
|
||||
lib:libcppdap$secondaryArchSuffix
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libexpat$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libjsoncpp$secondaryArchSuffix
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
lib:librhash$secondaryArchSuffix
|
||||
lib:libstdc++$secondaryArchSuffix
|
||||
lib:libuv$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
# Earlier versions of the gui package came from just one recipe named "cmake".
|
||||
if [ -n "$secondaryArchSuffix" ]; then
|
||||
REPLACES="cmake${secondaryArchSuffix}_gui"
|
||||
fi
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libarchive$secondaryArchSuffix
|
||||
devel:libcppdap$secondaryArchSuffix
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libncurses$secondaryArchSuffix
|
||||
devel:libexpat$secondaryArchSuffix
|
||||
devel:libjsoncpp$secondaryArchSuffix >= 25
|
||||
devel:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Gui$secondaryArchSuffix
|
||||
devel:libQt6Widgets$secondaryArchSuffix
|
||||
devel:librhash$secondaryArchSuffix
|
||||
devel:libuv$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:nlohmann_json
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmake4$secondaryArchSuffix == $portVersion
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:grep
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:sed
|
||||
"
|
||||
|
||||
defineDebugInfoPackage cmake4_gui$secondaryArchSuffix \
|
||||
$prefix/bin/cmake-gui
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# the CMAKE_*_DIR variables should match the definitions in the cmake recipe
|
||||
cmake -Bbuild-gui -S. $cmakeDirArgs \
|
||||
-DCMAKE_INSTALL_BINDIR=bin \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DBUILD_CursesDialog=OFF \
|
||||
-DBUILD_QtDialog=ON \
|
||||
-DCMAKE_DATA_DIR=/$relativeDataDir/cmake \
|
||||
-DCMAKE_DOC_DIR=/$relativeDocumentationDir/packages/cmake \
|
||||
-DCMAKE_MAN_DIR=/$relativeManDir \
|
||||
-DCMAKE_XDGDATA_DIR=/$relativeDataDir \
|
||||
-DCMAKE_USE_SYSTEM_BZIP2=ON \
|
||||
-DCMAKE_USE_SYSTEM_CPPDAP=ON \
|
||||
-DCMAKE_USE_SYSTEM_CURL=ON \
|
||||
-DCMAKE_USE_SYSTEM_EXPAT=ON \
|
||||
-DCMAKE_USE_SYSTEM_FORM=ON \
|
||||
-DCMAKE_USE_SYSTEM_JSONCPP=ON \
|
||||
-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON \
|
||||
-DCMAKE_USE_SYSTEM_LIBLZMA=ON \
|
||||
-DCMAKE_USE_SYSTEM_LIBRHASH=ON \
|
||||
-DCMAKE_USE_SYSTEM_LIBUV=ON \
|
||||
-DCMAKE_USE_SYSTEM_NGHTTP2=ON \
|
||||
-DCMAKE_USE_SYSTEM_ZLIB=ON \
|
||||
-DCMAKE_USE_SYSTEM_ZSTD=ON
|
||||
|
||||
make -Cbuild-gui/Source/QtDialog $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# make install tries to use a local cmake, which isn't built, use the system version instead
|
||||
ln -sf /boot/system/bin/cmake build-gui/bin
|
||||
|
||||
make -Cbuild-gui/Source/QtDialog install
|
||||
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
|
||||
local APP_NAME="CMake-GUI"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
local APP_SIGNATURE="application/x-vnd.cmake-gui"
|
||||
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
-e "s|@APP_NAME@|$APP_NAME|" \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
$portDir/additional-files/cmake.rdef.in > cmake.rdef
|
||||
|
||||
addResourcesToBinaries cmake.rdef $prefix/bin/cmake-gui
|
||||
addAppDeskbarSymlink $prefix/bin/cmake-gui CMake-GUI
|
||||
}
|
||||
328
dev-build/cmake/patches/cmake-4.1.0~rc1.patchset
Normal file
328
dev-build/cmake/patches/cmake-4.1.0~rc1.patchset
Normal file
@@ -0,0 +1,328 @@
|
||||
From e02bb888e518ca5961c8a7d2f10d9903469c19fb Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 7 Sep 2019 17:29:56 +0200
|
||||
Subject: links against libnetwork
|
||||
|
||||
|
||||
diff --git a/bootstrap b/bootstrap
|
||||
index 2ec6aac..bcdc2e2 100755
|
||||
--- a/bootstrap
|
||||
+++ b/bootstrap
|
||||
@@ -1792,6 +1792,9 @@ else
|
||||
uv_c_flags="${uv_c_flags} -D_XOPEN_SOURCE=700"
|
||||
libs="${libs} -lsocket"
|
||||
;;
|
||||
+ *Haiku*)
|
||||
+ libs="${libs} -lnetwork"
|
||||
+ ;;
|
||||
esac
|
||||
fi
|
||||
if test "x${bootstrap_system_libuv}" = "x"; then
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 4d0b6bcc23d37a10be5eb29e72ec6833c2f5c9e8 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 7 Sep 2019 23:46:47 +0200
|
||||
Subject: bootstrap uses cmlibuv
|
||||
|
||||
|
||||
diff --git a/Utilities/cmlibuv/src/unix/core.c b/Utilities/cmlibuv/src/unix/core.c
|
||||
index 83e8b61..314f239 100644
|
||||
--- a/Utilities/cmlibuv/src/unix/core.c
|
||||
+++ b/Utilities/cmlibuv/src/unix/core.c
|
||||
@@ -1440,7 +1440,9 @@ int uv_os_getpriority(uv_pid_t pid, int* priority) {
|
||||
return UV_EINVAL;
|
||||
|
||||
errno = 0;
|
||||
+#ifndef __HAIKU__
|
||||
r = getpriority(PRIO_PROCESS, (int) pid);
|
||||
+#endif
|
||||
|
||||
if (r == -1 && errno != 0)
|
||||
return UV__ERR(errno);
|
||||
@@ -1454,8 +1456,10 @@ int uv_os_setpriority(uv_pid_t pid, int priority) {
|
||||
if (priority < UV_PRIORITY_HIGHEST || priority > UV_PRIORITY_LOW)
|
||||
return UV_EINVAL;
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
if (setpriority(PRIO_PROCESS, (int) pid, priority) != 0)
|
||||
return UV__ERR(errno);
|
||||
+#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 5db1afb3792bb3a9c13ba535ee62a41bb6c0a3e5 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Fri, 21 Feb 2020 15:38:39 -0500
|
||||
Subject: Modules/Haiku: Set CMAKE_SYSTEM_FRAMEWORK_PATH.
|
||||
|
||||
|
||||
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
|
||||
index 3610389..9ba64b0 100644
|
||||
--- a/Modules/Platform/Haiku.cmake
|
||||
+++ b/Modules/Platform/Haiku.cmake
|
||||
@@ -117,6 +117,9 @@ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
|
||||
|
||||
list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES})
|
||||
|
||||
+# This is needed for find_package to search develop/lib/cmake/.
|
||||
+list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH /boot/system/develop /boot/system/non-packaged/develop)
|
||||
+
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX "/boot/system" CACHE PATH
|
||||
"Install path prefix, prepended onto install directories." FORCE)
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 209801edd862e01620a2ed121b616ab010ca8ada Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Thu, 15 Apr 2021 21:09:12 +0200
|
||||
Subject: disable dependency tracking for older GNU compilers
|
||||
|
||||
|
||||
diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
|
||||
index 141838e..1c90942 100644
|
||||
--- a/Modules/Compiler/GNU.cmake
|
||||
+++ b/Modules/Compiler/GNU.cmake
|
||||
@@ -51,7 +51,9 @@ macro(__compiler_gnu lang)
|
||||
# distcc does not transform -o to -MT when invoking the preprocessor
|
||||
# internally, as it ought to. Work around this bug by setting -MT here
|
||||
# even though it isn't strictly necessary.
|
||||
- set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
|
||||
+ if(NOT CMAKE_${lang}_COMPILER_ID STREQUAL "GNU" OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.0)
|
||||
+ set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# Initial configuration flags.
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From a24ea705e2a097f25488f3cd15ef7bcbcd82589d Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 20 Oct 2021 14:28:22 +0200
|
||||
Subject: Haiku: fix install dirs, let FindPackage search in data/
|
||||
|
||||
|
||||
diff --git a/Source/CMakeInstallDestinations.cmake b/Source/CMakeInstallDestinations.cmake
|
||||
index e82bec3..0f8a620 100644
|
||||
--- a/Source/CMakeInstallDestinations.cmake
|
||||
+++ b/Source/CMakeInstallDestinations.cmake
|
||||
@@ -1,11 +1,11 @@
|
||||
# Keep formatting here consistent with bootstrap script expectations.
|
||||
if(BEOS)
|
||||
set(CMAKE_BIN_DIR_DEFAULT "bin") # HAIKU
|
||||
- set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
|
||||
+ set(CMAKE_DATA_DIR_DEFAULT "data/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
|
||||
set(CMAKE_DOC_DIR_DEFAULT "documentation/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
|
||||
set(CMAKE_INFO_DIR_DEFAULT "documentation/info") # HAIKU
|
||||
set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
|
||||
- set(CMAKE_XDGDATA_DIR_DEFAULT "share") # HAIKU
|
||||
+ set(CMAKE_XDGDATA_DIR_DEFAULT "data") # HAIKU
|
||||
elseif(CYGWIN)
|
||||
set(CMAKE_BIN_DIR_DEFAULT "bin") # CYGWIN
|
||||
set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION}") # CYGWIN
|
||||
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
|
||||
index 6201894..c06e7ad 100644
|
||||
--- a/Source/cmFindPackageCommand.cxx
|
||||
+++ b/Source/cmFindPackageCommand.cxx
|
||||
@@ -3294,7 +3294,11 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix)
|
||||
common.emplace_back("libx32"_s);
|
||||
}
|
||||
common.emplace_back("lib"_s);
|
||||
+#ifdef __HAIKU__
|
||||
+ common.emplace_back("data"_s);
|
||||
+#else
|
||||
common.emplace_back("share"_s);
|
||||
+#endif
|
||||
|
||||
auto commonGen = cmEnumPathSegmentsGenerator{ common };
|
||||
auto cmakeGen = cmAppendPathSegmentGenerator{ "cmake"_s };
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 5d46410ddf9bead94fda9a725930e49f9e41192f Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 23 Feb 2022 13:44:06 +0100
|
||||
Subject: Disable weak symbols; they do not seem to behave correctly.
|
||||
|
||||
|
||||
diff --git a/Utilities/cmzstd/lib/common/zstd_trace.h b/Utilities/cmzstd/lib/common/zstd_trace.h
|
||||
index da20534..97bcdc2 100644
|
||||
--- a/Utilities/cmzstd/lib/common/zstd_trace.h
|
||||
+++ b/Utilities/cmzstd/lib/common/zstd_trace.h
|
||||
@@ -29,7 +29,7 @@ extern "C" {
|
||||
defined(__GNUC__) && defined(__ELF__) && \
|
||||
(defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) || defined(__aarch64__)) && \
|
||||
!defined(__APPLE__) && !defined(_WIN32) && !defined(__MINGW32__) && \
|
||||
- !defined(__CYGWIN__) && !defined(_AIX)
|
||||
+ !defined(__CYGWIN__) && !defined(_AIX) && !defined(__HAIKU__)
|
||||
# define ZSTD_HAVE_WEAK_SYMBOLS 1
|
||||
#else
|
||||
# define ZSTD_HAVE_WEAK_SYMBOLS 0
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From d586aef6bed89544e4446d6fe24c809b7ce64244 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Fri, 9 Feb 2024 13:48:22 +0100
|
||||
Subject: Haiku: enable debugger
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index cab0fcb..919c3cc 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -140,7 +140,7 @@ option(CMake_BUILD_PCH "Compile CMake with precompiled headers" OFF)
|
||||
if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
||||
if(NOT DEFINED CMake_ENABLE_DEBUGGER)
|
||||
# The debugger uses cppdap, which does not compile everywhere.
|
||||
- if(CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin|Linux|BSD|DragonFly|CYGWIN|MSYS"
|
||||
+ if(CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin|Linux|BSD|DragonFly|CYGWIN|MSYS|Haiku"
|
||||
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.16)
|
||||
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.1)
|
||||
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "LCC" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 1.23)
|
||||
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
|
||||
index b1c8290..670fe25 100644
|
||||
--- a/Source/CMakeLists.txt
|
||||
+++ b/Source/CMakeLists.txt
|
||||
@@ -861,6 +861,9 @@ if(CMake_ENABLE_DEBUGGER)
|
||||
)
|
||||
endif()
|
||||
target_link_libraries(CMakeLib PUBLIC cppdap::cppdap)
|
||||
+ if(HAIKU)
|
||||
+ target_link_libraries(CMakeLib PUBLIC network)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# Check if we can build the Mach-O parser.
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 8d9c526763944fd45cb27ef6c4e770fa7bd53324 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?M=C3=A1ximo=20Casta=C3=B1eda?= <antiswen@yahoo.es>
|
||||
Date: Sat, 31 Aug 2024 21:52:20 +0200
|
||||
Subject: Fix build for non-x86 arches
|
||||
|
||||
|
||||
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
|
||||
index c65587e..35788be 100644
|
||||
--- a/Source/kwsys/SystemInformation.cxx
|
||||
+++ b/Source/kwsys/SystemInformation.cxx
|
||||
@@ -4996,6 +4996,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
|
||||
this->TotalVirtualMemory = 0;
|
||||
this->AvailableVirtualMemory = 0;
|
||||
|
||||
+#if defined(__i386__) || defined(__x86_64__)
|
||||
// Retrieve cpuid_info union for cpu 0
|
||||
cpuid_info cpu_info;
|
||||
get_cpuid(&cpu_info, 0, 0);
|
||||
@@ -5031,6 +5032,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
|
||||
|
||||
// Chip Extended Model
|
||||
this->ChipID.ExtendedModel = cpu_info.eax_1.extended_model;
|
||||
+#endif
|
||||
|
||||
// Get ChipID.ProcessorName from other information already gathered
|
||||
this->RetrieveClassicalCPUIdentity();
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 941be032b8e4ab52601a324561bd9560679e6326 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 25 Sep 2024 09:11:06 +0200
|
||||
Subject: FindPython: when component Development is searched, also search
|
||||
Interpreter
|
||||
|
||||
FindPython only uses the python config when an interpreter is found.
|
||||
The python config contains the right include paths on x86 for instance.
|
||||
|
||||
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
|
||||
index a944164..65fb255 100644
|
||||
--- a/Modules/FindPython/Support.cmake
|
||||
+++ b/Modules/FindPython/Support.cmake
|
||||
@@ -1484,6 +1484,9 @@ if ("NumPy" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS)
|
||||
endif()
|
||||
if ("Development" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS)
|
||||
list (APPEND ${_PYTHON_BASE}_FIND_COMPONENTS "Development.Module" "Development.Embed")
|
||||
+ if (HAIKU)
|
||||
+ list (APPEND ${_PYTHON_PREFIX}_FIND_COMPONENTS "Interpreter")
|
||||
+ endif()
|
||||
endif()
|
||||
list (REMOVE_DUPLICATES ${_PYTHON_BASE}_FIND_COMPONENTS)
|
||||
foreach (component IN ITEMS Interpreter Compiler Development Development.Module Development.SABIModule Development.Embed NumPy)
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From ba75d29dbc172d1356ed79b705521a9d72e0825b Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Mon, 23 Sep 2024 05:40:41 -0300
|
||||
Subject: Use 'headers' instead of 'include' as fallback.
|
||||
|
||||
Just a quick swap, to help CMake find Python's headers on 32 bits Haiku.
|
||||
(64 bits was working OK. See HaikuPorts issue #11155)
|
||||
|
||||
Not strictly needed after korli's previous fix, but... doesn't hurts.
|
||||
Kudos to madmax for this early workaround!
|
||||
|
||||
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
|
||||
index 65fb255..e25be91 100644
|
||||
--- a/Modules/FindPython/Support.cmake
|
||||
+++ b/Modules/FindPython/Support.cmake
|
||||
@@ -380,11 +380,11 @@ function (_PYTHON_GET_PATH_SUFFIXES _PYTHON_PGPS_PATH_SUFFIXES)
|
||||
elseif (_PGPS_INCLUDE)
|
||||
set (suffixes "${abi}")
|
||||
if (suffixes)
|
||||
- list (TRANSFORM suffixes PREPEND "include/python${version}")
|
||||
+ list (TRANSFORM suffixes PREPEND "headers/python${version}")
|
||||
else()
|
||||
- set (suffixes "include/python${version}")
|
||||
+ set (suffixes "headers/python${version}")
|
||||
endif()
|
||||
- list (APPEND path_suffixes ${suffixes} include)
|
||||
+ list (APPEND path_suffixes ${suffixes} headers)
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 967f90fc0c3ea9d778e412f6c51489a3c51b1abd Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Thu, 26 Sep 2024 15:16:36 -0300
|
||||
Subject: Avoid installing icons, .desktop, and mime files.
|
||||
|
||||
Those are intended for use on Linux and friends.
|
||||
|
||||
Fix by Begasus. Thanks!
|
||||
|
||||
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
|
||||
index 7f9e7f0..2a70689 100644
|
||||
--- a/Source/QtDialog/CMakeLists.txt
|
||||
+++ b/Source/QtDialog/CMakeLists.txt
|
||||
@@ -329,7 +329,7 @@ install(TARGETS cmake-gui
|
||||
RUNTIME DESTINATION bin ${COMPONENT}
|
||||
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" ${COMPONENT})
|
||||
|
||||
-if(UNIX AND NOT APPLE)
|
||||
+if(UNIX AND NOT APPLE AND NOT HAIKU)
|
||||
foreach(size IN ITEMS 32 128)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetup${size}.png"
|
||||
--
|
||||
2.48.1
|
||||
|
||||
Reference in New Issue
Block a user