pigpioをcmakeとともに使う
pigpioをcmakeとともに使う
Raspberry Pi の GPIO をとても簡単・便利・お手軽に利用できる pigpio(本家, GitHub ) というライブラリがあります.
このライブラリを cmake から便利に使うためのユーティリティが GitHub で供給されているので紹介するだけの簡単な Tips です.
が,最後の部分はこれでいいのか感があるので誰かいい方法知ってたら教えてください.
ユーティリティ
肝心のモノは前述のGitHubのリポジトリにあるこれです.
https://github.com/joan2937/pigpio/blob/master/util/Findpigpio.cmake
この Findhoge.cmake
という形式のファイルは, cmake で find_package から検索できるようにします.
この形式のファイルを CMAKE_MODULE_PATH
で指定されたディレクトに置いておくことで,はじめて検索されるようになるようです(参考 : https://cmake.org/cmake/help/v3.5/command/find_package.html).
そのためのファイルが上記の Findpigpio.cmake
となります.
ところが,せっかくの便利な util ですが,インストール時に何処かにコピーされるわけでもないようなので,自分で明示的に使う必要があります.
CMakeLists.txt への追加行
まずは, pigpio を find_package します.
pigpio の GitHub を /home/strv/work/
に clone した場合の説明です.
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} /home/strv/work/pigpio/util)
find_package(pigpio REQUIRED)
以上をpigpioを使うCMakeLists.txtの最初の方に書いておけばOKです.
もしくは, Findpigpio.cmake
ファイルを /usr/share/cmake-*/Modules/
以下にコピーしても大丈夫ですが, cmake のバージョンが変わるとコピーし直す必要があります.
コピーしないほうかいいような気もするのですが, CMakeLists.txt 中に環境依存なパスを書くのもなぁ,と思いつつ,どっちが良いのかイマイチわかりません.
正しい?良い?方法教えてください…
そもそもutilがMODULEではなくCONFIGとして配られていれば解決する話?
あとは,実際に pigpio (や,pigpiod) を使うコンパイル対象の依存関係に,find_package により利用可能になるパスを使って記述してやればOKです.
Author And Source
この問題について(pigpioをcmakeとともに使う), 我々は、より多くの情報をここで見つけました https://qiita.com/strv/items/749eccb8114011837dc4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .