【初心者向け】CMake: Visual Studioプロジェクトのソース管理を「VS_SCC_LOCALPATH」でシンプルに設定
VS_SCC_LOCALPATH
は、CMake の "Properties: Targets" プロパティの一つであり、Visual Studio プロジェクトにおけるソースコード管理のローカルパスを設定するために使用されます。具体的には、ソースコード管理システム (SCM) がプロジェクトのソースファイルを格納するローカルディレクトリを指定します。
用途
VS_SCC_LOCALPATH
は、以下の場合に役立ちます。
- プロジェクトのソースコード管理システムの場所を変更したい場合
- 複数のプロジェクトで異なるソースコード管理システムを使用したい場合
- Visual Studio でプロジェクトを開いた際に、自動的にソースコード管理システムに接続したい場合
設定方法
VS_SCC_LOCALPATH
は、set_target_properties
コマンドを使用して設定できます。以下の例は、myproject
という名前のターゲットの VS_SCC_LOCALPATH
プロパティを /path/to/source/code
に設定する方法を示しています。
set_target_properties(myproject PROPERTIES VS_SCC_LOCALPATH "/path/to/source/code")
注意点
VS_SCC_LOCALPATH
プロパティを設定しても、ソースコード管理システムが自動的に接続されるとは限りません。ソースコード管理システムに接続するには、Visual Studio で手動で接続する必要があります。VS_SCC_LOCALPATH
プロパティは、Visual Studio 固有のものです。他の IDE では使用できません。
例
以下の例は、myproject
という名前のターゲットの VS_SCC_LOCALPATH
プロパティを /path/to/source/code
に設定し、Visual Studio でプロジェクトを開いた際に自動的に Git に接続するように設定する方法を示しています。
set_target_properties(myproject PROPERTIES VS_SCC_LOCALPATH "/path/to/source/code" VS_SCC_PROVIDER "Git:MSSCCI")
VS_SCC_LOCALPATH
プロパティは、ターゲットだけでなく、プロジェクト全体にも設定できます。VS_SCC_LOCALPATH
プロパティは、CMake 3.0 以降で使用できます。
例 1: 単一ターゲット
cmake_minimum_required(VERSION 3.0)
project(myproject)
set(CMAKE_SOURCE_DIR "/path/to/source/code")
set_target_properties(myproject PROPERTIES
VS_SCC_LOCALPATH "${CMAKE_SOURCE_DIR}"
VS_SCC_PROVIDER "Git:MSSCCI")
例 2: 複数のターゲット
この例では、myproject1
と myproject2
という名前の 2 つのターゲットの VS_SCC_LOCALPATH
プロパティを設定します。myproject1
は Git を使用し、myproject2
は Subversion を使用します。
cmake_minimum_required(VERSION 3.0)
project(myproject)
set(CMAKE_SOURCE_DIR "/path/to/source/code")
set_target_properties(myproject1 PROPERTIES
VS_SCC_LOCALPATH "${CMAKE_SOURCE_DIR}"
VS_SCC_PROVIDER "Git:MSSCCI")
set_target_properties(myproject2 PROPERTIES
VS_SCC_LOCALPATH "${CMAKE_SOURCE_DIR}/subversion"
VS_SCC_PROVIDER "Subversion:MSSCCI")
例 3: プロジェクト全体
この例では、プロジェクト全体の VS_SCC_LOCALPATH
プロパティを /path/to/source/code
に設定します。
cmake_minimum_required(VERSION 3.0)
project(myproject)
set(CMAKE_SOURCE_DIR "/path/to/source/code")
set_property(DIRECTORY "${CMAKE_SOURCE_DIR}" PROPERTY VS_SCC_LOCALPATH "/path/to/source/code")
set_property
コマンドを使用して、プロジェクト全体のVS_SCC_LOCALPATH
プロパティを設定しています。set_target_properties
コマンドを使用して、ターゲットのVS_SCC_LOCALPATH
プロパティとVS_SCC_PROVIDER
プロパティを設定しています。VS_SCC_LOCALPATH
プロパティは、ソースコード管理システムのローカルパスを指定します。VS_SCC_PROVIDER
プロパティは、使用するソースコード管理システムの種類を指定します。
set(CMAKE_SOURCE_DIR, "/path/to/source/code")
コマンドを使用して、プロジェクトのソースコードディレクトリを/path/to/source/code
に設定しています。project
コマンドを使用して、プロジェクトの名前をmyproject
に設定しています。- 上記の例では、
cmake_minimum_required
コマンドを使用して、CMake の最低必要なバージョンを 3.0 に設定しています。
代替プロパティ
- SET_PROPERTY(DIRECTORY ... VS_SCC_LOCALPATH ...)
このコマンドは、プロジェクトディレクトリのVS_SCC_LOCALPATH
プロパティを設定するために使用できます。- 利点
特定のディレクトリにのみVS_SCC_LOCALPATH
プロパティを設定できます。 - 欠点
設定が少し複雑です。
- 利点
- CMAKE_CURRENT_SOURCE_DIR
このプロパティは、現在の CMake ディレクトリのパスを指定します。Visual Studio は、このプロパティを使用して、ソースコード管理システムのローカルパスを自動的に推測することができます。- 利点
設定が簡単です。 - 欠点
常に正確なローカルパスを推測できるとは限りません。
- 利点
- CMAKE_SOURCE_DIR
このプロパティは、プロジェクトのソースコードディレクトリを指定します。Visual Studio は、このプロパティを使用して、ソースコード管理システムのローカルパスを自動的に推測することができます。- 利点
設定が簡単です。 - 欠点
常に正確なローカルパスを推測できるとは限りません。
- 利点
例
以下の例は、VS_SCC_LOCALPATH
プロパティの代替方法を示しています。
例 1: CMAKE_SOURCE_DIR
cmake_minimum_required(VERSION 3.0)
project(myproject)
set(CMAKE_SOURCE_DIR "/path/to/source/code")
例 2: CMAKE_CURRENT_SOURCE_DIR
cmake_minimum_required(VERSION 3.0)
project(myproject)
add_executable(myproject main.cpp)
例 3: SET_PROPERTY(DIRECTORY ... VS_SCC_LOCALPATH ...)
cmake_minimum_required(VERSION 3.0)
project(myproject)
set_property(DIRECTORY "${CMAKE_SOURCE_DIR}" PROPERTY VS_SCC_LOCALPATH "/path/to/source/code")
VS_SCC_LOCALPATH
プロパティは、Visual Studio でプロジェクトを開いた際に自動的にソースコード管理システムに接続したい場合に役立ちます。しかし、常に正確なローカルパスを推測できるとは限りません。より正確な方法が必要な場合は、CMAKE_SOURCE_DIR
、CMAKE_CURRENT_SOURCE_DIR
、または SET_PROPERTY(DIRECTORY ... VS_SCC_LOCALPATH ...)
コマンドを使用することを検討してください。
- 使用する代替方法は、プロジェクトのニーズによって異なります。