【发布时间】:2017-09-20 19:12:54
【问题描述】:
在我的 CMake 文件中,我指定了一个对象库:
add_library(core OBJECT ${sourcefiles})
我在共享库中进一步引用了这组目标文件:
add_library(sharedlib SHARED $<TARGET_OBJECTS:core>)
这很好用,但是我想在不同项目之间重用构建工件。 通过在 sharedlib 上设置 LIBRARY_OUTPUT_PROPERTY,我可以将生成的 .so 文件定向到公共目录:
set_target_properties(sharedlib PROPERTIES LIBRARY_OUTPUT_NAME /commondir)
但是,我似乎无法对核心 (OBJECT) 库做同样的事情 - .o 文件始终位于(特定于项目的)生成的 cmake-build 目录中。 这意味着每个项目无论如何都必须重建(大型)共享库......
我做错了什么,或者这不是(还?)CMake 可能吗?
【问题讨论】:
标签: cmake