cmake - 现代 CMake target_include_directories 包括别名
问题描述
这是项目结构的示例:
CMakeLists.txt
A/
includes/a.h
src/a.cpp
CMakeLists.txt
B/
includes/b.h
src/b.cpp
CMakeLists.txt
这是我的 CMake 配置的总结
cmake_minimum_required(VERSION 3.16)
project("WeedEngine")
# add_subdirectory(A)
add_library(A src/a.cpp)
target_include_directories(A PUBLIC includes)
# add_subdirectory(B)
add_library(B src/b.cpp)
target_link_libraries(B PRIVATE A)
我想像这样在我的 b.cpp 中链接我的 lib A 中的标头
// b.cpp
#include "A/a.h"
但我无法正确地为我的标题提供别名。我应该使用这样的东西:
target_include_directories(A
PUBLIC
$<TARGET_NAME:${CMAKE_CURRENT_SOURCE_DIR}/includes>
)
此致,
解决方案
推荐阅读
- android - 不同 Android 设备上的不同阴影痤疮伪影
- excel - Excel 将数据转换为字符串
- java - 如何为复杂对象创建不同的 JSON 输出
- julia - 阅读 Julia 中用户定义函数的输入?
- php - 如何显示数据库中的记录以显示在 tpl 文件中,基于 id_customer (prestashop 1.6)
- javascript - 如何将DNS输出存储在nodejs中的变量中
- php - 通过坐标计算 GPS 点之间的距离
- c# - Azure 函数中的验证筛选器
- javascript - 从项目数组中删除项目不起作用
- gradle - 如何在测试中使用 gradle 功能变体依赖项?