我看了这篇文章:
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文件,然后在当前输入文件中继续处理此命令之后.“