Создание/упаковка страницы/установка с cmake

Я ищу несколько хороших примеров/руководств по созданию, пакету и установке man-страниц в проектах с использованием CMake.

Спасибо.

Ответ 1

С 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. Я хотел бы увидеть решение с меньшим заиканием.

Ответ 2

Вы можете вникать в исходное дерево самого CMake, чтобы увидеть, как он устанавливает свои собственные страницы руководства.

Конечно, это комбинация:

  • с помощью CMake add_custom_command
  • вызов инструментов для создания/создания документации в этих настраиваемых командах
  • установка результатов в правильном месте

Для получения дополнительной информации см. документацию по команде CMake add_custom_command и установке команд: