cmake:読み取れないファイルがあるかどうかを確認する方法

cmake:読み取れないファイルがあるかどうかを確認する方法

理論的には、cmakeファイルが存在することを確認することが可能です。

if(EXISTS "/dev/spidev0.0")

~によると文書これはおそらく指定されたファイルまたはディレクトリが存在する場合は真です。フルパスに対してのみ明示的に定義された動作。しかし、ユーザーがファイルに対する読み取りまたは書き込み権限を持っていない場合、上記の条件は失敗することがわかりました。権限を追加すると機能します。

ただし、プロジェクトをビルドしたユーザーはデバイスにアクセスできないため、ファイル権限がありません。ビルドされたソフトウェアはSPIアクセス可能な別のアカウントで実行されるため、デバイスファイルが見つかったら適切なモジュールをビルドする必要があります。test -e /dev/spidev0.0本当ですがcmakeそういうようですtest -r

回避策としてでシンボリックリンクを確認できますが、/sys/class/spidev/spidev0.0これを処理する正しい方法は何ですか?

関連情報