🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309640

Re: Automatyczna informacja o wersji

#309640
From: Borneq
Date: Wed, 31 Jan 2018 13:18
29 lines
1830 bytes
W dniu 31.01.2018 o 13:58, Adam Wysocki pisze:
> Wszystko zajęło mi 4 sekundy. Przejrzenie odpowiedzi na SO to kolejne 25
> sekund.

Tutaj mamy perl i awk, a ja chciałbym GnuC+CMake
Jak to zrobiłem:
pierwszym problem jest to że zmienna preprocesora jest bez znaków 
cudzysłowu.
Więc nie można zrobić string commitver = GIT_SHA1;
Trzeba się posłużyć "tajemniczym" idiomem:

#define xstr(s) str(s)
#define str(s) #s
string commitver = xstr(GIT_SHA1);

Teraz, jak ustawić GIT_SHA1 w CMake? (jeszcze nie wiem, jak ustawić dla 
gita w środowisku CodeBlocks)

Otóż jest repozytorium: https://github.com/rpavlik/cmake-modules
gdzie są GetGitRevisionDescription.cmake i 
GetGitRevisionDescription.cmake.in

Teraz robimy w CMakeLists.txt :
include(GetGitRevisionDescription.cmake)
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
a dalej
add_definitions("-DGIT_SHA1=${GIT_SHA1}")

I działa!
Technical Details
Message-ID: <p4sfnm$8lk$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <p4qnqo$kp4$1@node2.news.atman.pl> <p4sehh$1qv$1$gof@news.chmurka.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Borneq <borneq@antyspam.hidden.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Automatyczna informacja o wersji
Date: Wed, 31 Jan 2018 14:18:46 +0100
Organization: ATMAN - ATM S.A.
Lines: 29
Message-ID: <p4sfnm$8lk$1@node2.news.atman.pl>
References: <p4qnqo$kp4$1@node2.news.atman.pl> <p4sehh$1qv$1$gof@news.chmurka.net>
NNTP-Posting-Host: public-gprs351922.centertel.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1517404726 8884 37.47.5.243 (31 Jan 2018 13:18:46 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Wed, 31 Jan 2018 13:18:46 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
In-Reply-To: <p4sehh$1qv$1$gof@news.chmurka.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit