# To help us fund GROMACS development, we humbly ask that you cite
# the research papers on the package. Check out http://www.gromacs.org.
-add_custom_target(man
- ${CMAKE_COMMAND} -E make_directory man1
+include(gmxCustomCommandUtilities)
+
+gmx_add_custom_output_target(man OUTPUT STAMP
+ COMMAND ${CMAKE_COMMAND} -E make_directory man1
COMMAND ${CMAKE_COMMAND} -E make_directory man7
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/man7/gromacs.7.in" man7/
COMMAND gmx -quiet help -export man
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "Generating man pages"
- VERBATIM)
+ DEPENDS gmx ${CMAKE_CURRENT_SOURCE_DIR}/man7/gromacs.7.in
+ COMMENT "Generating man pages")
set(MAN_PAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
if (GMX_BUILD_HELP)
# To help us fund GROMACS development, we humbly ask that you cite
# the research papers on the package. Check out http://www.gromacs.org.
+include(gmxCustomCommandUtilities)
+
set(OUTPUT_DIR final)
-set(HTML_PAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${OUTPUT_DIR})
-add_custom_target(html
- ${CMAKE_COMMAND}
- -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR}
- -D OUTPUT_DIR=${OUTPUT_DIR}
- -D STEP=PRE
- -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake
+file(GLOB_RECURSE deps
+ ${CMAKE_CURRENT_SOURCE_DIR}/images/*
+ ${CMAKE_CURRENT_SOURCE_DIR}/*.html
+ ${CMAKE_CURRENT_SOURCE_DIR}/*.css
+ )
+list(APPEND deps
+ ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/header.html.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/links.dat
+ )
+
+gmx_add_custom_output_target(html OUTPUT STAMP
+ COMMAND ${CMAKE_COMMAND}
+ -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR}
+ -D OUTPUT_DIR=${OUTPUT_DIR}
+ -D STEP=PRE
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake
COMMAND gmx -quiet help -export html
COMMAND ${CMAKE_COMMAND}
- -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR}
- -D OUTPUT_DIR=${OUTPUT_DIR}
- -D STEP=POST
- -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake
- COMMENT "Generating HTML help"
- VERBATIM)
+ -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR}
+ -D OUTPUT_DIR=${OUTPUT_DIR}
+ -D STEP=POST
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS gmx ${deps}
+ COMMENT "Generating HTML help")
+set(HTML_PAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${OUTPUT_DIR})
if (GMX_BUILD_HELP)
set_target_properties(html PROPERTIES EXCLUDE_FROM_ALL OFF)
set_directory_properties(PROPERTIES
########################
# Completion generation
- set(COMPLETION_DIR ${CMAKE_CURRENT_SOURCE_DIR}/completion)
- file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/completion)
- add_custom_target(completion
- gmx -quiet help -export completion
- COMMENT "Generating command-line completions for programs"
- WORKING_DIRECTORY completion
- VERBATIM)
+ include(gmxCustomCommandUtilities)
+
+ gmx_add_custom_output_target(completion OUTPUT STAMP
+ COMMAND ${CMAKE_COMMAND} -E make_directory completion
+ COMMAND ${CMAKE_COMMAND} -E chdir completion
+ $<TARGET_FILE:gmx> -quiet help -export completion
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS gmx
+ COMMENT "Generating command-line completions for programs")
# Using GMX_BUILD_HELP here is somewhat confusing, but the conditions when
# this can be done are exactly the same (ability to run the compiled
# binaries).
+ set(COMPLETION_DIR ${CMAKE_CURRENT_SOURCE_DIR}/completion)
if (GMX_BUILD_HELP)
set_target_properties(completion PROPERTIES EXCLUDE_FROM_ALL OFF)
set_directory_properties(PROPERTIES