Logo: generate logo_builtin.h with CMake

This commit is contained in:
李通洲
2023-07-29 20:47:02 +08:00
parent 5291d1a190
commit c78c18d63a
4 changed files with 7 additions and 35 deletions
+4 -3
View File
@@ -253,14 +253,15 @@ function(fastfetch_load_raw_text FILENAME OUTVAR)
endfunction(fastfetch_load_raw_text)
file(GLOB LOGO_FILES "src/logo/ascii/*.txt")
set(LOGO_BUILTIN_H "#pragma once\n\n")
foreach(file ${LOGO_FILES})
fastfetch_load_raw_text("${file}" content)
get_filename_component(file "${file}" NAME_WLE)
string(TOUPPER "${file}" file)
string(REGEX REPLACE "\\$\\{c([0-9]+)\\}" "$\\1" DATATEXT_LOGO_${file} "${content}")
string(REGEX REPLACE "\\$\\{c([0-9]+)\\}" "$\\1" content "${content}")
set(LOGO_BUILTIN_H "${LOGO_BUILTIN_H}#define FASTFETCH_DATATEXT_LOGO_${file} ${content}\n")
endforeach()
configure_file(src/logo/builtin.h.in src_logo_builtin.h @ONLY)
file(GENERATE OUTPUT logo_builtin.h CONTENT "${LOGO_BUILTIN_H}")
#######################
# libfastfetch target #
+1 -1
View File
@@ -1,5 +1,5 @@
#include "logo.h"
#include "src_logo_builtin.h" // Generated with `src/logo/builtin.h`
#include "logo_builtin.h"
#define FF_LOGO_INIT static FFlogo logo; static bool init = false; if(init) return &logo; init = true;
// The names of small logo must end with `_small` or `-small`
-31
View File
@@ -1,31 +0,0 @@
#pragma once
#ifndef FASTFETCH_INDLUDED_logo_builtin_h_in
#define FASTFETCH_INDLUDED_logo_builtin_h_in
#define FASTFETCH_DATATEXT_LOGO_AIX @DATATEXT_LOGO_AIX@
#define FASTFETCH_DATATEXT_LOGO_ASAHI @DATATEXT_LOGO_ASAHI@
#define FASTFETCH_DATATEXT_LOGO_GNOME @DATATEXT_LOGO_GNOME@
#define FASTFETCH_DATATEXT_LOGO_GNU @DATATEXT_LOGO_GNU@
#define FASTFETCH_DATATEXT_LOGO_HAIKU @DATATEXT_LOGO_HAIKU@
#define FASTFETCH_DATATEXT_LOGO_HAIKU_SMALL @DATATEXT_LOGO_HAIKU_SMALL@
#define FASTFETCH_DATATEXT_LOGO_LMDE @DATATEXT_LOGO_LMDE@
#define FASTFETCH_DATATEXT_LOGO_MANDRIVA @DATATEXT_LOGO_MANDRIVA@
#define FASTFETCH_DATATEXT_LOGO_MINIX @DATATEXT_LOGO_MINIX@
#define FASTFETCH_DATATEXT_LOGO_NETBSD @DATATEXT_LOGO_NETBSD@
#define FASTFETCH_DATATEXT_LOGO_NOMADBSD @DATATEXT_LOGO_NOMADBSD@
#define FASTFETCH_DATATEXT_LOGO_OPENBSD @DATATEXT_LOGO_OPENBSD@
#define FASTFETCH_DATATEXT_LOGO_OPENBSD_SMALL @DATATEXT_LOGO_OPENBSD_SMALL@
#define FASTFETCH_DATATEXT_LOGO_OPENSUSETUMBLEWEED2 @DATATEXT_LOGO_OPENSUSETUMBLEWEED2@
#define FASTFETCH_DATATEXT_LOGO_OPENWRT @DATATEXT_LOGO_OPENWRT@
#define FASTFETCH_DATATEXT_LOGO_ORACLE @DATATEXT_LOGO_ORACLE@
#define FASTFETCH_DATATEXT_LOGO_SOLARIS @DATATEXT_LOGO_SOLARIS@
#define FASTFETCH_DATATEXT_LOGO_SOLARIS_SMALL @DATATEXT_LOGO_SOLARIS_SMALL@
#define FASTFETCH_DATATEXT_LOGO_UBUNTUKYLIN @DATATEXT_LOGO_UBUNTUKYLIN@
#define FASTFETCH_DATATEXT_LOGO_UBUNTUMATE @DATATEXT_LOGO_UBUNTUMATE@
#define FASTFETCH_DATATEXT_LOGO_UBUNTU2_SMALL @DATATEXT_LOGO_UBUNTU2_SMALL@
#define FASTFETCH_DATATEXT_LOGO_UOS @DATATEXT_LOGO_UOS@
#define FASTFETCH_DATATEXT_LOGO_WINDOWS95 @DATATEXT_LOGO_WINDOWS95@
#define FASTFETCH_DATATEXT_LOGO_OPENKYLIN @DATATEXT_LOGO_OPENKYLIN@
#endif
+2
View File
@@ -540,6 +540,8 @@ void ffLogoBuiltinList(void)
++names;
}
putchar('\n');
puts(logo->data);
putchar('\n');
++methods;
}