【初心者向け】CMakeでホームページURLを設定しよう!PROJECT_HOMEPAGE_URLの使い方
構文
project(PROJECT_NAME VERSION MAJOR.MINOR.PATCH HOMEPAGE_URL)
引数
HOMEPAGE_URL
: プロジェクトのホームページURLPATCH
: パッチバージョン番号MINOR
: マイナーバージョン番号MAJOR
: メジャーバージョン番号VERSION
: プロジェクトのバージョンPROJECT_NAME
: プロジェクトの名前
例
project(MyProject 1.0.0 https://example.com)
この例では、MyProject
という名前のプロジェクトが定義され、バージョンは1.0.0
、ホームページURLはhttps://example.com
となります。
project()
コマンドで最後に呼び出されたものよりも上位にあるproject()
コマンドで設定されたHOMEPAGE_URL
変数が使用されます。- プロジェクトのトップレベルのホームページURLを取得するには、CMAKE_PROJECT_HOMEPAGE_URL変数を使用します。
HOMEPAGE_URL
変数は、パッケージメタデータやドキュメントのデフォルト値として使用されることを目的としています。HOMEPAGE_URL
オプションは省略可能です。省略した場合、ホームページURLは設定されません。
- プロジェクトに関する情報を簡単に共有できます。
基本的な例
project(MyProject 1.0.0 https://example.com)
# プロジェクトに関する情報を設定
set(PROJECT_DESCRIPTION "My awesome project")
set(PROJECT_LANGUAGES C++ C)
# ターゲットを定義
add_executable(my_app main.cpp)
project()
コマンドを使用して、MyProject
という名前のプロジェクトが定義されます。- プロジェクトのバージョンは
1.0.0
、ホームページURLはhttps://example.com
に設定されます。 set()
コマンドを使用して、プロジェクトの説明と使用されるプログラミング言語が設定されます。add_executable()
コマンドを使用して、my_app
という名前の実行可能ファイルが定義されます。
サブディレクトリにあるソースファイルを含む
project(MyProject 1.0.0 https://example.com)
# サブディレクトリにあるソースファイルを検索
set(CMAKE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/src")
# ターゲットを定義
add_executable(my_app src/main.cpp src/other.cpp)
この例では、以下のことが行われています:
project()
コマンドを使用して、MyProject
という名前のプロジェクトが定義されます。set()
コマンドを使用して、CMAKE_SOURCE_DIR
変数がsrc
ディレクトリに設定されます。これにより、CMakeはsrc
ディレクトリ内のソースファイルを検索します。add_executable()
コマンドを使用して、my_app
という名前の実行可能ファイルが定義されます。このターゲットは、src
ディレクトリ内のmain.cpp
とother.cpp
ファイルを含むように設定されます。
project(MyProject 1.0.0 https://example.com)
# FindBoost ライブラリ
find_package(Boost COMPONENTS system filesystem)
# ターゲットを定義
add_executable(my_app main.cpp)
target_link_libraries(my_app Boost::system Boost::filesystem)
project()
コマンドを使用して、MyProject
という名前のプロジェクトが定義されます。find_package()
コマンドを使用して、Boost
ライブラリが検索されます。add_executable()
コマンドを使用して、my_app
という名前の実行可能ファイルが定義されます。target_link_libraries()
コマンドを使用して、my_app
ターゲットがBoost::system
ライブラリとBoost::filesystem
ライブラリにリンクされるように設定されます。
プロジェクトのREADMEファイルにホームページURLを記載する
プロジェクトのREADMEファイルにホームページURLを記載することで、ユーザーはプロジェクトに関する情報を簡単に確認できます。
例
# MyProject
## ホームページ
https://www-example-com.cdn.ampproject.org/c/s/www.example.com
CMAKE_SOURCE_DIR変数を使用してホームページURLを推測する
CMAKE_SOURCE_DIR
変数を使用して、プロジェクトのホームページURLを推測することができます。これは、プロジェクトのソースコードがバージョン管理システム(VCS)で管理されている場合に役立ちます。
例
set(PROJECT_HOMEPAGE_URL "${CMAKE_SOURCE_DIR}/URL")
この例では、CMAKE_SOURCE_DIR
変数の値がURL
という名前のファイルを含むディレクトリに設定されている場合、PROJECT_HOMEPAGE_URL
変数にそのファイルの内容が設定されます。
カスタム変数を使用する
プロジェクト固有の情報に関連するURLを定義するために、カスタム変数を使用することができます。
例
set(PROJECT_DOCUMENTATION_URL "https://example.com/docs")
この例では、PROJECT_DOCUMENTATION_URL
という名前のカスタム変数が定義され、プロジェクトのドキュメントのURLに設定されています。
CMakeLists.txtファイルに直接URLを記載する
project()
コマンドの引数として直接URLを記載することもできます。ただし、これは推奨される方法ではありません。
例
project(MyProject 1.0.0 https://example.com)
PROJECT_HOMEPAGE_URL変数は、プロジェクトのホームページURLを設定するための便利な変数ですが、必ずしも必要ではありません。上記以外にも、ホームページURLを設定する方法はいくつかあります。