aboutsummaryrefslogtreecommitdiff
path: root/system/CPU-X/Fix-i586-build.patch
blob: 89a76e2865cdbf6950ec7ddd5a4d21c15fc2f186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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)