| 1 | Patch-Source: https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/commit/b32f05bc1a8ecc56d4ca7eb749168c1219881307
|
| 2 | ---
|
| 3 | From b32f05bc1a8ecc56d4ca7eb749168c1219881307 Mon Sep 17 00:00:00 2001
|
| 4 | From: The Tumultuous Unicorn Of Darkness
|
| 5 | <[email protected]>
|
| 6 | Date: Sat, 22 Mar 2025 10:52:30 +0100
|
| 7 | Subject: [PATCH] [CMake] Fix build for i686 CPUs
|
| 8 |
|
| 9 | Fix #376
|
| 10 | ---
|
| 11 | CMakeLists.txt | 23 +++++++++++++++++++----
|
| 12 | src/CMakeLists.txt | 8 ++++----
|
| 13 | 2 files changed, 23 insertions(+), 8 deletions(-)
|
| 14 |
|
| 15 | diff --git a/CMakeLists.txt b/CMakeLists.txt
|
| 16 | index 6f72b93f..35cf3700 100644
|
| 17 | |
| 18 | |
| 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)
|
| 63 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
| 64 | index c99c52ef..418feca1 100644
|
| 65 | |
| 66 | |
| 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)
|