string(TIMESTAMP YEAR %Y) add_custom_target( build_full_index COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/build_full_index.py ${YEAR} BYPRODUCTS ${OUTDIR}/${GRASS_INSTALL_DOCDIR}/full_index.html DEPENDS ALL_MODULES LIB_PYTHON GUI_WXPYTHON COMMENT "man generation: build full index") set_target_properties(build_full_index PROPERTIES FOLDER man) set(data_files ${CMAKE_CURRENT_SOURCE_DIR}/jquery.fixedheadertable.min.js ${CMAKE_CURRENT_SOURCE_DIR}/grassdocs.css ${CMAKE_CURRENT_SOURCE_DIR}/hamburger_menu.svg ${CMAKE_CURRENT_SOURCE_DIR}/grass_icon.png ${CMAKE_CURRENT_SOURCE_DIR}/grass_logo.png ${CMAKE_CURRENT_SOURCE_DIR}/hamburger_menu_close.svg ${CMAKE_CURRENT_SOURCE_DIR}/parser_standard_options.css ${CMAKE_CURRENT_SOURCE_DIR}/parser_standard_options.js) install(FILES ${data_files} DESTINATION ${GRASS_INSTALL_DOCDIR}) add_custom_command( TARGET build_full_index PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${data_files} ${OUTDIR}/${GRASS_INSTALL_DOCDIR} COMMENT "copying man files") add_custom_target( build_index COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/build_index.py ${OUTDIR}/${GRASS_INSTALL_DOCDIR} BYPRODUCTS ${OUTDIR}/${GRASS_INSTALL_DOCDIR}/index.html DEPENDS build_full_index COMMENT "man generation: build index") set_target_properties(build_index PROPERTIES FOLDER man) set(target_names build_topics build_keywords build_graphical_index build_manual_gallery) foreach(target_name ${target_names}) add_custom_target( ${target_name} COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${target_name}.py DEPENDS build_index COMMENT "man generation: ${target_name}") set_target_properties(${target_name} PROPERTIES FOLDER man) endforeach() add_custom_target( build_class_graphical COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/build_class_graphical.py html ${OUTDIR}/${GRASS_INSTALL_DOCDIR} DEPENDS build_index COMMENT "man generation: build_class_graphical") set_target_properties(build_class_graphical PROPERTIES FOLDER man) add_custom_target( build_pso COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/parser_standard_options.py -t "${CMAKE_SOURCE_DIR}/lib/gis/parser_standard_options.c" -f "grass" -o "${OUTDIR}/${GRASS_INSTALL_DOCDIR}/parser_standard_options.html" -p "id='opts_table' class='scroolTable'" DEPENDS ${target_names} COMMENT "man generation: parser standard options") set_target_properties(build_pso PROPERTIES FOLDER man) set(categories d:display db:database g:general i:imagery m:miscellaneous ps:postscript r:raster r3:raster3d t:temporal v:vector) set(category_targets "") foreach(category ${categories}) string(REPLACE ":" ";" category_list ${category}) list(GET category_list 0 prefix) list(GET category_list 1 class_name) list(APPEND category_targets build_class_${class_name}) add_custom_target( build_class_${class_name} COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/build_class.py ${prefix} ${class_name} ${OUTDIR}/${GRASS_INSTALL_DOCDIR} DEPENDS build_pso COMMENT "man generation: build class ${class_name}") set_target_properties(build_class_${class_name} PROPERTIES FOLDER man) endforeach() # TODO: this shouldn't depend on GUI_WXPYTHON add_custom_target( build_check ALL COMMAND ${grass_env_command} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/build_check.py ${OUTDIR}/${GRASS_INSTALL_DOCDIR} DEPENDS ${category_targets} ALL_MODULES LIB_PYTHON GUI_WXPYTHON COMMENT "man generation: check output") set_target_properties(build_check PROPERTIES FOLDER man) #[=======[ TODO: implement somehow... add_custom_target( create_man_pages ALL DEPENDS build_check COMMAND ${CMAKE_COMMAND} -DHTML2MAN=${HTML2MAN} -DGRASS_INSTALL_DOCDIR=${GRASS_INSTALL_DOCDIR} -DOUTDIR=${OUTDIR} -DGRASS_INSTALL_MANDIR=${GRASS_INSTALL_MANDIR} -P ${CMAKE_SOURCE_DIR}/cmake/generate_man_pages.cmake COMMENT "!!! man generation: create man pages") ]=======]