IT技術
PR

Cygwin 上で MSBuild を使って複数ソリューションをまとめてビルドする

kawa.xxx
記事内に商品プロモーションを含む場合があります

環境

  • Windows 8.1
  • Visual Studio 2015 Pro

環境変数の設定

システムのシステムの詳細設定の詳細設定のタブのシステム環境変数内の Path に下記の値を追加します。

C:\Program Files (x86)\MSBuild\14.0\Bin;

パスは使用しているバージョンによって若干違います。cygwin からは msbuild.exe と打つと使えます。 msbuild で実行できるものと思っていてちょっとハマりました。

文字化け対応

cygwin の文字コードを UTF8 にしているので SJIS で出力する msbuild は文字化けします。この辺とかを参考に nkf をインストールして

msbuild.exe | nkf -w

で文字化けせずに表示できます。

project ファイルの作成

all-build.proj という名前で下記のような内容で作りました。記載されている、それぞれのソリューションはVisualStudioで開いて正常にビルドができることを前提にしています。

<?xml version="1.0" encoding="utf-8" ?><Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Solution Include="path\a.sln" />
<Solution Include="path\b.sln" />
<Solution Include="path\c.sln" />
<Solution Include="path\d.sln" />
</ItemGroup>
<Target Name="Rebuild">
<MSBuild Projects="@(Solution)" Targets="Rebuild"/>
</Target>
</Project>

Build の実行

上記の proj ファイルを配置した ディレクトリで msbuild.exe | nkf -wですべてのソリューションが VisualStudio でいうところの ReBuild されます。コマンドプロンプトと違ってカラー表示がなくなるのがたまにキズですが、少しググッて見た感じだと現時点ではどうしようもなさそうですね…

参考文献

ABOUT ME
kawa.xxx
都内のIT系企業に勤める会社員。自分の備忘録的なアウトプット用の場所で、ボルダリングやガシェッド、セキュリティ、カメラの話題が中心です。
記事URLをコピーしました