AtomicDoc.cmake 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # create docs
  2. find_program(CLDOC cldoc)
  3. if(CLDOC)
  4. get_property(include_dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
  5. get_directory_property( DEFS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS )
  6. FOREACH(infileName ${include_dirs})
  7. LIST(APPEND DOC_INCLUDES "-I${infileName}")
  8. ENDFOREACH(infileName)
  9. FOREACH(DefName ${DEFS})
  10. LIST(APPEND DOC_DEFINES "-D${DefName}")
  11. ENDFOREACH(DefName)
  12. string(REGEX MATCHALL "([^\ ]+)" CXX_LIST "${CMAKE_CXX_FLAGS}")
  13. string(REGEX MATCHALL "([^\ ]+)" C_LIST "${CMAKE_C_FLAGS}")
  14. get_filename_component(COMPNAME ${CMAKE_CURRENT_SOURCE_DIR} NAME )
  15. SET(TARGETNAME ${COMPNAME}Docs)
  16. MESSAGE(STATUS "Enabling documentation for: " ${COMPNAME})
  17. SET(doc_args generate ${CXX_LIST} ${C_LIST} -std=c++11 -DATOMIC_DEV_BUILD=1 ${DOC_DEFINES} ${DOC_INCLUDES} -- --type html --language c++ --output ${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicDocs )
  18. LIST( APPEND doc_args ${SOURCE_FILES} )
  19. add_custom_target(${TARGETNAME} COMMAND ${CLDOC} ${doc_args})
  20. set_target_properties(${TARGETNAME} PROPERTIES
  21. EXCLUDE_FROM_ALL 1
  22. EXCLUDE_FROM_DEFAULT_BUILD 1
  23. )
  24. endif()