diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 1ae95c18073..eaefce8a0e0 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -1468,10 +1468,18 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id) // Android magic: if (DeviceTypeKitAspect::deviceTypeId(k) == Android::Constants::ANDROID_DEVICE_TYPE) { + auto addUniqueKeyToCmd = [&cmd] (const QString &prefix, const QString &value) -> bool { + const bool isUnique = + !Utils::contains(cmd.splitArguments(), [&prefix] (const QString &arg) { + return arg.startsWith(prefix); }); + if (isUnique) + cmd.addArg(prefix + value); + return isUnique; + }; buildSteps()->appendStep(Android::Constants::ANDROID_BUILD_APK_ID); const auto bs = buildSteps()->steps().constLast(); - cmd.addArg("-DANDROID_PLATFORM:STRING=" - + bs->data(Android::Constants::AndroidNdkPlatform).toString()); + addUniqueKeyToCmd("-DANDROID_PLATFORM:STRING=", + bs->data(Android::Constants::AndroidNdkPlatform).toString()); auto ndkLocation = bs->data(Android::Constants::NdkLocation).value(); cmd.addArg("-DANDROID_NDK:PATH=" + ndkLocation.path());