12,788
回編集
(→概要) |
|||
122行目: | 122行目: | ||
* generalオプション | * generalオプション | ||
*: 項目の前にgeneralオプションを付加する場合、全てのビルド構成に対して項目を追加するように指定する。 | *: 項目の前にgeneralオプションを付加する場合、全てのビルド構成に対して項目を追加するように指定する。 | ||
<br><br> | |||
== ライブラリの検索 == | |||
find_libraryコマンドを使用して、特定の名前のライブラリを検索することができる。<br> | |||
* NAMESオプション | |||
*: ライブラリ名を指定することにより、libプレフィックス無しでライブラリを検索する。 | |||
* PATHSオプション | |||
*: 任意 | |||
*: ライブラリを検索する場所を指定する。 | |||
*: 必要に応じて、パスを調整する。 | |||
* NO_DEFAULT_PATHオプション | |||
*: 任意 | |||
*: 指定したパスのみを検索する。 | |||
<br> | |||
以下の例では、動的ライブラリであるlibsmbclient.soファイルを検索して使用している。<br> | |||
もし、ライブラリの検索に失敗した場合、エラーメッセージを表示してビルドを停止する。<br> | |||
ターゲット (実行可能ファイルまたはライブラリ) を定義する。<br> | |||
target_link_librariesコマンドを使用して、検索で発見したライブラリをターゲットにリンクする。<br> | |||
<syntaxhighlight lang="cmake"> | |||
# ライブラリの検索 | |||
find_library(SMBCLIENT_LIBRARY | |||
NAMES sambclient | |||
PATHS /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib # PATHオプションは任意 | |||
NO_DEFAULT_PATH # NO_DEFAULT_PATHオプションは任意 | |||
) | |||
# ライブラリの検索に成功したかどうかを確認 | |||
if(NOT SMBCLIENT_LIBRARY) | |||
message(FATAL_ERROR "libsmbclient.so library not found") | |||
endif() | |||
# ターゲット (実行可能ファイルまたはライブラリ) を定義 | |||
# Qtの場合は、qt_add_executableコマンドを使用する | |||
add_executable(<ターゲット名> | |||
<ソースファイル 1> | |||
<ソースファイル 2> | |||
# ...略 | |||
) | |||
# ターゲットにライブラリをリンク | |||
target_link_libraries(<ターゲット名> | |||
${SMBCLIENT_LIBRARY} | |||
# ...略 | |||
) | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||