微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 如何在CMake中明确指定树外源?

我看了这篇文章Using CMake to statically link to a library outside of the project.但我仍然无法解释这意味着什么:
add_subdirectory(/path/to/the/library/source/directory subproject/grzeslib)

我假设“/ path / to / the / library / source / directory”表示来自硬盘的路径,但我不明白“subproject / grzeslib”的含义.
现在我试过了:

include_directories(../path/to/dir)
add_subdirectory (../path/to/dir .)

但是我得到了一个精心的警告.有一个更好的方法吗?

解决方法

第二个参数是该子目录中目标结果的输出目录.

从这里的文档:https://cmake.org/cmake/help/v3.3/command/add_subdirectory.html

add_subdirectory

将子目录添加到构建中.

add_subdirectory(source_dir [binary_dir]
             [EXCLUDE_FROM_ALL])

将子目录添加到构建中. source_dir指定源CMakeLists.txt和代码文件所在的目录.如果它是相对路径,它将根据当前目录(典型用法)进行评估,但它也可能是绝对路径. binary_dir指定放置输出文件的目录.如果它是相对路径,它将根据当前输出目录进行评估,但它也可能是绝对路径.如果未指定binary_dir,则将使用扩展任何相对路径之前的source_dir的值(典型用法). CMake将立即处理指定源目录中的CMakeLists.txt文件,然后在当前输入文件中继续处理此命令之后.“

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐