Porady: dodawanie niestandardowego kroku kompilacji do projektów MSBuild
Niestandardowy krok kompilacji to krok zdefiniowany przez użytkownika w kompilacji. Niestandardowy krok kompilacji zachowuje się jak każdy inny krok narzędzia polecenia , taki jak standardowy krok narzędzia kompilowania lub łączenia.
Określ niestandardowy krok kompilacji w pliku projektu (vcxproj). Krok może określać wiersz polecenia do wykonania, wszelkie dodatkowe pliki wejściowe lub wyjściowe oraz komunikat do wyświetlenia. Jeśli program MSBuild ustali, że pliki wyjściowe są nieaktualne w odniesieniu do plików wejściowych, wyświetla komunikat i wykonuje polecenie.
Aby określić lokalizację niestandardowego kroku kompilacji w sekwencji obiektów docelowych kompilacji, użyj jednego lub obu CustomBuildAfterTargets
elementów i CustomBuildBeforeTargets
XML w pliku projektu. Można na przykład określić, że niestandardowy krok kompilacji jest uruchamiany po docelowym narzędziu linku i przed elementem docelowym narzędzia manifestu. Rzeczywisty zestaw dostępnych obiektów docelowych zależy od konkretnej kompilacji.
CustomBuildBeforeTargets
Określ element , aby wykonać niestandardowy krok kompilacji przed określonym uruchomieniem obiektu docelowego, CustomBuildAfterTargets
element do wykonania krok po określonym uruchomieniu obiektu docelowego lub oba elementy, aby wykonać krok między dwoma sąsiednimi elementami docelowymi. Jeśli żaden z elementów nie zostanie określony, niestandardowe narzędzie kompilacji zostanie wykonane w domyślnej lokalizacji, która znajduje się po elemecie docelowym linku .
Niestandardowe kroki kompilacji i niestandardowe narzędzia kompilacji współdzielą informacje określone w elementach CustomBuildBeforeTargets
i CustomBuildAfterTargets
XML. W związku z tym określ te elementy docelowe tylko jeden raz w pliku projektu.
Aby zdefiniować, co jest wykonywane przez niestandardowy krok kompilacji
Dodaj grupę właściwości do pliku projektu. W tej grupie właściwości określ polecenie, jego dane wejściowe i wyjściowe oraz komunikat, jak pokazano w poniższym przykładzie. W tym przykładzie tworzony jest plik .cab z pliku main.cpp utworzonego w przewodniku: tworzenie projektu C++ przy użyciu programu MSBuild.
<ItemDefinitionGroup> <CustomBuildStep> <Command>makecab.exe $(ProjectDir)main.cpp $(TargetName).cab</Command> <Outputs>$(TargetName).cab</Outputs> <Inputs>$(ProjectDir)main.cpp</Inputs> </CustomBuildStep> </ItemDefinitionGroup>
Aby zdefiniować, gdzie w kompilacji zostanie wykonany niestandardowy krok kompilacji
Dodaj następującą grupę właściwości do pliku projektu. Możesz określić oba elementy docelowe lub pominąć jeden, jeśli chcesz wykonać krok niestandardowy przed określonym elementem docelowym lub po nim. W tym przykładzie program MSBuild nakazuje programowi MSBuild wykonanie kroku niestandardowego po kroku kompilacji, ale przed krokiem linku.
<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 niestandardowych narzędzi kompilacji do projektów MSBuild