@ -1,15 +1,18 @@
option ( ENABLE_CLANG_TIDY "Add run-clang-tidy automatically to builds" OFF )
option ( SPDLOG_ENABLE_TIDY "Add clang-tidy automatically as prebuild step" OFF )
find_program ( CLANG_TIDY_EXE
N A M E S r u n - c l a n g - t i d y . p y r u n - c l a n g - t i d y r u n - c l a n g - t i d y - 7
H I N T S $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s c r i p t s
N A M E S c l a n g - t i d y c l a n g - t i d y - 7
D O C " P a t h t o c l a n g - t i d y e x e c u t a b l e " )
find_program ( CLANG_TIDY_RUNNER
N A M E S r u n - c l a n g - t i d y r u n - c l a n g - t i d y - 7 r u n - c l a n g - t i d y . p y
H I N T S $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s c r i p t s )
if ( CLANG_TIDY_EXE )
message ( STATUS "clang-tidy found: ${CLANG_TIDY_EXE}" )
set ( DCMAKE_EXPORT_COMPILE_COMMANDS ON )
set ( CLANG_TIDY_CMD ${ CLANG_TIDY_EXE } )
message ( STATUS "cmake source dir: ${CMAKE_CURRENT_SOURCE_DIR}" )
if ( ENABLE_CLANG _TIDY)
if ( SPDLOG_ ENABLE_TIDY)
# N O T E : t h e p r o j e c t c o n f i g f i l e . c l a n g - t i d y i s n o t f o u n d i f t h e
# b i n a r y t r e e i s n o t p a r t o f t h e s o u r c e t r e e ! C K
set ( CMAKE_CXX_CLANG_TIDY ${ CLANG_TIDY_CMD } CACHE STRING "" FORCE )
@ -17,20 +20,22 @@ if(CLANG_TIDY_EXE)
set ( CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE ) # d e l e t e i t
endif ( )
if ( NOT TARGET check )
add_custom_target ( check )
message ( STATUS "check target added" )
set_target_properties ( check PROPERTIES EXCLUDE_FROM_ALL TRUE )
endif ( )
if ( CLANG_TIDY_RUNNER )
if ( NOT TARGET check )
add_custom_target ( check )
message ( STATUS "check target added" )
set_target_properties ( check PROPERTIES EXCLUDE_FROM_ALL TRUE )
endif ( )
add_custom_command ( TARGET check PRE_BUILD
# - p B U I L D _ P A T H P a t h u s e d t o r e a d a c o m p i l e c o m m a n d database ( compile_commands.json ) .
# N O T E : w e u s e d e f a u l t s c h e c k s f r o m . c l a n g - t i d y a n d e x a m p l e s o n l y !
C O M M A N D $ { C L A N G _ T I D Y _ E X E } - p $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } # # # $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / e x a m p l e
W O R K I N G _ D I R E C T O R Y " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } " # l o c a t i o n o f c o m p i l e _ c o m m a n d s . j s o n
C O M M E N T " R u n n i n g c h e c k o n t a r g e t s a t $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } . . . "
V E R B A T I M
)
add_custom_command ( TARGET check PRE_BUILD
# - p B U I L D _ P A T H P a t h u s e d t o r e a d a c o m p i l e c o m m a n d database ( compile_commands.json ) .
# N O T E : w e u s e d e f a u l t s c h e c k s f r o m . c l a n g - t i d y a n d e x a m p l e s o n l y !
C O M M A N D $ { C L A N G _ T I D Y _ R U N N E R } - p $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } # # # $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / e x a m p l e
W O R K I N G _ D I R E C T O R Y " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } " # l o c a t i o n o f c o m p i l e _ c o m m a n d s . j s o n
C O M M E N T " R u n n i n g c h e c k o n t a r g e t s a t $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } . . . "
V E R B A T I M
)
endif ( )
else ( )
message ( AUTHOR_WARNING " run- clang-tidy not found!")
message ( AUTHOR_WARNING " clang-tidy not found!")
endif ( )