42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
set(DOXYGEN_FOUND AUTO CACHE STRING "Enable Doxygen documentation generator")
 | 
						|
set_property(CACHE DOXYGEN_FOUND PROPERTY STRINGS ON OFF AUTO)
 | 
						|
 | 
						|
find_package(Doxygen)
 | 
						|
if (DOXYGEN_FOUND)
 | 
						|
  set(DOXYGEN_FOUND ON CACHE STRING "Doxygen documentation generator enabled" FORCE)
 | 
						|
else()
 | 
						|
  set(DOXYGEN_FOUND OFF CACHE STRING "Doxygen documentation generator disabled" FORCE)
 | 
						|
endif()
 | 
						|
 | 
						|
 | 
						|
function(add_doxygen_target)
 | 
						|
  if (DOXYGEN_FOUND)
 | 
						|
    set(options)
 | 
						|
    set(oneValueArgs TARGET_NAME IN OUT LATEX HTML)
 | 
						|
    set(multiValueArgs)
 | 
						|
 | 
						|
    cmake_parse_arguments(_DOXYGEN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 | 
						|
    set(GENERATE_XML NO)
 | 
						|
    set(GENERATE_HTML NO)
 | 
						|
    set(GENERATE_LATEX NO)
 | 
						|
    if (_DOXYGEN_HTML)
 | 
						|
      set(GENERATE_HTML YES)
 | 
						|
    endif()
 | 
						|
    if (_DOXYGEN_LATEX)
 | 
						|
      set(GENERATE_LATEX YES)
 | 
						|
    endif()
 | 
						|
 | 
						|
    configure_file(${_DOXYGEN_IN} ${_DOXYGEN_OUT} @ONLY)
 | 
						|
    message("Doxygen build started")
 | 
						|
 | 
						|
    add_custom_target(${_DOXYGEN_TARGET_NAME} VERBATIM
 | 
						|
      COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
 | 
						|
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 | 
						|
      COMMENT "Generating API documentation with Doxygen"
 | 
						|
      VERBATIM)
 | 
						|
  else()
 | 
						|
    add_custom_target(${_DOXYGEN_TARGET_NAME} VERBATIM
 | 
						|
      COMMENT "Doxygen is not found. Skipping target ${_BREATHE_TARGET_NAME} build")
 | 
						|
  endif()
 | 
						|
endfunction()
 |