include_guard() include(JPPNameTarget) include(JPPInitCustomProperties) include(JPPGetDirInfo) function(jpp_add_one_pptx source) cmake_path(GET source FILENAME source_filename) cmake_path(REMOVE_EXTENSION source_filename OUTPUT_VARIABLE targetBaseName) cmake_path(ABSOLUTE_PATH source BASE_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} NORMALIZE OUTPUT_VARIABLE source_abs) jpp_name_target("${targetBaseName}-pptx" NAME targetName IS_DOC) add_custom_target(${targetName}) jpp_init_custom_properties(${targetName}) jpp_get_dir_info(BASE base PACKAGE package) set(pptx_outdir "${KM3NET_JPP_STAGE_DIR}/${base}/pptx/${package}") set(html_outdir "${KM3NET_JPP_STAGE_DIR}/${base}/html/${package}") # the pptx go both under pptx and under html (to be in the same # directory as Doxygen output) add_custom_command( TARGET ${targetName} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${pptx_outdir} COMMAND ${CMAKE_COMMAND} -E make_directory ${html_outdir} COMMAND ${CMAKE_COMMAND} -E copy ${source_abs} ${pptx_outdir} COMMAND ${CMAKE_COMMAND} -E copy ${source_abs} ${html_outdir} ) set_target_properties(${targetName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${pptx_outdir} RUNTIME_OUTPUT_NAME ${targetBaseName}.pptx ) if(NOT TARGET km3net-jpp-doc-pptx) add_custom_target(km3net-jpp-doc-pptx) endif() add_dependencies(km3net-jpp-doc-pptx ${targetName}) endfunction() function(jpp_add_pptx) foreach(source IN LISTS ARGV) jpp_add_one_pptx(${source}) endforeach() endfunction()