set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}") find_package(Doxygen) if(DOXYGEN_FOUND) set(TINYSPLINE_DOXYGEN_DIR "doxygen" CACHE INTERNAL "" ) set(TINYSPLINE_DOXYGEN_CONF_FILE "doxygen.conf" CACHE INTERNAL "" ) set(TINYSPLINE_DOXYGEN_INPUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${TINYSPLINE_DOXYGEN_DIR}" CACHE INTERNAL "" ) set(TINYSPLINE_DOXYGEN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${TINYSPLINE_DOXYGEN_DIR}" CACHE INTERNAL "" ) set(TINYSPLINE_DOXYGEN_CONF_FILE_IN "${TINYSPLINE_DOXYGEN_INPUT_DIR}/${TINYSPLINE_DOXYGEN_CONF_FILE}.in" CACHE INTERNAL "" ) set(TINYSPLINE_DOXYGEN_INPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/${TINYSPLINE_DOXYGEN_CONF_FILE}" CACHE INTERNAL "" ) configure_file( "${TINYSPLINE_DOXYGEN_CONF_FILE_IN}" "${TINYSPLINE_DOXYGEN_INPUT_FILE}" @ONLY ) add_custom_command( OUTPUT "${TINYSPLINE_DOXYGEN_OUTPUT_DIR}" COMMAND "${DOXYGEN_EXECUTABLE}" "${TINYSPLINE_DOXYGEN_INPUT_FILE}" DEPENDS "${CMAKE_SOURCE_DIR}/src" "${CMAKE_SOURCE_DIR}/README.md" "${TINYSPLINE_DOXYGEN_INPUT_FILE}" VERBATIM ) # COMMENT "Generating API documentation with Doxygen" add_custom_target(docs DEPENDS "${TINYSPLINE_DOXYGEN_OUTPUT_DIR}") endif() find_package(MkDocs) if(MKDOCS_FOUND) set(TINYSPLINE_MKDOCS_SOURCE_DIR "mkdocs") file( GLOB_RECURSE TINYSPLINE_MKDOCS_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/${MKDOCS_SOURCE_DIR}/*" ) foreach(FROM ${TINYSPLINE_MKDOCS_FILES}) # Ignore vim backup files. if(${FROM} MATCHES "~$" # Ignore Vim swap files. OR ${FROM} MATCHES ".swp$" # Ignore mkdocs output dir. OR ${FROM} MATCHES "^${MKDOCS_DIR}/site" ) continue() endif() # Configure .in files. if(${FROM} MATCHES ".in$") string(REGEX REPLACE ".in$" "" TO "${FROM}") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/${FROM}" "${CMAKE_CURRENT_BINARY_DIR}/${TO}" @ONLY ) # Copy all other files. else() configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/${FROM}" "${CMAKE_CURRENT_BINARY_DIR}/${FROM}" COPYONLY ) endif() endforeach() endif()