機能 #3082
完了
修正内容
- Policy CMP0046とCMP0048に対応した
- OpenCVコンポーネント群であるImageProcessingの全体ビルドでの確認で、CMP0046とCMP0048に対するワーニングが出たことによる
- Ubuntu14.04は、apt-getでcmakeをインストールすると、2.8.12.2のバージョンがインストールされるので、cmake_minimum_requiredはVERSION 2.8のままとした
CMP0046に対する修正詳細¶
参考:Added new policy CMP0046 which requires dependencies added by add_dependencies() to actually exist.
以下の形式でないとワーニングが出るようだ。add_custom_targetが無いと指摘されてワーニングになっている。
-----
cmake_policy(SET CMP0046 NEW)
add_custom_target(foo)
add_custom_target(bar)
add_dependencies(foo bar)
-----
src/CMakeLists.txtとidl/CMakeLists.txtに関係しているため、if文で判断させて多重宣言にならないようにした。
if(NOT TARGET ALL_IDL_TGT)
add_custom_target(ALL_IDL_TGT)
endif(NOT TARGET ALL_IDL_TGT)
CMP0048に対する修正詳細¶
ワーニング出力状況
- Delete Cache 直後は出力されない
- CMake GUIで、Configureボタンを続けて押すと、3.0.2のバージョンは2回目以降からこのワーニングが出るが、
2.8.12.2のバージョンは同じ操作を繰り返しても問題ない
- CMake3.0.2の環境でImageProcessingの一括ビルドをすると、一番初めのAffineコンポーネントでは出力されないが、続く
BackGroundSubtractionSimple ~ Translateのコンポーネントは全てこのCMP0048が出る
CMP0048ワーニングメッセージ
CMake Warning (dev) at components/BackGroundSubtractionSimple/CMakeLists.txt:4 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
project()コマンドの引数を変更すればよいのだが、2.8.12.2バージョンではエラーになるため、if文で判断させるようにした。
if(POLICY CMP0048)
cmake_policy(SET CMP0048 OLD)
endif()
r518とr519にて修正。
他の形式にエクスポート: Atom
PDF