diff --git a/client/common/CMakeLists.txt b/client/common/CMakeLists.txt index 04d7d1c1d..6040bf334 100644 --- a/client/common/CMakeLists.txt +++ b/client/common/CMakeLists.txt @@ -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() diff --git a/client/common/man/CMakeLists.txt b/client/common/man/CMakeLists.txt new file mode 100644 index 000000000..b601f1dfd --- /dev/null +++ b/client/common/man/CMakeLists.txt @@ -0,0 +1,3 @@ +add_executable(generate_argument_docbook + generate_argument_docbook.c +) diff --git a/cmake/InstallFreeRDPMan.cmake b/cmake/InstallFreeRDPMan.cmake index b410e6170..e3409f985 100644 --- a/cmake/InstallFreeRDPMan.cmake +++ b/cmake/InstallFreeRDPMan.cmake @@ -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()