Files
UnrealEngine/Engine/Source/ThirdParty/MaterialX/MaterialX-1.39.3/documents/CMakeLists.txt
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

46 lines
2.3 KiB
CMake

set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(DOXYGEN_HTML_OUTPUT_DIR ${DOXYGEN_OUTPUT_DIR}/html)
set(DOXYGEN_INPUT_LIST ${CMAKE_CURRENT_BINARY_DIR}/MainPage.md)
set(MATERIALX_DOXYGEN_SOURCE_FOLDERS
${CMAKE_SOURCE_DIR}/source/MaterialXCore
${CMAKE_SOURCE_DIR}/source/MaterialXFormat
${CMAKE_SOURCE_DIR}/source/MaterialXGenShader
${CMAKE_SOURCE_DIR}/source/MaterialXGenShader/Nodes
${CMAKE_SOURCE_DIR}/source/MaterialXGenGlsl
${CMAKE_SOURCE_DIR}/source/MaterialXGenGlsl/Nodes
${CMAKE_SOURCE_DIR}/source/MaterialXGenOsl
${CMAKE_SOURCE_DIR}/source/MaterialXGenMdl
${CMAKE_SOURCE_DIR}/source/MaterialXRender
${CMAKE_SOURCE_DIR}/source/MaterialXRenderHw
${CMAKE_SOURCE_DIR}/source/MaterialXRenderGlsl
${CMAKE_SOURCE_DIR}/source/MaterialXRenderOsl)
find_package(Doxygen REQUIRED)
foreach(FOLDER ${MATERIALX_DOXYGEN_SOURCE_FOLDERS})
file(GLOB FOLDER_HEADERS ${FOLDER}/*.h)
list(APPEND DOXYGEN_INPUT_LIST ${FOLDER_HEADERS})
endforeach()
string (REPLACE ";" " " DOXYGEN_INPUT_STR "${DOXYGEN_INPUT_LIST}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/MainPage.md
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/DeveloperGuide/MainPage.md ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/DeveloperGuide/MainPage.md)
add_custom_command(OUTPUT ${DOXYGEN_HTML_OUTPUT_DIR}/index.html
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/DoxygenAwesome ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Images ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${DOXYGEN_INPUT_LIST} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMENT "Generating HTML documentation: ${DOXYGEN_HTML_OUTPUT_DIR}/index.html")
add_custom_target(MaterialXDocs ALL DEPENDS ${DOXYGEN_HTML_OUTPUT_DIR}/index.html)
install(DIRECTORY ${DOXYGEN_HTML_OUTPUT_DIR}
DESTINATION "documents" MESSAGE_NEVER)