Fix propagation of defines to dependencies from QbsLibrary
Fix propagation of defines to dependencies from QbsLibrary

The Export of cpp.defines could not possibly have ever worked as triple
equals comparison of a string and array will always be false. Fix that,
and then fix the resultant build errors by avoiding the addition of
the QBS_STATIC_LIB define to an importing dynamic library, and warning
in the case where the same translation unit will be seen with different
visibility settings in different contexts.

This also fixes warnings in generator plugins due to the different
visibility.

Change-Id: Icf91bfd5644c436ddea819cce61b7a4b654c0db4
Reviewed-by: Christian Kandeler <3aa99dcdd3f0cac61fb81c2a11771c0cc2497607@qt.io>

qtproject/qt-labs-qbs,qtproject/qt-labs-qbs,qtproject/qt-labs-qbs,qt-labs/qbs,qt-labs/qbs,qt-labs/qbs,qtproject/qt-labs-qbs,qtproject/qt-labs-qbs,qt-labs/qbs,qt-labs/qbs,qt-labs/qbs,qtproject/qt-labs-qbs,qtproject/qt-labs-qbs,qt-labs/qbs