Fix unclear error while accidentally sanitizing interface library
Interface libraries added since CMake 3.0 version have INTERFACE_SOURCES property instead of SOURCES so it leads to error which is unclear and prevents project from compiling. Warning would be enough it this case.
This commit is contained in:
parent
002fdca749
commit
d093052a52
@ -62,6 +62,13 @@ function(add_sanitizers ...)
|
|||||||
foreach (TARGET ${ARGV})
|
foreach (TARGET ${ARGV})
|
||||||
# Check if this target will be compiled by exactly one compiler. Other-
|
# Check if this target will be compiled by exactly one compiler. Other-
|
||||||
# wise sanitizers can't be used and a warning should be printed once.
|
# wise sanitizers can't be used and a warning should be printed once.
|
||||||
|
get_target_property(TARGET_TYPE ${TARGET} TYPE)
|
||||||
|
if (TARGET_TYPE STREQUAL "INTERFACE_LIBRARY")
|
||||||
|
message(WARNING "Can't use any sanitizers for target ${TARGET}, "
|
||||||
|
"because it is an interface library and cannot be "
|
||||||
|
"compiled directly.")
|
||||||
|
return()
|
||||||
|
endif ()
|
||||||
sanitizer_target_compilers(${TARGET} TARGET_COMPILER)
|
sanitizer_target_compilers(${TARGET} TARGET_COMPILER)
|
||||||
list(LENGTH TARGET_COMPILER NUM_COMPILERS)
|
list(LENGTH TARGET_COMPILER NUM_COMPILERS)
|
||||||
if (NUM_COMPILERS GREATER 1)
|
if (NUM_COMPILERS GREATER 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user