From ec5fde6913935fbe2015220259b611a17a437de3 Mon Sep 17 00:00:00 2001 From: Adrian Negreanu Date: Tue, 28 Jul 2015 23:29:20 +0300 Subject: docs: add examples as a dependency of docs --- doc/CMakeLists.txt | 13 ++++--------- examples/CMakeLists.txt | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 3279b83..805bd83 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -30,7 +30,6 @@ else() endif() set(DOC_INSTALL_DIR "share/doc/packages/doxygen" CACHE STRING "Relative path where to install the documentation") -set(EXAMPLE_DIR ${TOP}/examples) set(DOC_FILES arch.doc archoverview.eps @@ -95,7 +94,6 @@ file(COPY ${TOP}/VERSION DESTINATION ${PROJECT_BINARY_DIR}/) file(COPY ${TOP}/src/translator.h DESTINATION ${PROJECT_BINARY_DIR}/src/) file(COPY ${TOP}/src/translator_adapter.h DESTINATION ${PROJECT_BINARY_DIR}/src/) file(COPY ${LANG_FILES} DESTINATION ${PROJECT_BINARY_DIR}/src/) -file(COPY ${EXAMPLE_DIR} DESTINATION ${PROJECT_BINARY_DIR}/) foreach (f ${DOC_FILES}) add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${f} @@ -134,15 +132,12 @@ set_source_files_properties(config.doc PROPERTIES GENERATED 1) add_custom_target(run_doxygen COMMENT "Generating Latex and HTML documentation." COMMAND ${DOXYGEN_EXECUTABLE} - DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc ${OUT_DOC_FILES} + DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc + DEPENDS ${OUT_DOC_FILES} + DEPENDS examples + DEPENDS doxygen WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/ ) -if (doxygen_BINARY_DIR) - # building from project `doxygen' - add_dependencies(run_doxygen - doxygen - ) -endif() add_custom_target(doxygen_pdf COMMENT "Generating Doxygen Manual PDF." diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index d689eda..e7b61a1 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -2,22 +2,24 @@ if (build_doc) file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/examples) file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/html/examples) -file(GLOB EXAMPLE_FILES "*") +file(GLOB EXAMPLE_FILES RELATIVE ${CMAKE_SOURCE_DIR}/examples "*") if (DOT) set(DIAGRAM_EXAMPLE ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html) endif() -# copy all example files -add_custom_target(copy_examples) -foreach(example_file ${EXAMPLE_FILES}) - add_custom_command(TARGET copy_examples PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy ${example_file} ${PROJECT_BINARY_DIR}/examples) +foreach (f ${EXAMPLE_FILES}) + add_custom_command( + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/examples/${f}" "${PROJECT_BINARY_DIR}/examples/" + DEPENDS "${CMAKE_SOURCE_DIR}/examples/${f}" + OUTPUT "${PROJECT_BINARY_DIR}/examples/${f}" + ) + set_source_files_properties("${PROJECT_BINARY_DIR}/examples/${f}" PROPERTIES GENERATED 1) + list(APPEND OUT_EXAMPLE_FILES "${PROJECT_BINARY_DIR}/examples/${f}") endforeach() add_custom_target(examples - DEPENDS doxygen copy_examples + DEPENDS ${OUT_EXAMPLE_FILES} ${PROJECT_BINARY_DIR}/html/examples/class/html/index.html ${PROJECT_BINARY_DIR}/html/examples/define/html/index.html ${PROJECT_BINARY_DIR}/html/examples/enum/html/index.html -- cgit v0.12