aports/testing/cpu-x/fix-x86.patch

94 lines
3.8 KiB
Diff

Patch-Source: https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/commit/b32f05bc1a8ecc56d4ca7eb749168c1219881307
---
From b32f05bc1a8ecc56d4ca7eb749168c1219881307 Mon Sep 17 00:00:00 2001
From: The Tumultuous Unicorn Of Darkness
<the-tumultuous-unicorn-of-darkness@gmx.com>
Date: Sat, 22 Mar 2025 10:52:30 +0100
Subject: [PATCH] [CMake] Fix build for i686 CPUs
Fix #376
---
CMakeLists.txt | 23 +++++++++++++++++++----
src/CMakeLists.txt | 8 ++++----
2 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f72b93f..35cf3700 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,12 +8,27 @@ project(cpu-x
LANGUAGES C CXX
)
+# Check for x86 CPU
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$|(x86)|(X86)")
+ set(CPU_ISA_X86 TRUE)
+else()
+ set(CPU_ISA_X86 FALSE)
+endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$|(x86)|(X86)")
+
+# Check for ARM CPU
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64")
+ set(CPU_ISA_ARM TRUE)
+else()
+ set(CPU_ISA_ARM FALSE)
+endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64")
+
+# Check if platform is supported
if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD")
message(WARNING "'${CMAKE_SYSTEM_NAME}' system is not officially supported by CPU-X, some features will not be available.")
endif(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD")
-if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)|^armv.*|aarch64")
+if(NOT CPU_ISA_X86 AND NOT CPU_ISA_ARM)
message(FATAL_ERROR "'${CMAKE_SYSTEM_PROCESSOR}' processor is not supported by CPU-X.")
-endif(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)|^armv.*|aarch64")
+endif(NOT CPU_ISA_X86 AND NOT CPU_ISA_ARM)
### DEFAULT CONFIG
@@ -71,11 +86,11 @@ option(WITH_OPENCL "Use OpenCL library"
option(WITH_LIBPROCPS "Use Libprocps library" ON)
option(WITH_LIBSTATGRAB "Use Libstatgrab library" ON)
option(WITH_DMIDECODE "Built-in Dmidecode" ON)
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
+if(CPU_ISA_X86)
option(WITH_BANDWIDTH "Built-in Bandwidth" ON) # Bandwidth is only supported on x86 CPUs (requires cache size)
else()
set(WITH_BANDWIDTH OFF)
-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
+endif(CPU_ISA_X86)
option(FORCE_LIBSTATGRAB "Force use of Libstatgrab instead of Libprocps (GNU/Linux system)" OFF)
option(APPIMAGE "Enable workarounds for AppImage" OFF)
option(FLATPAK "Enable workarounds for Flatpak" OFF)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c99c52ef..418feca1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -141,13 +141,13 @@ if(WITH_DMIDECODE)
endif(WITH_DMIDECODE)
# Bandwidth
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)" AND WITH_BANDWIDTH)
+if(CPU_ISA_X86 AND WITH_BANDWIDTH)
add_subdirectory(core/bandwidth)
if(BANDWIDTH_FOUND)
include_directories(core/bandwidth)
set(BANDWIDTH_LIBRARIES "bandwidth")
endif(BANDWIDTH_FOUND)
-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)" AND WITH_BANDWIDTH)
+endif(CPU_ISA_X86 AND WITH_BANDWIDTH)
### FINAL CONFIG
@@ -332,9 +332,9 @@ if(${LIBSYSTEM} EQUAL 0 OR ${LIBSYSTEM} EQUAL 2) # When Libstatgrab is used
endif()
# ARM CPUs workarounds
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
+if(CPU_ISA_ARM AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(OTHER_LIBRARIES "-latomic")
-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
+endif(CPU_ISA_ARM AND CMAKE_SYSTEM_NAME MATCHES "Linux")
# AppImage workarounds
if(APPIMAGE)