mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[cmake] simplify manpage generation
This commit is contained in:
@@ -104,3 +104,7 @@ set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/Common")
|
||||
if(BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
||||
if (WITH_MANPAGES)
|
||||
add_subdirectory(man)
|
||||
endif()
|
||||
|
||||
3
client/common/man/CMakeLists.txt
Normal file
3
client/common/man/CMakeLists.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
add_executable(generate_argument_docbook
|
||||
generate_argument_docbook.c
|
||||
)
|
||||
@@ -22,47 +22,28 @@ function(generate_and_install_freerdp_man_from_xml manpage dependencies)
|
||||
|
||||
configure_file(${manpage}.xml.in ${manpage}.xml @ONLY IMMEDIATE)
|
||||
|
||||
# Compile the helper tool with default compiler settings.
|
||||
# We need the include paths though.
|
||||
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
|
||||
set(GENERATE_INCLUDES "")
|
||||
foreach(dir ${dirs})
|
||||
set(GENERATE_INCLUDES ${GENERATE_INCLUDES} -I${dir})
|
||||
endforeach(dir)
|
||||
|
||||
set(dep_SRC)
|
||||
set(deb_BIN)
|
||||
foreach(dep ${dependencies})
|
||||
set(cur_SRC ${CMAKE_CURRENT_SOURCE_DIR}/${dep})
|
||||
set(cur_BIN ${CMAKE_CURRENT_BINARY_DIR}/${dep})
|
||||
list(APPEND dep_SRC ${cur_SRC})
|
||||
list(APPEND dep_BIN ${cur_BIN})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${cur_BIN}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${cur_SRC} ${cur_BIN}
|
||||
DEPENDS ${cur_SRC}
|
||||
VERBATIM
|
||||
)
|
||||
endforeach()
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${manpage}
|
||||
COMMAND ${CMAKE_C_COMPILER} ${GENERATE_INCLUDES}
|
||||
${CMAKE_SOURCE_DIR}/client/common/man/generate_argument_docbook.c
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/generate_argument_docbook
|
||||
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/generate_argument_docbook
|
||||
COMMAND ${XSLTPROC_EXECUTABLE} ${DOCBOOKXSL_DIR}/manpages/docbook.xsl ${manpage}.xml
|
||||
OUTPUT ${manpage}
|
||||
COMMAND ${CMAKE_BINARY_DIR}/client/common/man/generate_argument_docbook
|
||||
COMMAND ${XSLTPROC_EXECUTABLE} --path ${CMAKE_CURRENT_SOURCE_DIR} ${DOCBOOKXSL_DIR}/manpages/docbook.xsl ${manpage}.xml
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${manpage}.xml
|
||||
${dep_BIN}
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
${manpage}.manpage ALL
|
||||
DEPENDS
|
||||
${manpage}
|
||||
${manpage}.xml
|
||||
${manpage}.xml.in
|
||||
generate_argument_docbook
|
||||
)
|
||||
install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/${manpage} 1)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user