CMake コマンドについて質問がありfind_package
ます。
たとえば、OpenCV を使用する場合は、変数を設定できますOpenCV_DIR
。OpenCV_DIR
にもデフォルト値があります。しかし、どのコマンドがこの変数を生成しOpenCV_DIR
、いつ生成するのでしょうか?
CMake コマンドについて質問がありfind_package
ます。
たとえば、OpenCV を使用する場合は、変数を設定できますOpenCV_DIR
。OpenCV_DIR
にもデフォルト値があります。しかし、どのコマンドがこの変数を生成しOpenCV_DIR
、いつ生成するのでしょうか?
舞台裏では、find_package コマンドが CMake ファイルを実行しています。このファイルは、CMake ファイルによって呼び出されたときに、CMake ファイルが実行されているときに実行されます。これらのファイル (例: FindOpenCV.cmake) は、問題の変数を設定します。
find_package コマンドで問題が発生した場合は、対応する FindWhateverPackage.cmake ファイルを読むことで明確になることがよくあります。
find_package は、「モジュール」または「構成」モードで動作します。デフォルトでは、最初のモードが試行され、要求されたパッケージが見つからない場合は、2 番目のモードが試行されます。このモードでは、キャッシュ変数 _DIR を作成します。ドキュメントへのリンク
OpenCVConfig.cmake が見つかった場合、FindOpenCV もこの変数を設定します。詳細については、こちらを参照してください。