QtVarsPrepare;QtVars;$(QtDependsOn) QtSkipBuild;$(QtSkipBuildTargets) @(QtModuleList->'%(Identity)', ' ') @(QtVariableList->'%(Identity)', ' ') @(QtIncludes->'"%(Identity)"', ' ') @(QtLibs->'"-L%(Identity)"', ' ') CONFIG -= debug release debug_and_release CONFIG += debug CONFIG -= debug release debug_and_release CONFIG += release fileName = "qtvars_$(PlatformEscaped)_$(ConfigurationEscaped).props" modules = $(QtModuleNames) varNames = $(QtVarNames) @(QMakeCodeLine->'%(Identity)','%0D%0A') $(QtVarsProFileInput) INCLUDEPATH += $(QtIncludes) $(QtVarsProFileInput) LIBS += $(QtLibs) $(QtVarsProFileInput) DEFINES -= UNICODE _UNICODE NUL)" qtvars.target = qtvars qtvars.commands = CMD /V:ON /C \ \"@ECHO OFF &\ SET VALUE= &\ (FOR %%x IN (%24(LIBS)) DO (\ SET y=%%x&\ IF NOT \"!y:~0,9!\"==\"/LIBPATH:\"\ SET VALUE=!y!%3B!VALUE!& $$nop \ ))&\ SET PROP=^!VALUE:~0,-2!^&\ ECHO !PROP!>>$$fileName&\" QMAKE_EXTRA_TARGETS += qtvars } ## Append Qt variables to .props (XML) file # for (varName, $$list($$sorted(varNames))) { propName = "Qt_$${varName}_" text = "<$${propName}>"$$formatMsBuildString($$eval($$varName))"" write_file($$fileName, text, append) } ]]> ]]> qtvars.log 2>&1]]> %24(Qt_INCLUDEPATH_)%3B@(QtIncludePath->Distinct(),'%3B') @(QtInstall,'%3B') @(QtModules,'%3B') @(QtPathBinaries,'%3B') @(QtPathLibraryExecutables,'%3B') @(QtHeaderSearchPath,'%3B') @(QtLibrarySearchPath,'%3B') @(QtVariables,'%3B') @(QMakeCodeLines,'%3B') @(QtVarProp->'%24(%(Identity))', '%0D%0A') ]]> $([System.IO.Path]::Combine('$(QtVarsOutputDir)', 'qtvars_$([System.IO.Path]::GetRandomFileName()).designtime.props'))