mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-05 08:51:19 -05:00
247 lines
7.3 KiB
CMake
247 lines
7.3 KiB
CMake
set (LANGUAGES
|
|
en
|
|
)
|
|
|
|
set (common_SRCS
|
|
common/communication.adoc
|
|
common/license.adoc
|
|
common/links.adoc
|
|
)
|
|
|
|
set (UG_SRCS
|
|
docinfo.html
|
|
docinfo.xml
|
|
acknowledgements.adoc
|
|
astro_data.adoc
|
|
config-details.adoc
|
|
controls-functions-center.adoc
|
|
controls-functions-left.adoc
|
|
controls-functions-main-window.adoc
|
|
controls-functions-menus.adoc
|
|
controls-functions-messages.adoc
|
|
controls-functions-status-bar.adoc
|
|
controls-functions-wide-graph.adoc
|
|
cooperating-programs.adoc
|
|
decoder_notes.adoc
|
|
faq.adoc
|
|
font-sizes.adoc
|
|
install-from-source.adoc
|
|
install-linux.adoc
|
|
install-mac.adoc
|
|
install-windows.adoc
|
|
introduction.adoc
|
|
measurement_tools.adoc
|
|
protocols.adoc
|
|
logging.adoc
|
|
make-qso.adoc
|
|
measurement_tools.adoc
|
|
new_features.adoc
|
|
platform-dependencies.adoc
|
|
protocols.adoc
|
|
settings-advanced.adoc
|
|
settings-audio.adoc
|
|
settings-colors.adoc
|
|
settings-frequencies.adoc
|
|
settings-general.adoc
|
|
settings-radio.adoc
|
|
settings-reporting.adoc
|
|
settings-txmacros.adoc
|
|
support.adoc
|
|
system-requirements.adoc
|
|
transceiver-setup.adoc
|
|
tutorial-example1.adoc
|
|
tutorial-example2.adoc
|
|
tutorial-example3.adoc
|
|
tutorial-example4.adoc
|
|
tutorial-main-window.adoc
|
|
tutorial-wide-graph-settings.adoc
|
|
utilities.adoc
|
|
vhf-features.adoc
|
|
wsjtx-main.adoc
|
|
wspr.adoc
|
|
)
|
|
|
|
set (UG_IMGS
|
|
images/130610_2343-wav-80.png
|
|
images/AstroData_2.png
|
|
images/Astronomical_data.png
|
|
images/auto-seq.png
|
|
images/band-settings.png
|
|
images/colors.png
|
|
images/config-menu.png
|
|
images/decode-menu.png
|
|
images/decodes.png
|
|
images/download_samples.png
|
|
images/echo_144.png
|
|
images/file-menu.png
|
|
images/FreqCal.png
|
|
images/FreqCal_Graph.png
|
|
images/FreqCal_Results.png
|
|
images/freemsg.png
|
|
images/ft4_decodes.png
|
|
images/ft4_waterfall.png
|
|
images/ft8_decodes.png
|
|
images/FT8_waterfall.png
|
|
images/help-menu.png
|
|
images/JT4F.png
|
|
images/JT65B.png
|
|
images/keyboard-shortcuts.png
|
|
images/MSK144.png
|
|
images/QRA64.png
|
|
images/WSPR_WideGraphControls.png
|
|
images/WSPR_1a.png
|
|
images/WSPR_2.png
|
|
images/jtalert.png
|
|
images/keyboard-shortcuts.png
|
|
images/log-qso.png
|
|
images/MacAppMenu.png
|
|
images/main-ui.png
|
|
images/main-ui-controls.png
|
|
images/misc-controls-center.png
|
|
images/misc-main-ui.png
|
|
images/mode-menu.png
|
|
images/new-msg-box.png
|
|
images/psk-reporter.png
|
|
images/r3666-config-screen-80.png
|
|
images/r3666-main-ui-80.png
|
|
images/r4148-txmac-ui.png
|
|
images/RadioTab.png
|
|
images/reporting.png
|
|
images/save-menu.png
|
|
images/settings-advanced.png
|
|
images/settings-audio.png
|
|
images/settings-frequencies.png
|
|
images/settings-general.png
|
|
images/setup-menu.png
|
|
images/special-mouse-commands.png
|
|
images/status-bar-a.png
|
|
images/tools-menu.png
|
|
images/traditional-msg-box.png
|
|
images/tx-macros.png
|
|
images/VHF_controls.png
|
|
images/view-menu.png
|
|
images/wide-graph-controls.png
|
|
|
|
)
|
|
|
|
find_program (ASCIIDOCTOR_EXECUTABLE NAMES asciidoctor)
|
|
if (NOT ASCIIDOCTOR_EXECUTABLE)
|
|
message (FATAL_ERROR "asciidoctor is required to build the documentation
|
|
|
|
Building the documenation may optionally be turned off by setting the CMake
|
|
option WSJT_GENERATE_DOCS to OFF.")
|
|
endif (NOT ASCIIDOCTOR_EXECUTABLE)
|
|
|
|
find_program (FOPUB_EXECUTABLE NAMES fopub)
|
|
|
|
include (CMakeParseArguments)
|
|
|
|
# generate a document from asciidoc text files(s)
|
|
#
|
|
# HTML - generate an HTML document
|
|
# PDF - generate a PDF document
|
|
# SOURCE - top level asciidoc file
|
|
# ASCIIDOCTOR_OPTIONS - asciidoctor command options
|
|
# DEPENDS - dependent files
|
|
function (document)
|
|
cmake_parse_arguments (_args "HTML" "SOURCE;LANG;OUTPUT" "ASCIIDOCTOR_OPTIONS;PDF;DEPENDS" ${ARGN})
|
|
get_filename_component (_source_path ${_args_SOURCE} PATH)
|
|
get_filename_component (_source_name ${_args_SOURCE} NAME)
|
|
get_filename_component (_output_name_we ${_args_SOURCE} NAME_WE)
|
|
|
|
# HTML
|
|
if (${_args_HTML})
|
|
set (_html_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}_${lang}.html)
|
|
add_custom_command (
|
|
OUTPUT ${_html_file}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path}/${lang}
|
|
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ${_args_ASCIIDOCTOR_OPTIONS}
|
|
-b html5
|
|
-a VERSION_MAJOR=${WSJTX_VERSION_MAJOR}
|
|
-a VERSION_MINOR=${WSJTX_VERSION_MINOR}
|
|
-a VERSION_PATCH=${WSJTX_VERSION_PATCH}
|
|
-a VERSION=${wsjtx_VERSION}
|
|
--out-file=${_html_file} ${_source_name}
|
|
DEPENDS ${_args_DEPENDS}
|
|
COMMENT "Generating ${_html_file}"
|
|
)
|
|
list (APPEND _output_files ${_html_file})
|
|
endif (${_args_HTML})
|
|
|
|
# PDF
|
|
if (_args_PDF AND EXISTS ${FOPUB_EXECUTABLE})
|
|
set (_docbook_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}_${lang}.xml)
|
|
set (_pdf_file_we ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}_${lang})
|
|
if (${lang} MATCHES "^(en|es|fr)$") # en-us, fr-ca and es-{mx,co} use US-Letter or equivalent
|
|
set (_usl_commands
|
|
COMMAND ${FOPUB_EXECUTABLE} ARGS ${_docbook_file} ${_args_PDF} -param paper.type USLetter
|
|
COMMAND ${CMAKE_COMMAND} ARGS -E rename ${_pdf_file_we}.pdf '${_pdf_file_we} \(USLetter\).pdf'
|
|
)
|
|
list (APPEND _output_files "${_pdf_file_we} (USLetter).pdf")
|
|
endif ()
|
|
list (APPEND _output_files "${_pdf_file_we}.pdf")
|
|
add_custom_command (
|
|
OUTPUT ${_docbook_file} ${_output_files}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path}/${lang}
|
|
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${_args_ASCIIDOCTOR_OPTIONS}
|
|
-b docbook
|
|
-a data-uri!
|
|
-a VERSION_MAJOR=${WSJTX_VERSION_MAJOR}
|
|
-a VERSION_MINOR=${WSJTX_VERSION_MINOR}
|
|
-a VERSION_PATCH=${WSJTX_VERSION_PATCH}
|
|
-a VERSION=${wsjtx_VERSION}
|
|
-D ${CMAKE_CURRENT_BINARY_DIR}
|
|
-o ${_docbook_file} ${_source_name}
|
|
${_usl_commands}
|
|
COMMAND ${FOPUB_EXECUTABLE} ARGS ${_docbook_file} ${_args_PDF} -param paper.type A4
|
|
COMMAND ${CMAKE_COMMAND} ARGS -E rename ${_pdf_file_we}.pdf '${_pdf_file_we}.pdf'
|
|
DEPENDS ${_args_DEPENDS}
|
|
COMMENT "Generating ${_output_files}"
|
|
)
|
|
endif (_args_PDF AND EXISTS ${FOPUB_EXECUTABLE})
|
|
|
|
set (${_args_OUTPUT} ${_output_files} PARENT_SCOPE)
|
|
endfunction (document)
|
|
|
|
set (htmls)
|
|
set (pdfs)
|
|
foreach (lang ${LANGUAGES})
|
|
set (_sources)
|
|
foreach (_src ${UG_SRCS} ${UG_IMGS})
|
|
list (APPEND _sources "user_guide/${lang}/${_src}")
|
|
endforeach ()
|
|
document(
|
|
HTML
|
|
SOURCE user_guide/wsjtx-main.adoc
|
|
LANG "${lang}"
|
|
OUTPUT html
|
|
ASCIIDOCTOR_OPTIONS -d book -a data-uri -a toc=left -a max-width=1024px
|
|
DEPENDS ${common_SRCS} ${_sources}
|
|
)
|
|
document(
|
|
PDF -param body.font.master 11 -param body.font.family "'Noto Sans, Helvetica, sans-serif'" -param title.font.family "'Noto Serif, Times New Roman, serif'" -param page.margin.inner 1cm -param page.margin.outer 1cm -param page.margin.top 0.75cm -param page.margin.bottom 0.5cm -param generate.toc 0
|
|
SOURCE user_guide/wsjtx-main.adoc
|
|
LANG "${lang}"
|
|
OUTPUT pdf
|
|
ASCIIDOCTOR_OPTIONS -d book
|
|
DEPENDS ${common_SRCS} ${_sources}
|
|
)
|
|
list (APPEND htmls "${html}")
|
|
list (APPEND pdfs "${pdf}")
|
|
endforeach ()
|
|
|
|
add_custom_target (docs ALL DEPENDS ${htmls} ${pdfs})
|
|
|
|
foreach (_html ${htmls})
|
|
get_filename_component (_path ${_html} PATH)
|
|
get_filename_component (_nwe ${_html} NAME_WE)
|
|
get_filename_component (_ext ${_html} EXT)
|
|
string (REGEX REPLACE "_en$" "" _nwe ${_nwe})
|
|
install (FILES
|
|
${_html}
|
|
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
|
RENAME ${_nwe}-${wsjtx_VERSION}${_ext}
|
|
#COMPONENT runtime
|
|
)
|
|
endforeach ()
|