考虑以下 a 的示例FindXXX.cmake:
find_path(XXX_INCLUDE_DIR NAMES XXX/XXX.h)
find_path(XXXYYY_INCLUDE_DIR NAMES YYY.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(XXX DEFAULT_MSG
XXX_INCLUDE_DIR XXXYYY_INCLUDE_DIR)
set(XXX_INCLUDE_DIRS "${XXX_INCLUDE_DIR} ${XXXYYY_INCLUDE_DIR}")
Run Code Online (Sandbox Code Playgroud)
正如本例中所示,XXX_INCLUDE_DIRS是一个中间有空格的字符串,因此,当添加到CMakeLists.txtusing中时
target_include_directories(a PRIVATE ${XXX_INCLUDE_DIRS})
Run Code Online (Sandbox Code Playgroud)
它被编译器调用为
-I"XXXpath XXXYYYpath"
Run Code Online (Sandbox Code Playgroud)
我应该如何修改该行
set(XXX_INCLUDE_DIRS ${XXX_INCLUDE_DIR} ${XXXYYY_INCLUDE_DIR})
Run Code Online (Sandbox Code Playgroud)
它设置变量的值XXX_INCLUDE_DIRS?
. 中的多个库路径也会出现同样的问题XXX_LIBRARIES。
您可以为变量提供多个条目,例如XXX_LIBRARIES和XXX_INCLUDE_DIRS作为分号分隔的列表。
set(XXX_INCLUDE_DIRS "${XXX_INCLUDE_DIR};${XXXYYY_INCLUDE_DIR}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2185 次 |
| 最近记录: |