2010-07-30 83 views

回答

3

通过CMake 2.8.12 Linux下,对我下面的作品:

ADD_CUSTOM_TARGET(man ALL) 

ADD_CUSTOM_COMMAND(
    TARGET man 
    SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/myprog.pod 
    COMMAND pod2man ARGS -s 1 -c "myprog manual" ${CMAKE_CURRENT_SOURCE_DIR}/myprog.pod ${CMAKE_CURRENT_BINARY_DIR}/myprog.1 
    OUTPUTS ${CMAKE_CURRENT_BINARY_DIR}/myprog.1 
) 

ADD_CUSTOM_COMMAND(
    TARGET man 
    SOURCE man 
    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/myprog.1 
) 

INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/myprog.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1) 

甚至通过CMake的标准看起来unelegant。我希望看到一个解决问题的方法。

+1

我意识到这个答案是+ 1年前的,但因为它在Google搜索结果中弹出,所以我不得不分享一下,由于策略CMP0050,此方法在CMake> = 3.2.2上发出警告。 CMake邮件列表提供了一种方法来执行提问者想要的: http://www.cmake.org/pipermail/cmake/2010-September/039781.html – silverclaw 2015-06-22 14:07:20