Article View: pl.comp.lang.c
Article #309640Re: Automatyczna informacja o wersji
From: Borneq
Date: Wed, 31 Jan 2018 13:18
Date: Wed, 31 Jan 2018 13:18
29 lines
1830 bytes
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-mailReferences:
<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