From 7d069fb2985735d671c40274be08a293d5df45cd Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 6 Sep 2023 09:55:52 -0500 Subject: [PATCH 1/7] Dont require sphinx to be installed --- share/rocm/cmake/ROCMSphinxDoc.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/rocm/cmake/ROCMSphinxDoc.cmake b/share/rocm/cmake/ROCMSphinxDoc.cmake index 70b509c8..00746755 100755 --- a/share/rocm/cmake/ROCMSphinxDoc.cmake +++ b/share/rocm/cmake/ROCMSphinxDoc.cmake @@ -12,8 +12,7 @@ find_program( NAMES sphinx-build HINTS "$ENV{SPHINX_DIR}" PATH_SUFFIXES bin - DOC "Sphinx documentation generator" - REQUIRED) + DOC "Sphinx documentation generator") find_program( DOXYGEN_EXECUTABLE From a83ffe016bcb278d27f7fb940385c1dbd8ea752d Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 6 Sep 2023 11:52:04 -0500 Subject: [PATCH 2/7] Dont require doxygen --- share/rocm/cmake/ROCMSphinxDoc.cmake | 4 ---- 1 file changed, 4 deletions(-) diff --git a/share/rocm/cmake/ROCMSphinxDoc.cmake b/share/rocm/cmake/ROCMSphinxDoc.cmake index 00746755..3c0704dd 100755 --- a/share/rocm/cmake/ROCMSphinxDoc.cmake +++ b/share/rocm/cmake/ROCMSphinxDoc.cmake @@ -61,10 +61,6 @@ function(rocm_add_sphinx_doc SRC_DIR) endforeach() if(PARSE_USES_DOXYGEN) - if(NOT DOXYGEN_EXECUTABLE) - message(FATAL_ERROR - "rocm_add_sphinx_doc has USES_DOXYGEN set but DOXYGEN_EXECUTABLE is set to ${DOXYGEN_EXECUTABLE}.") - endif() set(USES_DOXYGEN -D "doxygen_executable=${DOXYGEN_EXECUTABLE}") else() set(USES_DOXYGEN) From 99ab7b4b959b81f3cd78c5725a9b44ee764ead46 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 7 Sep 2023 16:02:48 -0500 Subject: [PATCH 3/7] Fix doxygen variable name --- share/rocm/cmake/ROCMSphinxDoc.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/share/rocm/cmake/ROCMSphinxDoc.cmake b/share/rocm/cmake/ROCMSphinxDoc.cmake index 3c0704dd..a4f0f618 100755 --- a/share/rocm/cmake/ROCMSphinxDoc.cmake +++ b/share/rocm/cmake/ROCMSphinxDoc.cmake @@ -60,10 +60,10 @@ function(rocm_add_sphinx_doc SRC_DIR) list(APPEND VARS -A "${VAR}") endforeach() - if(PARSE_USES_DOXYGEN) - set(USES_DOXYGEN -D "doxygen_executable=${DOXYGEN_EXECUTABLE}") + if(PARSE_USE_DOXYGEN) + set(USE_DOXYGEN -D "doxygen_executable=${DOXYGEN_EXECUTABLE}") else() - set(USES_DOXYGEN) + set(USE_DOXYGEN) endif() if(NOT TARGET sphinx-${BUILDER}) @@ -76,7 +76,7 @@ function(rocm_add_sphinx_doc SRC_DIR) "${SPHINX_EXECUTABLE}" -b ${PARSE_BUILDER} -d "${CMAKE_CURRENT_BINARY_DIR}/doctrees" - ${USES_DOXYGEN} + ${USE_DOXYGEN} ${VARS} "${SRC_DIR}" "${OUTPUT_DIR}" From 0de0f5158f9707de7e97e7dab3f296840c279436 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 7 Sep 2023 17:22:05 -0500 Subject: [PATCH 4/7] Improve error message when sphinx/doxygen not found --- share/rocm/cmake/ROCMSphinxDoc.cmake | 20 +++++++++++++++++--- share/rocm/cmake/ROCMUtilities.cmake | 6 ++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/share/rocm/cmake/ROCMSphinxDoc.cmake b/share/rocm/cmake/ROCMSphinxDoc.cmake index a4f0f618..fe122ff9 100755 --- a/share/rocm/cmake/ROCMSphinxDoc.cmake +++ b/share/rocm/cmake/ROCMSphinxDoc.cmake @@ -66,10 +66,25 @@ function(rocm_add_sphinx_doc SRC_DIR) set(USE_DOXYGEN) endif() - if(NOT TARGET sphinx-${BUILDER}) - add_custom_target(sphinx-${BUILDER}) + set(ERROR_MSG) + if (NOT SPHINX_EXECUTABLE) + set(ERROR_MSG "Sphinx executable not found.") + elseif(USE_DOXYGEN AND NOT DOXYGEN_EXECUTABLE) + set(ERROR_MSG "Doxygen executable not found.") endif() + if(NOT TARGET sphinx-${BUILDER}) + if(ERROR_MSG) + rocm_error_target(sphinx-${BUILDER} ${ERROR_MSG}) + else() + add_custom_target(sphinx-${BUILDER}) + endif() + rocm_mark_as_doc(sphinx-${BUILDER}) + endif() + + if(ERROR_MSG) + return() + add_custom_target( ${PROJECT_NAME}-sphinx-${BUILDER} COMMAND @@ -85,7 +100,6 @@ function(rocm_add_sphinx_doc SRC_DIR) add_dependencies(sphinx-${BUILDER} ${PROJECT_NAME}-sphinx-${BUILDER}) rocm_clean_doc_output("${OUTPUT_DIR}/html") rocm_clean_doc_output("${OUTPUT_DIR}/doctrees") - rocm_mark_as_doc(sphinx-${BUILDER}) if(PARSE_DEPENDS) add_dependencies(sphinx-${BUILDER} ${PARSE_DEPENDS}) endif() diff --git a/share/rocm/cmake/ROCMUtilities.cmake b/share/rocm/cmake/ROCMUtilities.cmake index 498c1512..6a4e87cb 100644 --- a/share/rocm/cmake/ROCMUtilities.cmake +++ b/share/rocm/cmake/ROCMUtilities.cmake @@ -117,3 +117,9 @@ function(rocm_read_os_release OUTPUT KEYVALUE) ${_output} PARENT_SCOPE) endfunction() + +function(rocm_error_target TARGET MESSAGE) + add_custom_target(${TARGET} + COMMAND ${CMAKE_COMMAND} -E echo "${MESSAGE}" + COMMAND ${CMAKE_COMMAND} -E false) +endfunction() From b80ab7eac727d2674252bab126eee92579b82ffc Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 7 Sep 2023 17:23:06 -0500 Subject: [PATCH 5/7] Prefix with error --- share/rocm/cmake/ROCMUtilities.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/rocm/cmake/ROCMUtilities.cmake b/share/rocm/cmake/ROCMUtilities.cmake index 6a4e87cb..4eedf14a 100644 --- a/share/rocm/cmake/ROCMUtilities.cmake +++ b/share/rocm/cmake/ROCMUtilities.cmake @@ -120,6 +120,6 @@ endfunction() function(rocm_error_target TARGET MESSAGE) add_custom_target(${TARGET} - COMMAND ${CMAKE_COMMAND} -E echo "${MESSAGE}" + COMMAND ${CMAKE_COMMAND} -E echo "ERROR: ${MESSAGE}" COMMAND ${CMAKE_COMMAND} -E false) endfunction() From b29ac854b5c15c8b774de268307340738e2e5291 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 7 Sep 2023 17:23:50 -0500 Subject: [PATCH 6/7] Add closing endif --- share/rocm/cmake/ROCMSphinxDoc.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/rocm/cmake/ROCMSphinxDoc.cmake b/share/rocm/cmake/ROCMSphinxDoc.cmake index fe122ff9..925ce078 100755 --- a/share/rocm/cmake/ROCMSphinxDoc.cmake +++ b/share/rocm/cmake/ROCMSphinxDoc.cmake @@ -84,7 +84,8 @@ function(rocm_add_sphinx_doc SRC_DIR) if(ERROR_MSG) return() - + endif() + add_custom_target( ${PROJECT_NAME}-sphinx-${BUILDER} COMMAND From a62db2a6ea703b84f44fb7d87b506338f8f8c38f Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 7 Sep 2023 17:25:05 -0500 Subject: [PATCH 7/7] Remove trailing whitespace --- share/rocm/cmake/ROCMSphinxDoc.cmake | 4 ++-- share/rocm/cmake/ROCMUtilities.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/rocm/cmake/ROCMSphinxDoc.cmake b/share/rocm/cmake/ROCMSphinxDoc.cmake index 925ce078..62604011 100755 --- a/share/rocm/cmake/ROCMSphinxDoc.cmake +++ b/share/rocm/cmake/ROCMSphinxDoc.cmake @@ -81,11 +81,11 @@ function(rocm_add_sphinx_doc SRC_DIR) endif() rocm_mark_as_doc(sphinx-${BUILDER}) endif() - + if(ERROR_MSG) return() endif() - + add_custom_target( ${PROJECT_NAME}-sphinx-${BUILDER} COMMAND diff --git a/share/rocm/cmake/ROCMUtilities.cmake b/share/rocm/cmake/ROCMUtilities.cmake index 4eedf14a..b6d8adff 100644 --- a/share/rocm/cmake/ROCMUtilities.cmake +++ b/share/rocm/cmake/ROCMUtilities.cmake @@ -119,7 +119,7 @@ function(rocm_read_os_release OUTPUT KEYVALUE) endfunction() function(rocm_error_target TARGET MESSAGE) - add_custom_target(${TARGET} - COMMAND ${CMAKE_COMMAND} -E echo "ERROR: ${MESSAGE}" + add_custom_target(${TARGET} + COMMAND ${CMAKE_COMMAND} -E echo "ERROR: ${MESSAGE}" COMMAND ${CMAKE_COMMAND} -E false) endfunction()