projects/aports·blob master · refs

94 lines · 3.8 KiB

1Patch-Source: https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/commit/b32f05bc1a8ecc56d4ca7eb749168c1219881307
2---
3From b32f05bc1a8ecc56d4ca7eb749168c1219881307 Mon Sep 17 00:00:00 2001
4From: The Tumultuous Unicorn Of Darkness
5 <[email protected]>
6Date: Sat, 22 Mar 2025 10:52:30 +0100
7Subject: [PATCH] [CMake] Fix build for i686 CPUs
8
9Fix #376
10---
11 CMakeLists.txt | 23 +++++++++++++++++++----
12 src/CMakeLists.txt | 8 ++++----
13 2 files changed, 23 insertions(+), 8 deletions(-)
14
15diff --git a/CMakeLists.txt b/CMakeLists.txt
16index 6f72b93f..35cf3700 100644
17--- a/CMakeLists.txt
18+++ b/CMakeLists.txt
19@@ -8,12 +8,27 @@ project(cpu-x
20 LANGUAGES C CXX
21 )
22
23+# Check for x86 CPU
24+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$|(x86)|(X86)")
25+ set(CPU_ISA_X86 TRUE)
26+else()
27+ set(CPU_ISA_X86 FALSE)
28+endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$|(x86)|(X86)")
29+
30+# Check for ARM CPU
31+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64")
32+ set(CPU_ISA_ARM TRUE)
33+else()
34+ set(CPU_ISA_ARM FALSE)
35+endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64")
36+
37+# Check if platform is supported
38 if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD")
39 message(WARNING "'${CMAKE_SYSTEM_NAME}' system is not officially supported by CPU-X, some features will not be available.")
40 endif(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD")
41-if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)|^armv.*|aarch64")
42+if(NOT CPU_ISA_X86 AND NOT CPU_ISA_ARM)
43 message(FATAL_ERROR "'${CMAKE_SYSTEM_PROCESSOR}' processor is not supported by CPU-X.")
44-endif(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)|^armv.*|aarch64")
45+endif(NOT CPU_ISA_X86 AND NOT CPU_ISA_ARM)
46
47
48 ### DEFAULT CONFIG
49@@ -71,11 +86,11 @@ option(WITH_OPENCL "Use OpenCL library"
50 option(WITH_LIBPROCPS "Use Libprocps library" ON)
51 option(WITH_LIBSTATGRAB "Use Libstatgrab library" ON)
52 option(WITH_DMIDECODE "Built-in Dmidecode" ON)
53-if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
54+if(CPU_ISA_X86)
55 option(WITH_BANDWIDTH "Built-in Bandwidth" ON) # Bandwidth is only supported on x86 CPUs (requires cache size)
56 else()
57 set(WITH_BANDWIDTH OFF)
58-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
59+endif(CPU_ISA_X86)
60 option(FORCE_LIBSTATGRAB "Force use of Libstatgrab instead of Libprocps (GNU/Linux system)" OFF)
61 option(APPIMAGE "Enable workarounds for AppImage" OFF)
62 option(FLATPAK "Enable workarounds for Flatpak" OFF)
63diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
64index c99c52ef..418feca1 100644
65--- a/src/CMakeLists.txt
66+++ b/src/CMakeLists.txt
67@@ -141,13 +141,13 @@ if(WITH_DMIDECODE)
68 endif(WITH_DMIDECODE)
69
70 # Bandwidth
71-if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)" AND WITH_BANDWIDTH)
72+if(CPU_ISA_X86 AND WITH_BANDWIDTH)
73 add_subdirectory(core/bandwidth)
74 if(BANDWIDTH_FOUND)
75 include_directories(core/bandwidth)
76 set(BANDWIDTH_LIBRARIES "bandwidth")
77 endif(BANDWIDTH_FOUND)
78-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)" AND WITH_BANDWIDTH)
79+endif(CPU_ISA_X86 AND WITH_BANDWIDTH)
80
81
82 ### FINAL CONFIG
83@@ -332,9 +332,9 @@ if(${LIBSYSTEM} EQUAL 0 OR ${LIBSYSTEM} EQUAL 2) # When Libstatgrab is used
84 endif()
85
86 # ARM CPUs workarounds
87-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
88+if(CPU_ISA_ARM AND CMAKE_SYSTEM_NAME MATCHES "Linux")
89 set(OTHER_LIBRARIES "-latomic")
90-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv.*|aarch64" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
91+endif(CPU_ISA_ARM AND CMAKE_SYSTEM_NAME MATCHES "Linux")
92
93 # AppImage workarounds
94 if(APPIMAGE)