我想构建一个依赖于 OpenCV(版本 3.4.6)即模块的应用程序。该模块具有 VTK 库(版本 7.1.1)作为依赖项。我想使用ExternalProject 来构建vtk 库和opencv viz 模块,然后想要构建主应用程序,所有这些都在一次cmake 运行中完成。
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 deps\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.cpp\nRun Code Online (Sandbox Code Playgroud)\n我使用 cmakeExternalProject 模块在子目录中构建 opencv 和 vtk,如下所示:
\ndeps/CMakeLists.txt
\ncmake_minimum_required(VERSION 3.14)\n\nproject(dependencies)\n\ninclude(ExternalProject)\n\nExternalProject_add(\n vtklib\n GIT_REPOSITORY https://github.com/Kitware/vtk\n GIT_TAG v7.1.1\n GIT_PROGRESS TRUE\n UPDATE_COMMAND ""\n CMAKE_ARGS\n -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}\n -DBUILD_TESTING=OFF\n -DBUILD_EXAMPLES=OFF\n -DVTK_DATA_EXCLUDE_FROM_ALL=ON\n -DVTK_USE_CXX11_FEATURES=ON\n -Wno-dev\n )\n\nadd_library(vtk INTERFACE IMPORTED GLOBAL)\nadd_dependencies(vtk vtklib)\n\nExternalProject_add(\n ocv\n GIT_REPOSITORY https://github.com/opencv/opencv\n GIT_TAG 3.4.6\n GIT_PROGRESS TRUE\n UPDATE_COMMAND ""\n CMAKE_ARGS\n -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}\n -DWITH_VTK=ON\n -Wno-dev\n )\n\n\n# ExternalProject_Get_Property(ocv install_dir)\n# include_directories(${install_dir}/src/ocv/include)\ninclude_directories(${CMAKE_INSTALL_PREFIX}/include)\n\nset(ocv_libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_VS_PLATFORM_NAME}/vc15)\nset(OCV_VERSION 346)\n\nadd_dependencies(ocv vtklib)\n\nadd_library(opencv_core SHARED IMPORTED)\nset_target_properties(opencv_core PROPERTIES\n IMPORTED_IMPLIB "${ocv_libdir}/lib/opencv_core${OCV_VERSION}.lib"\n IMPORTED_LOCATION "${ocv_libdir}/bin/opencv_core${OCV_VERSION}.dll"\n )\n\nadd_library(opencv_viz SHARED …Run Code Online (Sandbox Code Playgroud)