aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolchain/specifydependencies.cmake23
1 files changed, 21 insertions, 2 deletions
diff --git a/toolchain/specifydependencies.cmake b/toolchain/specifydependencies.cmake
index 942e88e2..d21250c1 100644
--- a/toolchain/specifydependencies.cmake
+++ b/toolchain/specifydependencies.cmake
@@ -21,10 +21,29 @@ foreach(line ${lines})
endif()
endforeach()
+function(contains_library libpath IS_EQUAL)
+ get_filename_component (name ${libpath} NAME)
+ unset (IS_EQUAL PARENT_SCOPE)
+
+ foreach (extralib ${extralibs})
+ get_filename_component (extralibname ${extralib} NAME)
+ if (${extralibname} STREQUAL ${name})
+ set (IS_EQUAL TRUE PARENT_SCOPE)
+ break()
+ endif()
+ endforeach()
+endfunction()
+
if (ANDROID_EXTRA_LIBS)
foreach (extralib ${ANDROID_EXTRA_LIBS})
- message(STATUS "manually specified extra library: " ${extralib})
- list(APPEND extralibs ${extralib})
+ contains_library(${extralib} IS_EQUAL)
+
+ if (IS_EQUAL)
+ message (STATUS "found duplicate, skipping: " ${extralib})
+ else()
+ message(STATUS "manually specified extra library: " ${extralib})
+ list(APPEND extralibs ${extralib})
+ endif()
endforeach()
endif()