cmake add_library在自定义位置

时间:2010-05-11 20:16:27

标签: cmake

我需要构建一个库,该库将放置在存储在变量CUSTOM_OUTDIR中的自定义位置。目前,我使用以下代码来确保将库复制到其正确的位置。

ADD_LIBRARY(example MODULE example.c)

GET_TARGET_PROPERTY(FILEPATH example LOCATION)
ADD_CUSTOM_COMMAND(
    TARGET example POST_BUILD 
    COMMAND ${CMAKE_COMMAND} 
    ARGS -E copy ${FILEPATH} ${CUSTOM_OUTDIR}
)

然而,这不是一个好的解决方案,因为复制是在post_build完成的,我最终得到了两个库的副本。有没有办法为example库设置CMAKE_BINARY_DIR,以便只有一个副本保存在正确的位置?

1 个答案:

答案 0 :(得分:8)

命令

set_target_properties(example PROPERTIES 
  LIBRARY_OUTPUT_DIRECTORY "${CUSTOM_OUTDIR}"
)

应该做你想做的事。我现在不在开发机前,稍后检查。