From a259e990353ce05a1d78929167fed26d358e66f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= Date: Wed, 23 Apr 2025 15:55:44 +0200 Subject: [PATCH 1/2] cmake: fix compatibility with the Ninja generator backend Fixes the following error: ``` $ ninja -C build ninja: Entering directory `build' ninja: warning: phony target 'src/csfilter-kfp.1' names itself as an input; ignoring [-w phonycycle=warn] ninja: error: build.ninja:471: multiple rules generate src/csfilter-kfp.1 ``` --- src/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5406858..512a213 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -207,9 +207,11 @@ if(HELP2MAN) --include "${CMAKE_SOURCE_DIR}/doc/csfilter-kfp.h2m" ${CMAKE_CURRENT_BINARY_DIR}/csfilter-kfp > csfilter-kfp.1 || rm -f csfilter-kfp.1 + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/csfilter-kfp" + "${CMAKE_SOURCE_DIR}/doc/csfilter-kfp.h2m" COMMENT "Generating csfilter-kfp man page" VERBATIM) - add_custom_target(csfilter-kfp.1 ALL DEPENDS + add_custom_target(man-csfilter-kfp ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/csfilter-kfp.1") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/csfilter-kfp.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) From 64aa715129279cbda4439800267e586f294618a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= Date: Wed, 23 Apr 2025 15:55:50 +0200 Subject: [PATCH 2/2] cmake: add proper targets for man page generation Otherwise, the output was suppressed when Ninja was used. --- src/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 512a213..4422a3f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -179,12 +179,15 @@ macro(create_manpage BINARY) else() set(H2M_ARGS "") endif() - add_custom_command(TARGET ${BINARY} POST_BUILD + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${BINARY}.1" COMMAND env LC_ALL=C ${HELP2MAN} --no-info --section 1 ${H2M_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/${BINARY} > ${BINARY}.1 || rm -f ${BINARY}.1 + DEPENDS ${BINARY} "${CMAKE_SOURCE_DIR}/doc/${BINARY}.h2m" COMMENT "Generating ${BINARY} man page" VERBATIM) + add_custom_target(man-${BINARY} ALL DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/${BINARY}.1") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${BINARY}.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endmacro(create_manpage)