Mercurial > malikania
annotate cmake/function/MalikaniaVeraCheck.cmake @ 106:f8c6d2244795
Server: rework model and dao
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 04 Sep 2017 19:41:18 +0200 |
parents | 58b43650d8f0 |
children | 119bcc5a727e |
rev | line source |
---|---|
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # MalikaniaVeraCheck.cmake -- CMake build system for malikania |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
76 | 4 # Copyright (c) 2013-2017 Malikania Authors |
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # Permission to use, copy, modify, and/or distribute this software for any |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # purpose with or without fee is hereby granted, provided that the above |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # copyright notice and this permission notice appear in all copies. |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 # |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
61
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
19 # |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
20 # malikania_vera_check |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
21 # -------------------- |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
22 # |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
23 # malikania_vera_check(target sources) |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
24 # |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
25 # Check the style source code using vera++. |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
26 # |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
27 # No-op if WITH_VERA is Off. |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
28 # |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
29 # This macro add a post-build command to call vera++ program on the specified |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
30 # sources file for the given target. |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
31 # |
e7bf0728eff2
CMake: add documentation about MalikaniaVeraCheck.cmake
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
32 |
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 function(malikania_vera_check target sources) |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 if (WITH_VERA) |
90
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
35 set(valid ".cpp;.c;.hpp;.h") |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
36 |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
37 # Cleanup non relevant files. |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
38 foreach (s ${sources}) |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
39 get_filename_component(ext ${s} EXT) |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
40 |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
41 foreach (e ${valid}) |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
42 if (${ext} STREQUAL ${e}) |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
43 list(APPEND newsources ${s}) |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
44 endif () |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
45 endforeach () |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
46 endforeach () |
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
47 |
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 add_custom_command( |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 TARGET ${target} |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 COMMAND |
90
58b43650d8f0
CMake: vera++ must check source files only, closes #633
David Demelier <markand@malikania.fr>
parents:
76
diff
changeset
|
51 ${VERA_EXECUTABLE} -w --root ${CMAKE_SOURCE_DIR}/vera ${newsources} |
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 VERBATIM |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 ) |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 endif () |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 endfunction() |