Mercurial > irccd
comparison cmake/function/IrccdDefineLibrary.cmake @ 510:6ec510722582
CMake: enable vera++ as code checking, closes #603
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 19 Oct 2017 13:01:39 +0200 |
parents | c9a6d9df083f |
children | 27587ff92a64 |
comparison
equal
deleted
inserted
replaced
509:c9a6d9df083f | 510:6ec510722582 |
---|---|
22 # | 22 # |
23 # irccd_define_library( | 23 # irccd_define_library( |
24 # TARGET target name | 24 # TARGET target name |
25 # SOURCES src1, src2, srcn | 25 # SOURCES src1, src2, srcn |
26 # LOCAL (Optional) set to true to build a static library | 26 # LOCAL (Optional) set to true to build a static library |
27 # EXTERNAL (Optional) set to true if library is third party | |
27 # FLAGS (Optional) C/C++ flags (without -D) | 28 # FLAGS (Optional) C/C++ flags (without -D) |
28 # LIBRARIES (Optional) libraries to link | 29 # LIBRARIES (Optional) libraries to link |
29 # LOCAL_INCLUDES (Optional) local includes for the target only | 30 # LOCAL_INCLUDES (Optional) local includes for the target only |
30 # PUBLIC_INCLUDES (Optional) includes to share with target dependencies | 31 # PUBLIC_INCLUDES (Optional) includes to share with target dependencies |
31 # ) | 32 # ) |
32 # | 33 # |
33 # Create a static library for internal use. | 34 # Create a static library for internal use. |
34 # | 35 # |
35 | 36 |
37 include(${CMAKE_CURRENT_LIST_DIR}/IrccdVeraCheck.cmake) | |
38 | |
36 function(irccd_define_library) | 39 function(irccd_define_library) |
37 set(options LOCAL) | 40 set(options EXTERNAL LOCAL) |
38 set(oneValueArgs TARGET) | 41 set(oneValueArgs TARGET) |
39 set(multiValueArgs SOURCES FLAGS LIBRARIES LOCAL_INCLUDES PUBLIC_INCLUDES) | 42 set(multiValueArgs SOURCES FLAGS LIBRARIES LOCAL_INCLUDES PUBLIC_INCLUDES) |
40 set(mandatory TARGET SOURCES) | 43 set(mandatory TARGET SOURCES) |
41 | 44 |
42 cmake_parse_arguments(LIB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) | 45 cmake_parse_arguments(LIB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) |
67 ${LIB_TARGET} | 70 ${LIB_TARGET} |
68 PROPERTIES | 71 PROPERTIES |
69 RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} | 72 RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} |
70 ) | 73 ) |
71 endforeach() | 74 endforeach() |
75 | |
76 if (NOT ${LIB_EXTERNAL}) | |
77 irccd_vera_check(${LIB_TARGET} "${LIB_SOURCES}") | |
78 endif () | |
72 endfunction() | 79 endfunction() |