xref: /llvm-project/clang-tools-extra/clang-doc/tool/CMakeLists.txt (revision 87d58ab22af0627b2c90138713c19b5263b6c132)
1e975a473SJulie Hockettinclude_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
2e975a473SJulie Hockett
3f64d4ec9SJulie Hockettadd_clang_tool(clang-doc
4e975a473SJulie Hockett  ClangDocMain.cpp
5e975a473SJulie Hockett  )
6e975a473SJulie Hockett
70820041eSMichal Gornyclang_target_link_libraries(clang-doc
8e975a473SJulie Hockett  PRIVATE
9e975a473SJulie Hockett  clangAST
10e975a473SJulie Hockett  clangASTMatchers
11e975a473SJulie Hockett  clangBasic
12e975a473SJulie Hockett  clangFrontend
13e975a473SJulie Hockett  clangTooling
14e975a473SJulie Hockett  clangToolingCore
15e975a473SJulie Hockett  )
160820041eSMichal Gornytarget_link_libraries(clang-doc
170820041eSMichal Gorny  PRIVATE
180820041eSMichal Gorny  clangDoc
190820041eSMichal Gorny  )
20e975a473SJulie Hockett
217dfe0bc3SDiego Astiazaran
22ade28a77SPaul Kirthset(assets
23ade28a77SPaul Kirth  index.js
24ade28a77SPaul Kirth  clang-doc-default-stylesheet.css
25ade28a77SPaul Kirth)
26ade28a77SPaul Kirth
27ade28a77SPaul Kirthset(asset_dir "${CMAKE_CURRENT_SOURCE_DIR}/../assets")
28*87d58ab2SPeterChou1set(resource_dir "${LLVM_RUNTIME_OUTPUT_INTDIR}/../share/clang-doc")
29ade28a77SPaul Kirthset(out_files)
30ade28a77SPaul Kirth
31ade28a77SPaul Kirthfunction(copy_files_to_dst src_dir dst_dir file)
32ade28a77SPaul Kirth  set(src "${src_dir}/${file}")
33ade28a77SPaul Kirth  set(dst "${dst_dir}/${file}")
34ade28a77SPaul Kirth  add_custom_command(OUTPUT ${dst}
35ade28a77SPaul Kirth    DEPENDS ${src}
36ade28a77SPaul Kirth    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
37ade28a77SPaul Kirth    COMMENT "Copying ${file} to ${dst_dir}"
38ade28a77SPaul Kirth  )
39ade28a77SPaul Kirth  list(APPEND out_files ${dst})
40ade28a77SPaul Kirth  set(out_files ${out_files} PARENT_SCOPE)
41ade28a77SPaul Kirthendfunction(copy_files_to_dst)
42ade28a77SPaul Kirth
43ade28a77SPaul Kirthforeach(f ${assets})
44ade28a77SPaul Kirth  install(FILES ${asset_dir}/${f}
45d7dd778cSPeterChou1    DESTINATION "${CMAKE_INSTALL_DATADIR}/clang-doc"
46db5d8e3dSDiego Astiazaran    COMPONENT clang-doc)
47ade28a77SPaul Kirth  copy_files_to_dst(${asset_dir} ${resource_dir} ${f})
48ade28a77SPaul Kirthendforeach(f)
49ade28a77SPaul Kirth
50ade28a77SPaul Kirthadd_custom_target(copy-clang-doc-assets
51ade28a77SPaul Kirth  DEPENDS ${out_files}
52ade28a77SPaul Kirth  COMMENT "Copying Clang-Doc Assets"
53ade28a77SPaul Kirth)
54ade28a77SPaul Kirthset_target_properties(copy-clang-doc-assets PROPERTIES FOLDER "Clang-Doc/Assets")
55ade28a77SPaul Kirthadd_dependencies(clang-doc copy-clang-doc-assets)
56