From 27b8fc1395bece0dc309512a3790a4892e0d29b1 Mon Sep 17 00:00:00 2001 From: Timo Weingärtner Date: Fri, 3 Feb 2012 14:33:21 +0100 Subject: Add --version, generate version.h from git, clean manpage --- Makefile | 13 +++++++++---- hadori.1 | 33 --------------------------------- hadori.C | 7 +++++++ 3 files changed, 16 insertions(+), 37 deletions(-) delete mode 100644 hadori.1 diff --git a/Makefile b/Makefile index 997168f..546e266 100644 --- a/Makefile +++ b/Makefile @@ -20,13 +20,18 @@ CXXFLAGS?=-O2 -Wall CXXFLAGS+=-std=c++0x CPPFLAGS+=-D_FILE_OFFSET_BITS=64 -all: hadori +all: hadori.1 hadori.1: hadori - help2man -n $< -o $@ -N --version-string 0.1 ./$< + help2man -n $< -o $@ -N ./$< hadori: hadori.o -hadori.o: hadori.C inode.h +hadori.o: hadori.C inode.h version.h + +version.h: + test -d .git && git describe | sed 's/^\(.*\)$$/#define HADORI_VERSION "hadori \1"/' > $@ clean: - rm -f hadori hadori.o + rm -f hadori hadori.o hadori.1 + +.PHONY: version.h clean diff --git a/hadori.1 b/hadori.1 deleted file mode 100644 index df947f2..0000000 --- a/hadori.1 +++ /dev/null @@ -1,33 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.5. -.TH HADORI "1" "January 2012" "hadori 0.1" "User Commands" -.SH NAME -hadori \- hadori -.SH DESCRIPTION -Invocation: hadori [ OPTIONS ] [ ARGUMENTS ] -OPTIONS: -.TP -\fB\-h\fR [ \fB\-\-help\fR ] -print this help message -.TP -\fB\-t\fR [ \fB\-\-no\-time\fR ] -ignore mtime -.TP -\fB\-\-hash\fR -use adler32 hash to speed up comparing many files with -same size and mostly identical content -.TP -\fB\-n\fR [ \fB\-\-dry\-run\fR ] -don't change anything, implies \fB\-\-verbose\fR -.TP -\fB\-v\fR [ \fB\-\-verbose\fR ] -show which files get linked -.TP -\fB\-d\fR [ \fB\-\-debug\fR ] -show files being examined -.TP -\fB\-s\fR [ \fB\-\-stdin\fR ] -read arguments from stdin, one per line; you can't -combine that with arguments on the commandline -.TP -\fB\-0\fR [ \fB\-\-null\fR ] -implies \fB\-\-stdin\fR, but use null bytes as delimiter diff --git a/hadori.C b/hadori.C index f462d66..44b6e97 100644 --- a/hadori.C +++ b/hadori.C @@ -36,6 +36,7 @@ namespace po = boost::program_options; #include #include "inode.h" +#include "version.h" // needed for equal_range and range-for namespace std { @@ -187,6 +188,7 @@ int main (int const argc, char ** argv) { po::options_description opts("OPTIONS"); opts.add_options() ("help,h", "print this help message") + ("version,V", "print version information") ("no-time,t", "ignore mtime") ("hash", "use adler32 hash to speed up comparing many files with same size and mostly identical content") ("dry-run,n", "don't change anything, implies --verbose") @@ -211,6 +213,11 @@ int main (int const argc, char ** argv) { return EX_OK; } + if (config.count("version")) { + std::cout << HADORI_VERSION << std::endl; + return EX_OK; + } + if (not config.count("debug")) debug.rdbuf(nullptr); if (not config.count("debug") and not config.count("verbose") and not config.count("dry-run")) -- cgit v1.2.3