From 8a020258c437cb3ca6d7520b51ea99da3de18167 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Thu, 18 Apr 2024 13:28:51 -0400 Subject: [PATCH] xo-flatstring: utest: skip ccov target in submodule build --- utest/CMakeLists.txt | 59 ++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/utest/CMakeLists.txt b/utest/CMakeLists.txt index 091e56e..1779b46 100644 --- a/utest/CMakeLists.txt +++ b/utest/CMakeLists.txt @@ -14,36 +14,41 @@ add_test(NAME ${SELF_EXE} COMMAND ${SELF_EXE}) # ---------------------------------------------------------------- # in coverage build, target to build+install coverage report -set(CCOV_OUTPUT_DIR ${PROJECT_BINARY_DIR}/ccov/html) -set(CCOV_INDEX_FILE ${CCOV_OUTPUT_DIR}/index.html) -set(CCOV_REPORT_EXE ${PROJECT_BINARY_DIR}/gen-ccov) -# CMAKE_INSTALL_DOCDIR -# =default=> DATAROOTDIR/doc/PROJECT_NAME -# =default=> CMAKE_INSTALL_PREFIX/share/doc/xo_flatstring -set(CCOV_INSTALL_DOCDIR ${CMAKE_INSTALL_DOCDIR}/ccov) +if (XO_SUBMODULE_BUILD) + # in submodule build, generate aggregate coverage report + # for all xo libraries +else() + set(CCOV_OUTPUT_DIR ${PROJECT_BINARY_DIR}/ccov/html) + set(CCOV_INDEX_FILE ${CCOV_OUTPUT_DIR}/index.html) + set(CCOV_REPORT_EXE ${PROJECT_BINARY_DIR}/gen-ccov) + # CMAKE_INSTALL_DOCDIR + # =default=> DATAROOTDIR/doc/PROJECT_NAME + # =default=> CMAKE_INSTALL_PREFIX/share/doc/xo_flatstring + set(CCOV_INSTALL_DOCDIR ${CMAKE_INSTALL_DOCDIR}/ccov) -# 'test' target should always be out-of-date -# -# DEPENDS: reminder - can't put 'test' here, requires 'all' target -# -add_custom_command( - OUTPUT ${CCOV_INDEX_FILE} - DEPENDS ${SELF_EXE} - COMMAND ${CCOV_REPORT_EXE} - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMENT "Generating coverage report -> [${CCOV_OUTPUT_DIR}]") + # 'test' target should always be out-of-date + # + # DEPENDS: reminder - can't put 'test' here, requires 'all' target + # + add_custom_command( + OUTPUT ${CCOV_INDEX_FILE} + DEPENDS ${SELF_EXE} + COMMAND ${CCOV_REPORT_EXE} + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMENT "Generating coverage report -> [${CCOV_OUTPUT_DIR}]") -add_custom_target( - ccov - DEPENDS ${CCOV_INDEX_FILE} ${SELF_EXE}) + add_custom_target( + ccov + DEPENDS ${CCOV_INDEX_FILE} ${SELF_EXE}) -# OPTIONAL: quietly skip this step if ccov report not generated -install( - DIRECTORY ${CCOV_OUTPUT_DIR} - FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ - DESTINATION ${CCOV_INSTALL_DOCDIR} - COMPONENT Documentation - OPTIONAL) + # OPTIONAL: quietly skip this step if ccov report not generated + install( + DIRECTORY ${CCOV_OUTPUT_DIR} + FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + DESTINATION ${CCOV_INSTALL_DOCDIR} + COMPONENT Documentation + OPTIONAL) +endif() # ---------------------------------------------------------------- # deps: logutils, ...