2010-07-30 12 views

Antwort

0

Sie können in den Quellbaum von CMake eintauchen, um zu sehen, wie es seine eigenen man-Seiten installiert.

Es ist sicher, dass eine Kombination aus zu sein:

  • mit CMake des add_custom_command
  • Aufruf Tool Dokumentation zu produzieren/erzeugen in diesen benutzerdefinierten Befehlen
  • die Ergebnisse in der richtigen Position zu installieren

Weitere Informationen finden Sie in der Dokumentation zu CMakes Befehlen add_custom_command und install:

3

Mit Cmake 2.8.12 unter Linux, die folgenden Werke für mich:

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) 

, die von CMake Standards unelegant selbst sieht. Ich würde gerne eine Lösung mit weniger Stammeln sehen.

+1

Ich weiß, diese Antwort ist + 1 Jahr alt, aber weil es auf Google-Suchergebnissen erscheint, fühle ich mich gezwungen zu teilen, dass diese Methode Warnungen auf CMake> = 3.2.2 aufgrund der Richtlinie CMP0050 ausgibt. Die CMake-Mailing-Liste schlägt einen Weg vor, um zu tun, was der Fragesteller will: http://www.cmake.org/pipermail/cmake/2010-September/039781.html – silverclaw