Mercurial > irccd
annotate cmake/function/IrccdVeraCheck.cmake @ 763:4283dc118339
Irccd: style (transport_util)
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 13 Aug 2018 13:50:11 +0200 |
parents | 2007a37d7e1a |
children | 8c44bbcbbab9 |
rev | line source |
---|---|
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # IrccdVeraCheck.cmake -- CMake build system for irccd |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
628
27587ff92a64
Misc: update copyrights
David Demelier <markand@malikania.fr>
parents:
584
diff
changeset
|
4 # Copyright (c) 2013-2018 David Demelier <markand@malikania.fr> |
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # Permission to use, copy, modify, and/or distribute this software for any |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # purpose with or without fee is hereby granted, provided that the above |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # copyright notice and this permission notice appear in all copies. |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 # irccd_vera_check |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 # ---------------- |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # irccd_vera_check(target sources) |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 # Check the style source code using vera++. |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 # |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
27 # No-op if IRCCD_HAVE_VERA is Off. |
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 # This macro add a post-build command to call vera++ program on the specified |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 # sources file for the given target. |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 # |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 function(irccd_vera_check target sources) |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
34 if (IRCCD_HAVE_VERA) |
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 set(valid ".cpp;.c;.hpp;.h") |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 # Cleanup non relevant files. |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 foreach (s ${sources}) |
584 | 39 get_filename_component(s ${s} ABSOLUTE) |
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 get_filename_component(ext ${s} EXT) |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 foreach (e ${valid}) |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 if (${ext} STREQUAL ${e}) |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 list(APPEND newsources ${s}) |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 endif () |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 endforeach () |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 endforeach () |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 add_custom_command( |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 TARGET ${target} |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 COMMAND |
548
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
513
diff
changeset
|
52 $<TARGET_FILE:vera> -w --root ${CMAKE_SOURCE_DIR}/vera ${newsources} |
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 VERBATIM |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 ) |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 endif () |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 endfunction() |