2010-07-30 18 views

risposta

0

È possibile approfondire l'albero dei sorgenti di CMake stesso per vedere come installa le proprie pagine man.

E 'sicuro di essere una combinazione di:

  • usando add_custom_command di CMake
  • strumenti per produrre/generare la documentazione in quelli a chiamata comandi
  • installazione dei risultati nella posizione corretta

Vedere la documentazione per il comando add_custom_command di CMake e installare i comandi per ulteriori informazioni:

3

Con cmake 2.8.12 sotto Linux, le seguenti opere per me:

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) 

che sembra unelegant anche per gli standard CMake. Mi piacerebbe vedere una soluzione con meno balbuzie.

+1

Mi rendo conto che questa risposta è di + 1 anni, ma poiché viene visualizzata nei risultati di ricerca di Google, mi sento in dovere di condividere che questo metodo emette avvisi su CMake> = 3.2.2 a causa della politica CMP0050. La mailing list di CMake suggerisce un modo per fare ciò che vuole il richiedente: http://www.cmake.org/pipermail/cmake/2010-Settembre/039781.html – silverclaw