Details
Description
When two static libraries depend on the same library it is added twice to the linker command line. It's dependencies are also duplicated.
DEBUG: [EXEC] Running external process; full command line is: /usr/bin/g++ -m64 -O2 -Wall -Wextra /home/a-baskanov/src/bloat/qtc_Desktop-release/.obj/app/app.cpp.o -o /home/a-baskanov/src/bloat/qtc_Desktop-release/app -Wl,-rpath,$ORIGIN /home/a-baskanov/src/bloat/qtc_Desktop-release/libd.a /home/a-baskanov/src/bloat/qtc_Desktop-release/libe.a /home/a-baskanov/src/bloat/qtc_Desktop-release/libb.a /home/a-baskanov/src/bloat/qtc_Desktop-release/liba.a /home/a-baskanov/src/bloat/qtc_Desktop-release/libc.a /home/a-baskanov/src/bloat/qtc_Desktop-release/liba.a /home/a-baskanov/src/bloat/qtc_Desktop-release/libb.a /home/a-baskanov/src/bloat/qtc_Desktop-release/liba.a /home/a-baskanov/src/bloat/qtc_Desktop-release/libc.a /home/a-baskanov/src/bloat/qtc_Desktop-release/liba.a -Wl,--unresolved-symbols=ignore-in-shared-libs
For large projects it grows so much that the build fails with:
ERROR: The process '/usr/bin/g++' could not be started: Argument list too long