標準で提供されている pkg-config 用のモジュールを使う。
- find_package() で PkgConfig を指定する
- 実体は cmake 標準の FindPkgConfig.cmake モジュール
- pkg_check_modules() で探したいライブラリーを指定する
- ここで検索結果に名前をつけることであとで参照できる
- 2 でつけた名前を使って -I オプションや -l オプションの指定をひっぱりだす
サンプル見たほうが早い。
CMakeLists.txt
# load the module to use pkg-config
find_package(PkgConfig)
# search library with pkg-config and name its results "LIBSAMPLE"
pkg_check_modules(LIBSAMPLE REQUIRED libsample)
# use the variable <RESULTNAME>_INCLUDE_DIRS to get include paths
include_directories(${LIBSAMPLE_INCLUDE_DIRS})
add_executable(sample
main.cpp
)
# use the variable <RESULTNAME>_LIBRARIES to get library paths
target_link_libraries(sample
${LIBSAMPLE_LIBRARIES}
)