diff options
Diffstat (limited to 'app/doc/CMakeLists.txt')
-rw-r--r-- | app/doc/CMakeLists.txt | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/app/doc/CMakeLists.txt b/app/doc/CMakeLists.txt new file mode 100644 index 0000000..dcee056 --- /dev/null +++ b/app/doc/CMakeLists.txt @@ -0,0 +1,93 @@ +PROJECT(doc) + +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/intro.but.in ${CMAKE_CURRENT_BINARY_DIR}/intro.but) +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/clean-html.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/clean-html.cmake @ONLY) +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/hhc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/hhc.cmake @ONLY) + +FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html) + +GET_TARGET_PROPERTY(HALIBUT_COMMAND halibut LOCATION) + +SET(HALIBUT_SOURCES + ${CMAKE_CURRENT_BINARY_DIR}/intro.but + ${CMAKE_CURRENT_SOURCE_DIR}/addm.but + ${CMAKE_CURRENT_SOURCE_DIR}/changem.but + ${CMAKE_CURRENT_SOURCE_DIR}/drawm.but + ${CMAKE_CURRENT_SOURCE_DIR}/editm.but + ${CMAKE_CURRENT_SOURCE_DIR}/filem.but + ${CMAKE_CURRENT_SOURCE_DIR}/helpm.but + ${CMAKE_CURRENT_SOURCE_DIR}/hotbar.but + ${CMAKE_CURRENT_SOURCE_DIR}/macrom.but + ${CMAKE_CURRENT_SOURCE_DIR}/managem.but + ${CMAKE_CURRENT_SOURCE_DIR}/optionm.but + ${CMAKE_CURRENT_SOURCE_DIR}/statusbar.but + ${CMAKE_CURRENT_SOURCE_DIR}/view_winm.but + ${CMAKE_CURRENT_SOURCE_DIR}/navigation.but + ${CMAKE_CURRENT_SOURCE_DIR}/appendix.but + ${help_BINARY_DIR}/messages.but + ${CMAKE_CURRENT_SOURCE_DIR}/upgrade.but + ${CMAKE_CURRENT_SOURCE_DIR}/warranty.but + ) + +# Add a custom command for cleaning the HTML staging directory +ADD_CUSTOM_TARGET(clean-html + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/clean-html.cmake + ) + +# If we're using the GTK back-end, just generate "vanilla" HTML help files for use with gtkhtml +IF(XTRKCAD_USE_GTK) + + SET(HALIBUT_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/linconf.but ${HALIBUT_SOURCES}) + + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html + DEPENDS halibut ${HALIBUT_SOURCES} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/clean-html.cmake + COMMAND ${HALIBUT_COMMAND} ${HALIBUT_SOURCES} + ) + + ADD_CUSTOM_TARGET(help-html ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/html/index.html) + + INSTALL( + DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html + DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR} + ) + + INSTALL( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/png.d + DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}/html + ) + + INSTALL( + FILES xtrkcad_lin.css + DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}/html + ) + +# Otherwise, we're using the Win32 back-end, so generate a compiled HTML help file +ELSE(XTRKCAD_USE_GTK) + + SET(HALIBUT_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/chmconf.but ${HALIBUT_SOURCES}) + FILE(GLOB IMAGE_SOURCES png.d/*) + + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/xtrkcad.chm + DEPENDS halibut ${HALIBUT_SOURCES} ${IMAGE_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/xtrkcad_win.css + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/clean-html.cmake + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/png.d ${CMAKE_CURRENT_BINARY_DIR}/html/png.d + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/xtrkcad_win.css ${CMAKE_CURRENT_BINARY_DIR}/html + COMMAND ${HALIBUT_COMMAND} ${HALIBUT_SOURCES} + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/hhc.cmake + ) + + ADD_CUSTOM_TARGET(help-chm ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/html/xtrkcad.chm) + + INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/html/xtrkcad.chm + DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR} + ) + +ENDIF(XTRKCAD_USE_GTK) + |