У меня есть CMake, который добавляет OpenCV в проект.
Я добавляю openCV в проект, используя этот код:
if (MSVC)
file(TO_CMAKE_PATH $ENV{OPENCV_ROOT} OpenCV_DIR)
IF(NOT OpenCV_DIR)
MESSAGE( FATAL_ERROR "Please point the environment variable OpenCV_ROOT to the root directory of OpenCV installation. required openCv V 4.2.x as minimum")
ENDIF()
set(BUILD_SHARED_LIBS OFF)
find_package(OpenCV 4.2.0 REQUIRED)
else (MSVC)
set(BUILD_SHARED_LIBS ON)
find_package(OpenCV COMPONENTS core highgui imgproc imgcodecs videoio photo stitching flann ml features2d calib3d objdetect REQUIRED)
endif(MSVC)
Если я не определяю переменную среды OpenCV_ root CMake не может найти OpenCV, и если я его определю, я получаю это предупреждение:
CMake Warning (dev) at CMakeLists.txt:36 (find_package):
Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Environment variable OpenCV_ROOT is set to:
D:\local\opencv
For compatibility, CMake is ignoring the variable.
This warning is for project developers. Use -Wno-dev to suppress it.
Так как CMake должен найти OpenCV, если я не определил переменную среды openCV_ root?
Тот же вопрос также действителен для других пакетов (например, boost, о котором я получаю то же предупреждение), следует ли нам определять переменную env или нет?
, если я не определяю переменную env как OpenCV найдет пакет?