WSJT-X/doc/CMakeLists.txt
Bill Somerville 85c2903db4 Another attempt to get installed locations right
That is, right for all platforms with both local and package installs.
Install copyright and Debian change log in correct package directory.

Merged from ^/branches/wsjtx.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.6@6250 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-08 21:10:19 +00:00

153 lines
5.3 KiB
CMake

set (common_SRCS
common/communication.adoc
common/license.adoc
common/links.adoc
)
set (UG_SRCS
user_guide/acknowledgements.adoc
user_guide/compiling.adoc
user_guide/config-details.adoc
user_guide/controls-functions-center.adoc
user_guide/controls-functions-left.adoc
user_guide/controls-functions-main-window.adoc
user_guide/controls-functions-menus.adoc
user_guide/controls-functions-messages.adoc
user_guide/controls-functions-status-bar.adoc
user_guide/controls-functions-wide-graph.adoc
user_guide/cooperating-programs.adoc
user_guide/faq.adoc
user_guide/font-sizes.adoc
user_guide/implementation.adoc
user_guide/install-from-source.adoc
user_guide/install-linux.adoc
user_guide/install-mac.adoc
user_guide/install-windows.adoc
user_guide/introduction.adoc
user_guide/protocols.adoc
user_guide/logging.adoc
user_guide/make-qso.adoc
user_guide/new_features.adoc
user_guide/platform-dependencies.adoc
user_guide/settings-audio.adoc
user_guide/settings-colors.adoc
user_guide/settings-frequencies.adoc
user_guide/settings-general.adoc
user_guide/settings-radio.adoc
user_guide/settings-reporting.adoc
user_guide/settings-txmacros.adoc
user_guide/support.adoc
user_guide/system-requirements.adoc
user_guide/transceiver-setup.adoc
user_guide/tutorial-example1.adoc
user_guide/tutorial-example2.adoc
user_guide/tutorial-main-window.adoc
user_guide/tutorial-wide-graph-settings.adoc
user_guide/utilities.adoc
user_guide/vhf-features.adoc
user_guide/wsjtx-main.adoc
user_guide/wspr.adoc
)
set (UG_IMGS
user_guide/images/130610_2343-wav-80.png
user_guide/images/band-settings.png
user_guide/images/colors.png
user_guide/images/decode-menu.png
user_guide/images/decodes.png
user_guide/images/file-menu.png
user_guide/images/freemsg.png
user_guide/images/help-menu.png
user_guide/images/jtalert.png
user_guide/images/keyboard-shortcuts.png
user_guide/images/log-qso.png
user_guide/images/MacAppMenu.png
user_guide/images/main-ui-1.5.png
user_guide/images/main-ui-controls.png
user_guide/images/misc-controls-center.png
user_guide/images/misc-main-ui.png
user_guide/images/mode-menu.png
user_guide/images/new-msg-box.png
user_guide/images/psk-reporter.png
user_guide/images/r3666-config-screen-80.png
user_guide/images/r3666-main-ui-80.png
user_guide/images/r4148-txmac-ui.png
user_guide/images/RadioTab.png
user_guide/images/reporting.png
user_guide/images/save-menu.png
user_guide/images/settings-audio.png
user_guide/images/settings-frequencies.png
user_guide/images/settings-general.png
user_guide/images/setup-menu.png
user_guide/images/special-mouse-commands.png
user_guide/images/status-bar-a.png
user_guide/images/traditional-msg-box.png
user_guide/images/tx-macros.png
user_guide/images/view-menu.png
user_guide/images/wide-graph-controls.png
)
find_package (PythonInterp 2.4 REQUIRED)
if (PYTHON_VERSION_STRING VERSION_GREATER 2.9.9)
message (FATAL_ERROR "The asciidoc package requires a Python version less than 3
Use CMAKE_PREFIX_PATH to point to an earlier version or install one,
you can also skip building the documentation by switching the option
WSJT_GENERATE_DOCS to OFF.")
endif (PYTHON_VERSION_STRING VERSION_GREATER 2.9.9)
find_program (ASCIIDOC_EXECUTABLE NAMES asciidoc asciidoc.py)
if (NOT ASCIIDOC_EXECUTABLE)
message (FATAL_ERROR "Asciidoc is required to build the documentation
Building the documenation may optionally be tured off by setting the CMake
option WSJT_GENERATE_DOCS to OFF.")
endif (NOT ASCIIDOC_EXECUTABLE)
include (CMakeParseArguments)
# generate an HTML document from asciidoc text files(s)
#
# HTML - variable for output file ${CMAKE_CURRENT_BINARY_DIR}/`$basename ${SOURCE}`.html
# SOURCE - top level asciidoc file
# ASCIIDOC_OPTIONS - asciidoc command options
# DEPENDS - dependent files
function (html_document)
cmake_parse_arguments (args "" "SOURCE;HTML" "ASCIIDOC_OPTIONS;DEPENDS" ${ARGN})
get_filename_component (_output_name_we ${args_SOURCE} NAME_WE)
get_filename_component (_path ${args_SOURCE} PATH)
set (_doc_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}.html)
add_custom_command (
OUTPUT ${_doc_file}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${path}
COMMAND ${PYTHON_EXECUTABLE} ARGS ${ASCIIDOC_EXECUTABLE} ${args_ASCIIDOC_OPTIONS} --out-file=${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}.html ${args_SOURCE}
DEPENDS ${args_DEPENDS}
COMMENT "Generating ${_doc_file}"
)
set (${args_HTML} ${_doc_file} PARENT_SCOPE)
endfunction (html_document)
configure_file (wsjtx.conf.in wsjtx.conf.out)
# copy the file to the final location only if the generated output
# changes reduces needless rebuilds
execute_process (
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_if_different wsjtx.conf.out wsjtx.conf
)
html_document(
HTML user_guide
SOURCE user_guide/wsjtx-main.adoc
ASCIIDOC_OPTIONS -a data-uri -a toc2 -a max-width=1024px --conf-file=${CMAKE_CURRENT_BINARY_DIR}/wsjtx.conf --backend=xhtml11 --theme wsjt
DEPENDS ${common_SRCS} ${UG_SRCS} ${UG_IMGS} wsjtx.conf.in theme/wsjt/wsjt.css
)
add_custom_target (docs ALL DEPENDS ${user_guide})
install (FILES
${user_guide}
DESTINATION ${WSJT_SHARE_DESTINATION}/${WSJT_DOC_DESTINATION}
RENAME ${PROJECT_MANUAL}
#COMPONENT runtime
)