相关疑难解决方法(0)

OBJECT库上的传递target_include_directories

以下是make CMakeLists.txt的片段:

add_library(foo-object OBJECT src/foo.cpp)
target_include_directories(foo-object PUBLIC include)
add_library(foo SHARED $<TARGET_OBJECTS:${PROJECT_NAME}-object>)
add_library(foo_static STATIC $<TARGET_OBJECTS:${PROJECT_NAME}-object>)
Run Code Online (Sandbox Code Playgroud)

现在,这一切都很好,两个库都生成了.但是当我尝试使用它时遇到问题:

add_executable(bar src/main.cpp)
target_link_libraries(bar foo)
Run Code Online (Sandbox Code Playgroud)

Target bar不编译,因为不传播来自foo-object的include目录.如果我也target_include_directories直接添加foo,一切都会正常编译.

我如何制作foofoo_static自动使用(并根据它们转发内容)包含目录foo-object

cmake

17
推荐指数
2
解决办法
3924
查看次数

标签 统计

cmake ×1