Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您应该使用'find_package'还是'include'导入cmake目标?_Cmake_Imported Targets - Fatal编程技术网

您应该使用'find_package'还是'include'导入cmake目标?

您应该使用'find_package'还是'include'导入cmake目标?,cmake,imported-targets,Cmake,Imported Targets,从一个cmake生成系统导出目标时 install(TARGETS ${target} EXPORT ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DE

从一个cmake生成系统导出目标时


install(TARGETS ${target}
        EXPORT ${target}
        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
        PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${target}
        )

# install the export info
install(
        EXPORT ${target}
        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${target}
        NAMESPACE ${target}::
        FILE ${target}.cmake
)

然后,您应该在
CONFIG
模式下使用
find_package
从不同的项目中导入此目标,还是只
包含生成的cmake脚本?

您应该创建另一个名为
XXXConfig.cmake
xxx CONFIG.cmake
的脚本,通过
find\u package(XXX)
call,支持将其包含到其他项目中。脚本本身应该包括CMake通过
include()
生成的文件。更多信息请参阅。