From 6bd933eba2c4f7b0e9775604d4f8d1445f398f94 Mon Sep 17 00:00:00 2001 From: Linus Dierheimer Date: Mon, 19 Sep 2022 22:23:31 +0200 Subject: [PATCH] Enable BSD support in CMake --- CMakeLists.txt | 70 ++++++++++++++++++++----------- src/detection/cpu/cpu_bsd.c | 13 ++++++ src/detection/memory/memory_bsd.c | 9 ++++ 3 files changed, 67 insertions(+), 25 deletions(-) create mode 100644 src/detection/cpu/cpu_bsd.c create mode 100644 src/detection/memory/memory_bsd.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 06bd2bdf0..de4dca54e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,11 +11,11 @@ project(fastfetch # Target Platform # ################### -if(APPLE OR ANDROID) - set(LINUX FALSE CACHE BOOL "..." FORCE) # Linux true means we have full linux userland, not just the kernel -elseif(UNIX) - set(LINUX TRUE CACHE BOOL "..." FORCE) -else() +if("${CMAKE_SYSTEM_NAME}" MATCHES ".*[Ll]inux.*") + set(LINUX TRUE CACHE BOOL "..." FORCE) # LINUX means GNU/Linux, not just the kernel +elseif("${CMAKE_SYSTEM_NAME}" MATCHES ".*[Bb][Ss][Dd].*") + set(BSD TRUE CACHE BOOL "..." FORCE) +elseif(NOT APPLE AND NOT ANDROID) message(FATAL_ERROR "Unsupported platform") endif() @@ -241,9 +241,38 @@ set(LIBFASTFETCH_SRC src/modules/opencl.c ) -if(APPLE) +if(BSD OR APPLE) list(APPEND LIBFASTFETCH_SRC src/common/sysctl.c + ) +endif() + +if(LINUX OR ANDROID) + list(APPEND LIBFASTFETCH_SRC + src/detection/cpu/cpu_linux.c + src/detection/memory/memory_linux.c + ) +endif() + +if(LINUX OR BSD) + list(APPEND LIBFASTFETCH_SRC + src/detection/host/host_linux.c + src/detection/os/os_linux.c + src/detection/gpu/gpu_linux.c + src/detection/memory/memory_linux.c + src/detection/battery/battery_linux.c + src/detection/displayserver/linux/displayserver_linux.c + src/detection/displayserver/linux/wayland.c + src/detection/displayserver/linux/xcb.c + src/detection/displayserver/linux/xlib.c + src/detection/displayserver/linux/wmde.c + src/detection/terminalfont/terminalfont_linux.c + src/detection/media/media_linux.c + ) +endif() + +if(APPLE) + list(APPEND LIBFASTFETCH_SRC src/util/apple/cfdict_helpers.c src/util/apple/osascript.m src/detection/host/host_apple.c @@ -256,34 +285,25 @@ if(APPLE) src/detection/terminalfont/terminalfont_apple.c src/detection/media/media_apple.m ) -elseif(ANDROID) +endif() + +if(BSD) + list(APPEND LIBFASTFETCH_SRC + src/detection/cpu/cpu_bsd.c + src/detection/memory/memory_bsd.c + ) +endif() + +if(ANDROID) list(APPEND LIBFASTFETCH_SRC src/detection/host/host_android.c src/detection/os/os_android.c - src/detection/cpu/cpu_linux.c src/detection/gpu/gpu_android.c src/detection/battery/battery_android.c - src/detection/memory/memory_linux.c src/detection/displayserver/displayserver_android.c src/detection/terminalfont/terminalfont_android.c src/detection/media/media_android.c ) -else() - list(APPEND LIBFASTFETCH_SRC - src/detection/host/host_linux.c - src/detection/os/os_linux.c - src/detection/cpu/cpu_linux.c - src/detection/gpu/gpu_linux.c - src/detection/memory/memory_linux.c - src/detection/battery/battery_linux.c - src/detection/displayserver/linux/displayserver_linux.c - src/detection/displayserver/linux/wayland.c - src/detection/displayserver/linux/xcb.c - src/detection/displayserver/linux/xlib.c - src/detection/displayserver/linux/wmde.c - src/detection/terminalfont/terminalfont_linux.c - src/detection/media/media_linux.c - ) endif() add_library(libfastfetch OBJECT diff --git a/src/detection/cpu/cpu_bsd.c b/src/detection/cpu/cpu_bsd.c new file mode 100644 index 000000000..40b9d806d --- /dev/null +++ b/src/detection/cpu/cpu_bsd.c @@ -0,0 +1,13 @@ +#include "cpu.h" + +void ffDetectCPUImpl(FFCPUResult* cpu) +{ + ffStrbufInit(&cpu->vendor); + ffStrbufInit(&cpu->name); + cpu->coresPhysical = 1; + cpu->coresLogical = 1; + cpu->coresOnline = 1; + frequencyMin = 0.0; + frequencyMax = 0.0; + temperature = FF_CPU_TEMP_UNSET; +} diff --git a/src/detection/memory/memory_bsd.c b/src/detection/memory/memory_bsd.c new file mode 100644 index 000000000..bbff918b4 --- /dev/null +++ b/src/detection/memory/memory_bsd.c @@ -0,0 +1,9 @@ +#include "memory.h" + +void ffDetectMemoryImpl(FFMemoryResult* memory) +{ + memory->ram.bytesTotal = 0; + memory->ram.bytesUsed = 0; + memory->swap.bytesTotal = 0; + memory->swap.bytesUsed = 0; +}