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 ${ATOMIC_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 ${ATOMIC_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 ()