add check for cmake that source files are not included multiple times
This commit is contained in:
@@ -48,6 +48,24 @@ macro(list_insert_before
|
||||
unset(_index)
|
||||
endmacro()
|
||||
|
||||
function (list_assert_duplicates
|
||||
list_id
|
||||
)
|
||||
|
||||
# message(STATUS "list data: ${list_id}")
|
||||
|
||||
list(LENGTH list_id _len_before)
|
||||
list(REMOVE_DUPLICATES list_id)
|
||||
list(LENGTH list_id _len_after)
|
||||
# message(STATUS "list size ${_len_before} -> ${_len_after}")
|
||||
if(NOT _len_before EQUAL _len_after)
|
||||
message(FATAL_ERROR "duplicate found in list which should not contain duplicates: ${list_id}")
|
||||
endif()
|
||||
unset(_len_before)
|
||||
unset(_len_after)
|
||||
endfunction()
|
||||
|
||||
|
||||
# foo_bar.spam --> foo_barMySuffix.spam
|
||||
macro(file_suffix
|
||||
file_name_new file_name file_suffix
|
||||
@@ -177,6 +195,11 @@ macro(blender_add_lib_nolist
|
||||
# listed is helpful for IDE's (QtCreator/MSVC)
|
||||
blender_source_group("${sources}")
|
||||
|
||||
list_assert_duplicates("${sources}")
|
||||
list_assert_duplicates("${includes}")
|
||||
# Not for system includes because they can resolve to the same path
|
||||
# list_assert_duplicates("${includes_sys}")
|
||||
|
||||
endmacro()
|
||||
|
||||
|
||||
|
||||
@@ -98,7 +98,6 @@ set(SRC
|
||||
intern/include/raycounter.h
|
||||
intern/include/rayobject.h
|
||||
intern/include/rayintersection.h
|
||||
intern/include/raycounter.h
|
||||
intern/include/render_types.h
|
||||
intern/include/render_result.h
|
||||
intern/include/rendercore.h
|
||||
|
||||
Reference in New Issue
Block a user