2021/02/20作成, 2020/03/20更新

Cmakeトラブルシューティング

find_path がパスを見つけられない

find_path(FP filename PATHS .. ../..)

../filename もしくは ../../filename が見つかるはずなのだが常に NOTFOUND になる。原因はCMAKE_FIND_ROOT_PATHが設定されている(もしくはツールチェインにより設定される)場合にfind_pathが環境変数を元に検索するようになるため。

以下のようにNO_CMAKE_FIND_ROOT_PATHを付けることで見つかる。

find_path(FP filename PATHS .. ../.. NO_CMAKE_FIND_ROOT_PATH)