Basic version working.

This commit is contained in:
2023-10-24 18:49:20 -07:00
parent fd93a937a4
commit d9d0929bb7
12 changed files with 733 additions and 170 deletions

View File

@@ -7,7 +7,6 @@ add_custom_target(manpages)
### Generate man pages from markdown ###
# md2man uses scdoc to produce a man page from a markdown document.
if (LINUX and not DISABLE_SCDOC)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man
DESTINATION share)
@@ -20,34 +19,33 @@ macro(md2man source)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man/man${SOURCE_SECTION})
configure_file(${source} ${SOURCE_MANPAGE}.scdoc)
add_custom_command(TARGET manpages
COMMAND scdoc < ${SOURCE_MANPAGE}.scdoc > man/man${SOURCE_SECTION}/${SOURCE_MANPAGE})
COMMAND mkdir -p man/man${SOURCE_SECTION} && scdoc < ${SOURCE_MANPAGE}.scdoc > man/man${SOURCE_SECTION}/${SOURCE_MANPAGE})
endblock()
endmacro()
md2man(docs/lib${PROJECT_NAME}.7.md)
endif ()
md2man(./${PROJECT_NAME}-packager.1.md)
### Build documentation with Doxygen ###
if (not DISABLE_DOXYGEN)
find_package(Doxygen)
if (${DOXYGEN_FOUND})
# prefer scdocs for manpages.
set(DOXYGEN_GENERATE_MAN NO)
set(DOXYGEN_GENERATE_LATEX YES)
set(DOXYGEN_EXTRACT_ALL YES)
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "docs/mainpage.md")
message(STATUS "Doxygen found, building docs.")
doxygen_add_docs(${PROJECT_NAME}_docs
${HEADER_FILES}
${SOURCE_FILES}
USE_STAMP_FILE)
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_docs)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
${CMAKE_CURRENT_BINARY_DIR}/latex
DESTINATION share/doc/${PROJECT_NAME}/doxygen)
add_dependencies(${PROJECT_NAME}_docs manpages)
endif () # DOXYGEN_FOUND?
endif () # DISABLE_DOXYGEN?
#if (not DISABLE_DOXYGEN)
#find_package(Doxygen)
#if (${DOXYGEN_FOUND})
## prefer scdocs for manpages.
#set(DOXYGEN_GENERATE_MAN NO)
#set(DOXYGEN_GENERATE_LATEX YES)
#set(DOXYGEN_EXTRACT_ALL YES)
#set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "docs/mainpage.md")
#message(STATUS "Doxygen found, building docs.")
#
#doxygen_add_docs(${PROJECT_NAME}_docs
# ${HEADER_FILES}
# ${SOURCE_FILES}
# USE_STAMP_FILE)
#add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_docs)
#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
# ${CMAKE_CURRENT_BINARY_DIR}/latex
# DESTINATION share/doc/${PROJECT_NAME}/doxygen)
#add_dependencies(${PROJECT_NAME}_docs manpages)
#endif () # DOXYGEN_FOUND?
#endif () # DISABLE_DOXYGEN?

View File

@@ -2,26 +2,21 @@
include(CMakePackageConfigHelpers)
### library packaging for CMake and pkgconfig to find built targets.
write_basic_package_version_file(
${PROJECT_NAME}Config.cmake
VERSION ${PACKAGE_VERSION}
COMPATIBILITY SameMajorVersion
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion)
configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
#### library packaging for CMake and pkgconfig to find built targets.
#write_basic_package_version_file(
# ${PROJECT_NAME}Config.cmake
# VERSION ${PACKAGE_VERSION}
# COMPATIBILITY SameMajorVersion
#)
#write_basic_package_version_file(
# ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
# VERSION ${PROJECT_VERSION}
# COMPATIBILITY SameMajorVersion)
#configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
#
### set up installation targets.
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib)
install(FILES ${HEADERS} DESTINATION include/${PROJECT_NAME})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
DESTINATION lib/pkgconfig)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION share/${PROJECT_CMAKE_CONFIG_NAME}/cmake)
install(TARGETS ${PROJECT_NAME}-packager RUNTIME DESTINATION bin)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man DESTINATION share)