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()