Visual Studio 開発を CMake でさらに便利に: プラットフォーム設定のベストプラクティス
"CMAKE_VS_PLATFORM_NAME_DEFAULT" は、CMake で生成される Visual Studio プロジェクトファイルにおけるデフォルトのプラットフォーム名を定義する変数です。これは、Visual Studio ターゲット プラットフォームの名前を決定するために使用されます。
詳細
"CMAKE_VS_PLATFORM_NAME_DEFAULT" は、CMake 3.14 以降で導入されました。この変数は、CMAKE_GENERATOR_PLATFORM
変数が設定されていない場合にのみ使用されます。CMAKE_GENERATOR_PLATFORM
変数は、CMake プロジェクトを生成する際に明示的に設定することができます。
例
以下の例は、"CMAKE_VS_PLATFORM_NAME_DEFAULT" 変数を設定する方法を示しています。
set(CMAKE_VS_PLATFORM_NAME_DEFAULT "x64")
この例では、"x64" が Visual Studio プロジェクトファイルにおけるデフォルトのプラットフォーム名として設定されます。
- "CMAKE_VS_PLATFORM_NAME_DEFAULT" 変数の値は、Visual Studio のプラットフォーム名と一致する必要があります。詳細については、Visual Studio のドキュメントを参照してください。
- "CMAKE_VS_PLATFORM_NAME_DEFAULT" 変数は、ツールチェーン ファイルで使用されることが多いです。ツールチェーン ファイルは、CMake プロジェクトを生成するために必要な設定を定義します。
cmake_minimum_required(VERSION 3.14)
set(CMAKE_VS_PLATFORM_NAME_DEFAULT "x64")
project(MyProject)
add_executable(MyTarget MySource.cpp)
この例では、CMAKE_VS_PLATFORM_NAME_DEFAULT
変数が "x64" に設定されています。そのため、Visual Studio で MyProject プロジェクトを開くと、デフォルトのプラットフォームは "x64" になります。
例 2: ツールチェーン ファイルで "CMAKE_VS_PLATFORM_NAME_DEFAULT" を設定する
cmake_minimum_required(VERSION 3.14)
set(CMAKE_TOOLCHAIN_FILE "MyToolchain.cmake")
project(MyProject)
add_executable(MyTarget MySource.cpp)
MyToolchain.cmake
ファイルの内容は以下のようになります。
set(CMAKE_VS_PLATFORM_NAME_DEFAULT "Win32")
この例では、MyToolchain.cmake
ファイルで CMAKE_VS_PLATFORM_NAME_DEFAULT
変数が "Win32" に設定されています。そのため、Visual Studio で MyProject プロジェクトを開くと、デフォルトのプラットフォームは "Win32" になります。
例 3: CMAKE_GENERATOR_PLATFORM
変数を使用してプラットフォームを明示的に設定する
cmake_minimum_required(VERSION 3.14)
set(CMAKE_GENERATOR_PLATFORM "Win64")
project(MyProject)
add_executable(MyTarget MySource.cpp)
この例では、CMAKE_GENERATOR_PLATFORM
変数が "Win64" に設定されています。そのため、Visual Studio で MyProject プロジェクトを開くと、プラットフォームは "Win64" に設定されます。
- 詳細については、CMake のドキュメントを参照してください。
CMAKE_VS_PLATFORM_NAME_DEFAULT
変数は、Visual Studio 2015 以降でのみ使用できます。
CMAKE_GENERATOR_PLATFORM 変数を使用する
CMAKE_GENERATOR_PLATFORM
変数は、CMake プロジェクトを生成する際に明示的に設定することができます。この変数は、"CMAKE_VS_PLATFORM_NAME_DEFAULT" 変数よりも優先的に使用されます。
cmake_minimum_required(VERSION 3.14)
set(CMAKE_GENERATOR_PLATFORM "Win64")
project(MyProject)
add_executable(MyTarget MySource.cpp)
ツールチェーン ファイルでプラットフォームを設定する
ツールチェーン ファイルは、CMake プロジェクトを生成するために必要な設定を定義します。ツールチェーン ファイル内で、以下の変数を設定することができます。
CMAKE_VS_PLATFORM_TOOLSET
: ターゲット ツールセット (例: "v142")CMAKE_VS_PLATFORM_MACHINE
: ターゲット マシン (例: "x86", "AMD64")CMAKE_VS_PLATFORM_ARCH
: ターゲット アーキテクチャ (例: "x64", "Win32")
これらの変数を設定することで、Visual Studio プロジェクトファイルにおけるプラットフォーム名を定義することができます。
set(CMAKE_VS_PLATFORM_ARCH "x64")
set(CMAKE_VS_PLATFORM_MACHINE "x86")
set(CMAKE_VS_PLATFORM_TOOLSET "v142")
プロジェクト ファイルでプラットフォームを設定する
プロジェクト ファイル内で、以下のプロパティを設定することができます。
WIN32_SHARED_LIBRARY_TARGET_TYPE
: Windows 共有ライブラリ ターゲット タイプ (例: "Dll", "LibWindows")WIN32_STATIC_LIBRARY_TARGET_TYPE
: Windows 静的ライブラリ ターゲット タイプ (例: "StaticLib", "LibWindows")WIN32_EXECUTABLE_TARGET_TYPE
: Windows 実行可能ファイルのターゲット タイプ (例: "WindowsApplication", "ExeWindows")
set_property(TARGET MyTarget PROPERTY WIN32_EXECUTABLE_TARGET_TYPE "ExeWindows")