Instrukcje: dodawanie niestandardowych narzędzi kompilacji do projektów MSBuild
Niestandardowe narzędzie kompilacji to zdefiniowane przez użytkownika narzędzie wiersza polecenia skojarzone z określonym plikiem.
W przypadku określonego pliku określ w pliku projektu (.vcxproj
) wiersz polecenia do wykonania, wszelkie inne pliki wejściowe lub wyjściowe oraz komunikat do wyświetlenia. Jeśli program MSBuild ustali, że pliki wyjściowe są nieaktualne względem plików wejściowych, wyświetla komunikat i wykonuje narzędzie wiersza polecenia.
Określanie niestandardowych narzędzi kompilacji i niestandardowych kroków kompilacji
Aby określić, kiedy jest wykonywane niestandardowe narzędzie kompilacji, użyj jednego lub obu CustomBuildBeforeTargets
elementów i CustomBuildAfterTargets
XML w pliku projektu. Można na przykład określić, że niestandardowe narzędzie kompilacji jest uruchamiane po kompilatorze MIDL i przed kompilatorem języka C/C++. CustomBuildBeforeTargets
Określ element do wykonania narzędzia przed określonym uruchomieniem elementu docelowego. CustomBuildAfterTargets
Użyj elementu , aby wykonać narzędzie po uruchomieniu określonego elementu docelowego. Użyj obu elementów, aby uruchomić narzędzie między wykonaniem dwóch obiektów docelowych. Jeśli żaden element nie zostanie określony, niestandardowe narzędzie kompilacji zostanie wykonane w jego domyślnej lokalizacji, która znajduje się przed celem MIDL .
Niestandardowe kroki kompilacji i niestandardowe narzędzia kompilacji udostępniają informacje określone w elementach CustomBuildBeforeTargets
i CustomBuildAfterTargets
XML. Określ te elementy docelowe jednorazowo w pliku projektu.
Aby dodać niestandardowe narzędzie kompilacji
Dodaj grupę elementów do pliku projektu i dodaj element dla każdego pliku wejściowego. Określ polecenie i jego dane wejściowe, dane wyjściowe i komunikat jako metadane elementu, jak pokazano tutaj. W tym przykładzie przyjęto założenie, że plik "faq.txt" istnieje w tym samym katalogu co projekt. Krok kompilacji niestandardowej kopiuje go do katalogu wyjściowego.
<ItemGroup> <CustomBuild Include="faq.txt"> <Message>Copying readme...</Message> <Command>copy %(Identity) $(OutDir)%(Identity)</Command> <Outputs>$(OutDir)%(Identity)</Outputs> </CustomBuild> </ItemGroup>
Aby zdefiniować, gdzie w kompilacji są wykonywane niestandardowe narzędzia kompilacji
Dodaj następującą grupę właściwości do pliku projektu. Musisz określić co najmniej jeden z obiektów docelowych. Możesz pominąć drugą, jeśli interesuje Cię tylko wykonanie kroku kompilacji przed (lub po) określonym elementem docelowym. Ten przykład wykonuje krok niestandardowy po skompilowaniu, ale przed połączeniem.
<PropertyGroup> <CustomBuildAfterTargets>ClCompile</CustomBuildAfterTargets> <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets> </PropertyGroup>
Zobacz też
Przewodnik: tworzenie projektu C++ przy użyciu programu MSBuild
Instrukcje: używanie zdarzeń kompilacji w projektach MSBuild
Instrukcje: dodawanie niestandardowego kroku kompilacji do projektów MSBuild
Typowe makra poleceń i właściwości programu MSBuild
Metadane dobrze znanego elementu programu MSBuild