CMake: be able to build as a dynamic linked binary

This commit is contained in:
Carter Li
2024-05-24 14:40:14 +08:00
parent 4b33e1b691
commit 3d48de8c98
5 changed files with 46 additions and 2 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
#include "fastfetch.h"
#include "common/library.h"
#ifndef FF_LIBRARY_STATIC_BUILD
#ifndef FF_DISABLE_DLOPEN
#include <stdarg.h>
+1 -1
View File
@@ -3,7 +3,7 @@
#include "fastfetch.h"
#include "util/FFcheckmacros.h"
#ifndef FF_LIBRARY_STATIC_BUILD
#ifndef FF_DISABLE_DLOPEN
#if defined(_WIN32)
#include <libloaderapi.h>
+5
View File
@@ -106,11 +106,16 @@ static void getMate(FFstrbuf* result, FFDEOptions* options)
static const char* getXfce4ByLib(FFstrbuf* result)
{
#ifndef FF_DISABLE_DLOPEN
const char* xfce_version_string(void); // from `xfce4/libxfce4util/xfce-misutils.h
FF_LIBRARY_LOAD(xfce4util, NULL, "dlopen libxfce4util" FF_LIBRARY_EXTENSION "failed", "libxfce4util" FF_LIBRARY_EXTENSION, 7);
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(xfce4util, xfce_version_string);
ffStrbufSetS(result, ffxfce_version_string());
return NULL;
#else
FF_UNUSED(result);
return "dlopen is disabled";
#endif
}
static void getXFCE4(FFstrbuf* result, FFDEOptions* options)
+9
View File
@@ -19,6 +19,8 @@ struct FFNvmlData {
const char* ffDetectNvidiaGpuInfo(const FFGpuDriverCondition* cond, FFGpuDriverResult result, const char* soName)
{
#ifndef FF_DISABLE_DLOPEN
if (!nvmlData.inited)
{
nvmlData.inited = true;
@@ -127,4 +129,11 @@ const char* ffDetectNvidiaGpuInfo(const FFGpuDriverCondition* cond, FFGpuDriverR
}
return NULL;
#else
FF_UNUSED(cond, result, soName);
return "dlopen is disabled";
#endif
}