2010-05-11 110 views
5

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

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,以便只有一个副本保存在适当的位置?

回答

8

命令

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

应该做你想要什么。我现在不在开发机器前面,稍后再检查。