「CMake - ツリー」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == ビルドに使用されるソースコードを含むトップレベルディレクトリをソースツリーと呼ぶ。<br> ソースツリーは、トップレベルのCMakeLists.txtが配置され、プロジェクトが定義される。<br> <br> ビルドの生成物を保管するためのディレクトリをビルドツリーと呼ぶ。<br> ビルドツリーは、CMakeCache.txtが作成・保管され、キャッシュ変数やオプショ…」)
 
(文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…)
 
34行目: 34行目:
<br><br>
<br><br>


{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:Qt]]
[[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:Qt]]

2024年10月14日 (月) 10:39時点における最新版

概要

ビルドに使用されるソースコードを含むトップレベルディレクトリをソースツリーと呼ぶ。
ソースツリーは、トップレベルのCMakeLists.txtが配置され、プロジェクトが定義される。

ビルドの生成物を保管するためのディレクトリをビルドツリーと呼ぶ。
ビルドツリーは、CMakeCache.txtが作成・保管され、キャッシュ変数やオプション等が格納される。

同一ディレクトリを両方の用途に使用することも可能であるが、ビルドツリーをソースツリーと分離(out-of-source build)して、ソースツリーを綺麗に保つことが推奨されている。


ソースツリーおよびビルドツリー

cmakeコマンドの実行中において、実行時の情報を提供する変数が多数提供されている。
例えば、処理中の位置を取得する場合は、次のような変数がある。

  • CMAKE_CURRENT_SOURCE_DIR (推奨)
    ソースツリーにおける現在処理中のディレクトリの絶対パス

  • CMAKE_CURRENT_BINARY_DIR (推奨)
    ビルドツリー内における現在処理中のディレクトリの絶対パス


非推奨の変数を以下に示す。

  • CMAKE_SOURCE_DIR (非推奨)
    ソースツリーの絶対パス (CMakeLists.txtファイルが存在するディレクトリへの絶対パス)
    通常、プロジェクトのルートディレクトリを指す。

    変数CMAKE_SOURCE_DIRは、異なるプロジェクトがネストしている場合、自身のプロジェクトのルートディレクトリ以外のパスを示すので使用しない方がよい。
    代替できる変数として、CMAKE_CURRENT_SOURCE_DIRPROJECT_SOURCE_DIR<プロジェクト名>_SOURCE_DIRがある。

  • CMAKE_BINARY_DIR ()
    バイナリツリーの絶対パス

    ビルドプロセス中に生成されるファイル (バイナリや中間ファイル等) が出力されるディレクトリへの絶対パスを表す。
    ソースコードからビルドされた実行可能ファイル、ライブラリ、テスト等のビルドされた成果物がここに配置される。
    通常、プロジェクトのビルドディレクトリを指す。