Help us understand the problem. What is going on with this article?

pigpioをcmakeとともに使う

More than 1 year has passed since last update.

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です.

strv
ロボットつくるひと.ソフトは苦手.ロボットベンチャーで働いてるよ
http://strv.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした