Skip to content

Commit 0d410ec

Browse files
committed
Add initial support for MidnightBSD
1 parent 7220634 commit 0d410ec

File tree

1 file changed

+33
-25
lines changed

1 file changed

+33
-25
lines changed

CMakeLists.txt

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
2020
set(FreeBSD TRUE CACHE BOOL "..." FORCE)
2121
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
2222
set(OpenBSD TRUE CACHE BOOL "..." FORCE)
23+
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "MidnightBSD")
24+
set(MidnightBSD TRUE CACHE BOOL "..." FORCE)
2325
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "NetBSD")
2426
set(NetBSD TRUE CACHE BOOL "..." FORCE)
2527
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")
@@ -51,36 +53,36 @@ include(CheckIncludeFile)
5153

5254
include(CMakeDependentOption)
5355

54-
cmake_dependent_option(ENABLE_VULKAN "Enable vulkan" ON "LINUX OR APPLE OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
55-
cmake_dependent_option(ENABLE_WAYLAND "Enable wayland-client" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD" OFF)
56-
cmake_dependent_option(ENABLE_XCB_RANDR "Enable xcb-randr" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
57-
cmake_dependent_option(ENABLE_XCB "Enable xcb" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
58-
cmake_dependent_option(ENABLE_XRANDR "Enable xrandr" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
59-
cmake_dependent_option(ENABLE_X11 "Enable x11" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
60-
cmake_dependent_option(ENABLE_DRM "Enable libdrm" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
56+
cmake_dependent_option(ENABLE_VULKAN "Enable vulkan" ON "LINUX OR APPLE OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
57+
cmake_dependent_option(ENABLE_WAYLAND "Enable wayland-client" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD" OFF)
58+
cmake_dependent_option(ENABLE_XCB_RANDR "Enable xcb-randr" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
59+
cmake_dependent_option(ENABLE_XCB "Enable xcb" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
60+
cmake_dependent_option(ENABLE_XRANDR "Enable xrandr" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
61+
cmake_dependent_option(ENABLE_X11 "Enable x11" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
62+
cmake_dependent_option(ENABLE_DRM "Enable libdrm" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
6163
cmake_dependent_option(ENABLE_DRM_AMDGPU "Enable libdrm_amdgpu" ON "LINUX" OFF)
62-
cmake_dependent_option(ENABLE_GIO "Enable gio-2.0" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
63-
cmake_dependent_option(ENABLE_DCONF "Enable dconf" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
64-
cmake_dependent_option(ENABLE_DBUS "Enable dbus-1" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
65-
cmake_dependent_option(ENABLE_XFCONF "Enable libxfconf-0" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
66-
cmake_dependent_option(ENABLE_SQLITE3 "Enable sqlite3" ON "LINUX OR FreeBSD OR APPLE OR OpenBSD OR NetBSD OR SunOS" OFF)
64+
cmake_dependent_option(ENABLE_GIO "Enable gio-2.0" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
65+
cmake_dependent_option(ENABLE_DCONF "Enable dconf" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
66+
cmake_dependent_option(ENABLE_DBUS "Enable dbus-1" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
67+
cmake_dependent_option(ENABLE_XFCONF "Enable libxfconf-0" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
68+
cmake_dependent_option(ENABLE_SQLITE3 "Enable sqlite3" ON "LINUX OR FreeBSD OR APPLE OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
6769
cmake_dependent_option(ENABLE_RPM "Enable rpm" ON "LINUX" OFF)
68-
cmake_dependent_option(ENABLE_IMAGEMAGICK7 "Enable imagemagick 7" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR APPLE OR WIN32 OR SunOS" OFF)
69-
cmake_dependent_option(ENABLE_IMAGEMAGICK6 "Enable imagemagick 6" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR APPLE OR SunOS" OFF)
70+
cmake_dependent_option(ENABLE_IMAGEMAGICK7 "Enable imagemagick 7" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR APPLE OR WIN32 OR SunOS" OFF)
71+
cmake_dependent_option(ENABLE_IMAGEMAGICK6 "Enable imagemagick 6" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR APPLE OR SunOS" OFF)
7072
cmake_dependent_option(ENABLE_CHAFA "Enable chafa" ON "ENABLE_IMAGEMAGICK6 OR ENABLE_IMAGEMAGICK7" OFF)
7173
cmake_dependent_option(ENABLE_ZLIB "Enable zlib" ON "ENABLE_IMAGEMAGICK6 OR ENABLE_IMAGEMAGICK7" OFF)
72-
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR SunOS" OFF)
73-
cmake_dependent_option(ENABLE_GLX "Enable glx" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
74-
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
75-
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
74+
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR WIN32 OR SunOS" OFF)
75+
cmake_dependent_option(ENABLE_GLX "Enable glx" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
76+
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
77+
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
7678
cmake_dependent_option(ENABLE_FREETYPE "Enable freetype" ON "ANDROID" OFF)
77-
cmake_dependent_option(ENABLE_PULSE "Enable pulse" ON "LINUX OR OpenBSD OR NetBSD OR SunOS" OFF)
79+
cmake_dependent_option(ENABLE_PULSE "Enable pulse" ON "LINUX OR OpenBSD OR MidnightBSD OR NetBSD OR SunOS" OFF)
7880
cmake_dependent_option(ENABLE_DDCUTIL "Enable ddcutil" ON "LINUX" OFF)
7981
cmake_dependent_option(ENABLE_DIRECTX_HEADERS "Enable DirectX headers for WSL" ON "LINUX" OFF)
8082
cmake_dependent_option(ENABLE_ELF "Enable libelf" ON "LINUX OR ANDROID OR DragonFly" OFF)
8183
cmake_dependent_option(ENABLE_THREADS "Enable multithreading" ON "Threads_FOUND" OFF)
8284
cmake_dependent_option(ENABLE_LIBZFS "Enable libzfs" ON "LINUX OR FreeBSD OR SunOS" OFF)
83-
cmake_dependent_option(ENABLE_PCIACCESS "Enable libpciaccess" ON "NetBSD OR OpenBSD OR SunOS" OFF)
85+
cmake_dependent_option(ENABLE_PCIACCESS "Enable libpciaccess" ON "NetBSD OR OpenBSD OR MidnightBSD OR SunOS" OFF)
8486

8587
option(ENABLE_SYSTEM_YYJSON "Use system provided (instead of fastfetch embedded) yyjson library" OFF)
8688
option(ENABLE_ASAN "Build fastfetch with ASAN (address sanitizer)" OFF)
@@ -587,7 +589,7 @@ elseif(ANDROID)
587589
src/util/platform/FFPlatform_unix.c
588590
src/util/binary_linux.c
589591
)
590-
elseif(FreeBSD)
592+
elseif(FreeBSD OR MidnightBSD)
591593
list(APPEND LIBFASTFETCH_SRC
592594
src/common/dbus.c
593595
src/common/io/io_unix.c
@@ -1063,7 +1065,7 @@ if(ENABLE_DIRECTX_HEADERS)
10631065
endif()
10641066

10651067
# Proprietary GPU driver APIs
1066-
if(LINUX OR FreeBSD OR WIN32)
1068+
if(LINUX OR FreeBSD OR WIN32 OR MidnightBSD)
10671069
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_nvidia.c)
10681070
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_mthreads.c)
10691071
endif()
@@ -1123,7 +1125,7 @@ if(APPLE AND EXISTS "/usr/bin/otool")
11231125
target_compile_definitions(libfastfetch PUBLIC FF_LIBSYSTEM_VERSION="${CMAKE_MATCH_1}")
11241126
endif()
11251127
endif()
1126-
if(FreeBSD AND EXISTS "/usr/local/bin/objdump")
1128+
if((FreeBSD OR MidnightBSD) AND EXISTS "/usr/local/bin/objdump")
11271129
execute_process(COMMAND /bin/sh -c "/usr/local/bin/objdump -T /lib/libc.so.* | grep 'FBSD_[0-9][0-9]*\\.[0-9][0-9]*' -o | sort -Vru | head -1"
11281130
OUTPUT_VARIABLE OBJDUMP_T_RESULT)
11291131
if("${OBJDUMP_T_RESULT}" MATCHES "FBSD_([0-9]+\\.[0-9]+)")
@@ -1445,6 +1447,12 @@ elseif(OpenBSD)
14451447
PRIVATE "m"
14461448
PRIVATE "kvm"
14471449
)
1450+
elseif(MidnightBSD)
1451+
target_link_libraries(libfastfetch
1452+
PRIVATE "m"
1453+
PRIVATE "usbhid"
1454+
PRIVATE "geom"
1455+
)
14481456
elseif(NetBSD)
14491457
target_link_libraries(libfastfetch
14501458
PRIVATE "m"
@@ -1500,10 +1508,10 @@ if(WIN32)
15001508
endif()
15011509
set(CMAKE_CXX_STANDARD 17)
15021510
endif()
1503-
if(FreeBSD)
1511+
if(FreeBSD OR MidnightBSD)
15041512
set(CMAKE_REQUIRED_INCLUDES "/usr/local/include" "/usr/include")
15051513
endif()
1506-
if(LINUX OR FreeBSD OR OpenBSD OR NetBSD)
1514+
if(LINUX OR FreeBSD OR OpenBSD OR MidnightBSD OR NetBSD)
15071515
CHECK_INCLUDE_FILE("linux/videodev2.h" HAVE_LINUX_VIDEODEV2)
15081516
if(HAVE_LINUX_VIDEODEV2)
15091517
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_LINUX_VIDEODEV2=1)

0 commit comments

Comments
 (0)