我想要的是找到一种方法告诉CMAKE只下载项目(GIT更新等),就像它通常使用ExternalProject_add()函数一样,但不试图编译它(产生一个致命错误),并安装INCLUDE文件(确实是库).
是否有下载头文件并在CMAKE中安装它们的功能?有没有人已经有GLM标题库这个问题?
解决方法 通过将CONfigURE_COMMAND和BUILD_COMMAND设置为空字符串,可以避免在ExternalProject_Add
中配置和构建步骤. 至于安装 – 我一般不打扰.我喜欢将所有第三方源保留在我自己的构建树中,并在我自己的项目中引用这些.但是,您可以在这种情况下安装步骤类似于cmake -E copy_directory ….
所以完整的命令可能是:
include(ExternalProject)ExternalProject_Add( glm PREFIX ${CMAKE_BINARY_DIR}/glm GIT_REPOSITORY https://github.com/g-truc/glm.git CONfigURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/glm ${CMAKE_BINARY_DIR}/installed/glm LOG_DOWNLOAD ON LOG_INSTALL ON )
如果您也想避免安装步骤,那么也只需将其设置为空字符串.然后,要获取GLM包含目录(将在后续的target_include_directories
或include_directories
调用中使用),只需执行以下 *** 作:
include(ExternalProject)ExternalProject_Add( glm PREFIX ${CMAKE_BINARY_DIR}/glm GIT_REPOSITORY https://github.com/g-truc/glm.git CONfigURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" LOG_DOWNLOAD ON )ExternalProject_Get_Property(glm source_dir)set(GlmIncludeDir ${source_dir}/glm)...target_include_directorIEs(MyTarget PRIVATE ${GlmIncludeDir})总结
以上是内存溢出为你收集整理的c – 如何告诉CMAKE下载一些必要的头文件(更准确地说是GLM数学库)而不试图编译它们?全部内容,希望文章能够帮你解决c – 如何告诉CMAKE下载一些必要的头文件(更准确地说是GLM数学库)而不试图编译它们?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)