mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2025-02-20 11:43:27 +08:00
--version implementation
This commit is contained in:
parent
7cbe1c2359
commit
fea8e371e4
@ -2,12 +2,30 @@ cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(fastfetch)
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-list --count HEAD
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE GIT_REV_LIST
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE GIT_REV_PARSE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
set(PROJECT_VERSION "r${GIT_REV_LIST}.${GIT_REV_PARSE}")
|
||||
|
||||
include (${CMAKE_ROOT}/Modules/FindX11.cmake)
|
||||
|
||||
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -march=native -O3 -pipe -fno-plt") # for testing
|
||||
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -march=native -O3 -pipe -fno-plt") # for testing
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -march=native -O3 -pipe -fno-plt")
|
||||
|
||||
add_executable(fastfetch
|
||||
configure_file(src/fastfetch_config.h.in fastfetch_config.h)
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
src/fastfetch.c
|
||||
src/break.c
|
||||
src/logo.c
|
||||
@ -34,7 +52,7 @@ add_executable(fastfetch
|
||||
src/colors.c
|
||||
)
|
||||
|
||||
target_link_libraries(fastfetch
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
${X11_LIBRARIES}
|
||||
pci
|
||||
)
|
@ -1,4 +1,5 @@
|
||||
#include "fastfetch.h"
|
||||
#include "fastfetch_config.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
@ -8,7 +9,7 @@
|
||||
|
||||
void ffPrintKey(FFstate* state, const char* key)
|
||||
{
|
||||
printf("%s"FASTFETCH_TEXT_MODIFIER_BOLT"%s"FASTFETCH_TEXT_MODIFIER_RESET": ", state->color, key);
|
||||
printf(FASTFETCH_TEXT_MODIFIER_BOLT"%s%s"FASTFETCH_TEXT_MODIFIER_RESET": ", state->color, key);
|
||||
}
|
||||
|
||||
void ffPrintLogoAndKey(FFstate* state, const char* key)
|
||||
@ -176,6 +177,7 @@ static void printHelp()
|
||||
"\n"
|
||||
" -h, --help: shows this message and exits\n"
|
||||
" -h <command>, --help <command>: shows help for a specific command and exits\n"
|
||||
" -v --version prints the version of fastfetch and exits\n"
|
||||
" -l <name>, --logo <name>: sets the shown logo. Also changes the main color accordingly\n"
|
||||
" -c <color>, --color <color>: sets the color of the keys. Must be a linux console color code\n"
|
||||
" -s <width>, --seperator <width>: sets the distance between logo and text\n"
|
||||
@ -226,7 +228,7 @@ static void parseArguments(int argc, char** argv, FFstate* state)
|
||||
{
|
||||
for(int i = 1; i < argc; i++)
|
||||
{
|
||||
if(strcmp(argv[i], "--help") == 0 || strcmp(argv[i], "-h") == 0)
|
||||
if(strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0)
|
||||
{
|
||||
if(i == argc - 1)
|
||||
printHelp();
|
||||
@ -235,6 +237,11 @@ static void parseArguments(int argc, char** argv, FFstate* state)
|
||||
|
||||
exit(0);
|
||||
}
|
||||
else if(strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--version") == 0)
|
||||
{
|
||||
puts(FASTFETCH_PROJECT_NAME" "FASTFETCH_PROJECT_VER);
|
||||
exit(0);
|
||||
}
|
||||
else if(strcmp(argv[i], "--list-logos") == 0)
|
||||
{
|
||||
ffListLogos();
|
||||
@ -249,7 +256,7 @@ static void parseArguments(int argc, char** argv, FFstate* state)
|
||||
{
|
||||
state->showErrors = true;
|
||||
}
|
||||
else if(strcmp(argv[i], "--logo") == 0 || strcmp(argv[i], "-l") == 0)
|
||||
else if(strcmp(argv[i], "-l") == 0 || strcmp(argv[i], "--logo") == 0)
|
||||
{
|
||||
if(i == argc - 1)
|
||||
{
|
||||
|
11
src/fastfetch_config.h.in
Normal file
11
src/fastfetch_config.h.in
Normal file
@ -0,0 +1,11 @@
|
||||
#ifndef FASTFETCH_INDLUDED_fastfetch_config_h_in
|
||||
#define FASTFETCH_INDLUDED_fastfetch_config_h_in
|
||||
|
||||
#define FASTFETCH_PROJECT_NAME "@PROJECT_NAME@"
|
||||
#define FASTFETCH_PROJECT_VER "@PROJECT_VERSION@"
|
||||
|
||||
// #define FASTFETCH_PROJECT_VER_MAJOR "@PROJECT_VERSION_MAJOR@"
|
||||
// #define FASTFETCH_PROJECT_VER_MINOR "@PROJECT_VERSION_MINOR@"
|
||||
// #define FASTFETCH_PTOJECT_VER_PATCH "@PROJECT_VERSION_PATCH@"
|
||||
|
||||
#endif // FASTFETCH_INDLUDED_fastfetch_config_h_in
|
@ -11,7 +11,7 @@ void ffPrintTitle(FFstate* state)
|
||||
|
||||
ffPrintLogoLine(state);
|
||||
|
||||
printf("%s"FASTFETCH_TEXT_MODIFIER_BOLT"%s"FASTFETCH_TEXT_MODIFIER_RESET"@%s"FASTFETCH_TEXT_MODIFIER_BOLT"%s"FASTFETCH_TEXT_MODIFIER_RESET"\n",
|
||||
printf(FASTFETCH_TEXT_MODIFIER_BOLT"%s%s"FASTFETCH_TEXT_MODIFIER_RESET"@"FASTFETCH_TEXT_MODIFIER_BOLT"%s%s"FASTFETCH_TEXT_MODIFIER_RESET"\n",
|
||||
state->color, state->passwd->pw_name, state->color, hostname
|
||||
);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user