简体   繁体   English

msbuild-将块中定义的所有属性导出到MSBuild调用

[英]msbuild - export all properties defined in block to MSBuild calls

<Target Name="micropython_prebuild">

    <PropertyGroup>
        <uP_PrebuildPyExe>"$(ProjectDir)\Source\micropython\py\make_prebuild_wrapper.exe"</uP_PrebuildPyExe>
        <GnuCat>$(uP_PrebuildPyExe) gnu_cat</GnuCat>
        <GnuSed>$(uP_PrebuildPyExe) gnu_sed</GnuSed>
        <uP_GenHdrFolder>$(ObjectFolder)\genhdr</uP_GenHdrFolder>
        <uP_QSTR_GEN_EXTRA_CFLAGS>-DNO_QSTR -DN_X64 -DN_X86 -DN_THUMB -DN_ARM -DN_XTENSA</uP_QSTR_GEN_EXTRA_CFLAGS>
        <uP_SRC>$(ProjectDir)\Source\micropython</uP_SRC>
        <uP_MPY_CROSS>"$(ProjectDir)\Source\micropython\mpy-cross\mpy-cross.exe"</uP_MPY_CROSS>
    </PropertyGroup>

    <MakeDir Directories="$(uP_GenHdrFolder)\"/>

    <MSBuild
        Projects="$(MSBuildProjectFile)"
        Condition="'' == ''"
        Targets="prebuild_mpversion"
        Properties="uP_PrebuildPyExe=$(uP_PrebuildPyExe);
                    uP_GenHdrFolder=$(uP_GenHdrFolder)"
    />
</Target>

How do I "export" all the properties I've defined at the top to the calls to MSBuild within this target? 如何“导出”在此目标中对MSBuild的调用的顶部定义的所有属性?

Otherwise, I have to set the Properties of each MSBuild . 否则,我必须设置每个MSBuildProperties

You can also create a single property that contains all the definitions: 您还可以创建一个包含所有定义的属性:

<Target Name="micropython_prebuild">

    <PropertyGroup>
      <PrebuildProperties>
        uP_PrebuildPyExe="$(ProjectDir)\Source\micropython\py\make_prebuild_wrapper.exe";
        GnuCat=$(uP_PrebuildPyExe) gnu_cat;
        GnuSed=$(uP_PrebuildPyExe) gnu_sed;
        uP_GenHdrFolder=$(ObjectFolder)\genhdr;
        uP_QSTR_GEN_EXTRA_CFLAGS=-DNO_QSTR -DN_X64 -DN_X86 -DN_THUMB -DN_ARM -DN_XTENSA;
        uP_SRC=$(ProjectDir)\Source\micropython;
        uP_MPY_CROSS="$(ProjectDir)\Source\micropython\mpy-cross\mpy-cross.exe";
      </PrebuildProperties>
    </PropertyGroup>

    <MakeDir Directories="$(uP_GenHdrFolder)\"/>

    <MSBuild
        Projects="$(MSBuildProjectFile)"
        Condition="'' == ''"
        Targets="prebuild_mpversion"
        Properties="$(PrebuildProperties)"
    />
</Target>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM