diff --git a/HeaderMake/HeaderMake.vcxproj b/HeaderMake/HeaderMake.vcxproj index b2e84bd5f8..3fe2440a65 100644 --- a/HeaderMake/HeaderMake.vcxproj +++ b/HeaderMake/HeaderMake.vcxproj @@ -16,15 +16,14 @@ Win32Proj + Application - v141 Unicode true Application - v141 Unicode diff --git a/MakefileMake/MakefileMake.vcxproj b/MakefileMake/MakefileMake.vcxproj index 1c46528825..5cd854118e 100644 --- a/MakefileMake/MakefileMake.vcxproj +++ b/MakefileMake/MakefileMake.vcxproj @@ -16,15 +16,14 @@ Win32Proj + Application - v141 Unicode true Application - v141 Unicode diff --git a/README.md b/README.md index 6a392a827d..2897510c75 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ - [Build Requirements](#build-requirements) - [Visual Studio Community 2017](#visual-studio-community-2017) - [Visual Studio Install options required](#visual-studio-install-options-required) + - [Visual Studio Community 2019 に関しては対応を検討中です。](#visual-studio-community-2019-に関しては対応を検討中です) - [How to build](#how-to-build) - [詳細情報](#詳細情報) - [PR(Pull Request) を簡単にローカルに取得する方法](#prpull-request-を簡単にローカルに取得する方法) @@ -50,7 +51,10 @@ https://github.com/sakura-editor/sakura/wiki ## Build Requirements ### Visual Studio Community 2017 -- [Visual Studio Community 2017](https://www.visualstudio.com/downloads/) + +現状では Visual Studio Community 2017 を使用しています。 + +- [Visual Studio Community 2017](https://visualstudio.microsoft.com/vs/older-downloads/) #### Visual Studio Install options required - Windows SDK @@ -60,6 +64,13 @@ https://github.com/sakura-editor/sakura/wiki More information: https://github.com/sakura-editor/sakura/issues/6 +### Visual Studio Community 2019 に関しては対応を検討中です。 + +- [Visual Studio Community 2019](https://www.visualstudio.com/downloads/) + +Visual Studio 2017/2019 の両対応に関しては #866 で対処済みです。 +[仕組みに関してはこちらを参照](vcx-props/project-PlatformToolset.md) + ## How to build - [7Zip](https://sevenzip.osdn.jp/) のインストールして 7z.exe へのパスを通します。 diff --git a/sakura/sakura.vcxproj b/sakura/sakura.vcxproj index ab3fea0608..ed742cc244 100644 --- a/sakura/sakura.vcxproj +++ b/sakura/sakura.vcxproj @@ -23,28 +23,25 @@ {AF03508C-515E-4A0E-87BE-67ED1E254BD0} + Application - v141 false Unicode Application - v141 false Unicode Application - v141 false Unicode true Application - v141 false Unicode true diff --git a/sakura_lang_en_US/sakura_lang_en_US.vcxproj b/sakura_lang_en_US/sakura_lang_en_US.vcxproj index 547736d1ce..1f4e9f2a4d 100644 --- a/sakura_lang_en_US/sakura_lang_en_US.vcxproj +++ b/sakura_lang_en_US/sakura_lang_en_US.vcxproj @@ -23,27 +23,24 @@ sakura_lang_en_US + DynamicLibrary - v141 false Unicode DynamicLibrary - v141 false Unicode DynamicLibrary - v141 false Unicode DynamicLibrary - v141 false Unicode diff --git a/vcx-props/project-PlatformToolset.md b/vcx-props/project-PlatformToolset.md new file mode 100644 index 0000000000..9bae82f042 --- /dev/null +++ b/vcx-props/project-PlatformToolset.md @@ -0,0 +1,51 @@ +# Visual Studio の 各バージョンの PlatformToolset に関して + + + +- [Visual Studio の 各バージョンの PlatformToolset に関して](#visual-studio-の-各バージョンの-platformtoolset-に関して) + - [PlatformToolset の対応関係](#platformtoolset-の対応関係) + - [異なる Visual Studio のバージョンで開いたときの動作](#異なる-visual-studio-のバージョンで開いたときの動作) + - [解決策](#解決策) + - [参考情報](#参考情報) + - [コマンドラインで PlatformToolset の設定を上書きする方法](#コマンドラインで-platformtoolset-の設定を上書きする方法) + - [PlatformToolset の指定に関する参考リンク](#platformtoolset-の指定に関する参考リンク) + + + +## PlatformToolset の対応関係 + +Visual Studio の各バージョンごとにデフォルトの PlatformToolset (コンパイルエンジンのバージョン)があります。 + +|Visual Studio のバージョン|PlatformToolset| +|--|--| +|Visual Studio 2017|v141| +|Visaul Studio 2019|v142| + +## 異なる Visual Studio のバージョンで開いたときの動作 + +Visual Studio 2017 で作成したソリューション/プロジェクトを Visual Studio 2019 で開くと Visaul Studio 2019 の標準の v142 に変換するか +確認するダイアログが出ます。一度ソリューションを開くとユーザーの選択がローカルに保存されるので同じソリューションを再度開いても再度確認される +ことはありません。 + +しかしながら別のフォルダにソースコードを clone した場合などには再度ユーザーに確認するダイアログが出るので煩雑です。 + +## 解決策 + +1. `PlatformToolset` の設定を[外部のファイル](vcxcompat.props) にまとめます +2. そのファイルでは、 `Condition` の指定で開かれた Visaul Studio のバージョンによって、 `デフォルトで 使用する PlatformToolset` を指定します。 +3. 各プロジェクトファイルで上記ファイルを [Import Project](https://docs.microsoft.com/ja-jp/visualstudio/msbuild/import-element-msbuild?view=vs-2019) でインクルードします。 + +### 参考情報 + +https://qiita.com/yumetodo/items/a8324efaf83c9c08d168 + + +## コマンドラインで PlatformToolset の設定を上書きする方法 + +上記方法によって、デフォルトで使用する `PlatformToolset` を変更しますが、 +`/p:PlatformToolset=v141` あるいは `/p:PlatformToolset=v142` のようなパラメータを `msbuild.exe` の引数に +追加してやれば、デフォルトの設定を上書きして好きな `PlatformToolset` でコンパイルすることができます。 + +### PlatformToolset の指定に関する参考リンク + +https://docs.microsoft.com/en-us/cpp/build/reference/msbuild-visual-cpp-overview?view=vs-2019#platformtoolset-property diff --git a/vcx-props/vcxcompat.props b/vcx-props/vcxcompat.props new file mode 100644 index 0000000000..a1324f5c26 --- /dev/null +++ b/vcx-props/vcxcompat.props @@ -0,0 +1,9 @@ + + + + v141 + + + v142 + +