CMake - ファイル
ナビゲーションに移動
検索に移動
概要
コピー
configure_file
コマンドを使用して、ソースディレクトリ内のファイルをビルドディレクトリへコピーする。
また、@ONLY
オプションを付加して、@<文字列>@形式の変数をファイル内で置換することもできる。
configure_file(<コピー元のファイルのパス> ${CMAKE_CURRENT_BINARY_DIR}/<コピー先のファイルのパス> @ONLY)
# 例:
# /<プロジェクトディレクトリ>/etc/hoge.conf.inファイルを/<ビルドディレクトリ>/etcディレクトリにコピー
# @ONLYオプションを付加して、hoge.conf.inファイル内の@<文字列>@形式の変数をCMake変数で置換
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/etc/hoge.conf.in ${CMAKE_CURRENT_BINARY_DIR}/etc/hoge.conf @ONLY)
インストールルール
install
コマンドを使用して、ファイルを任意のディレクトリにインストールする。
CACHE PATH
オプションを付加して独自の変数を定義することにより、CMakeのコマンドラインオプション-D<オプション名>=を付加してパスをカスタマイズすることができる。
install(FILES <インストール元のファイルのパス> DESTINATION <インストール先のディレクトリのパス>)
# 例:
# /<ビルドディレクトリ>/etc/hoge.confファイルを、CMake変数SYSCONF_DIRで指定したディレクトリへインストール
# cmakeコマンドの実行時にデフォルトのインストールディレクトリを上書きする場合は、cmake .. -DSYSCONF_DIR=$HOME/.config/hogeのように指定する
set(SYSCONF_DIR "/etc/hoge" CACHE PATH "Directory to install hoge.conf")
install(FILES ${CMAKE_BINARY_DIR}/hoge.conf DESTINATION ${SYSCONF_DIR})