mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-10-28 11:30:25 -04:00
Locations of various components to be determined at configuration
time. This allows various "Standard" system layouts to be
accomodated. For example on FreeBSD the manpages are usually installed
in the man directory i.e. /usr/local/man whereas the WSJT-X default is
to install them in share/man i.e. /usr/share/man. By setting the CMake
variable WSJT_MANPAGE_DESTINATION to either a relative or absolute
path the install location can be set:
$ cmake -D WSJT_MANPAGE_DESTINATION=. ...
will install the manpages at ${CMAKE_INSTALL_PREFIX}/man
The new configuration variables are:
WSJT_BIN_DESTINATION
WSJT_LIB_DESTINATION
WSJT_SHARE_DESTINATION
WSJT_DOC_DESTINATION
WSJT_DATA_DESTINATION
WSJT_MANPAGE_DESTINATION
WSJT_PLUGIN_DESTINATION
WSJT_QT_CONF_DESTINATION
NB: changes to the above may break WSJT-X at present where the install
locations of files used directly by WSJT-X are moved.
Warning: using absolute paths for these variables is not recommended
as files may be installed in unexpected places, particularly when run
with root privileges. All relative paths with be relative to
CMAKE_INSTALL_PREFIX.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6192 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
188 lines
6.6 KiB
CMake
188 lines
6.6 KiB
CMake
set (common_SRCS
|
|
common/communication.adoc
|
|
common/license.adoc
|
|
common/links.adoc
|
|
)
|
|
|
|
set (UG_SRCS
|
|
user_guide/docinfo.html
|
|
user_guide/docinfo.xml
|
|
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_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;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}.html)
|
|
add_custom_command (
|
|
OUTPUT ${_html_file}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path}
|
|
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}.xml)
|
|
set (_pdf_file_we ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we})
|
|
add_custom_command (
|
|
OUTPUT ${_docbook_file} "${_pdf_file_we} (USLetter).pdf" "${_pdf_file_we} (A4).pdf"
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path}
|
|
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}
|
|
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'
|
|
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} \(A4\).pdf'
|
|
DEPENDS ${_args_DEPENDS}
|
|
COMMENT "Generating ${_pdf_file_we}.pdf"
|
|
)
|
|
list (APPEND _output_files "${_pdf_file_we} (USLetter).pdf" "${_pdf_file_we} (A4).pdf")
|
|
endif (_args_PDF AND EXISTS ${FOPUB_EXECUTABLE})
|
|
|
|
set (${_args_OUTPUT} ${_output_files} PARENT_SCOPE)
|
|
endfunction (document)
|
|
|
|
document(
|
|
HTML
|
|
SOURCE user_guide/wsjtx-main.adoc
|
|
OUTPUT html
|
|
ASCIIDOCTOR_OPTIONS -d book -a data-uri -a toc=left -a max-width=1024px
|
|
DEPENDS ${common_SRCS} ${UG_SRCS} ${UG_IMGS}
|
|
)
|
|
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
|
|
OUTPUT pdf
|
|
ASCIIDOCTOR_OPTIONS -d book
|
|
DEPENDS ${common_SRCS} ${UG_SRCS} ${UG_IMGS}
|
|
)
|
|
add_custom_target (docs ALL DEPENDS ${html} ${pdf})
|
|
|
|
install (FILES
|
|
${html}
|
|
DESTINATION ${WSJT_DOC_DESTINATION}
|
|
RENAME ${PROJECT_MANUAL}
|
|
#COMPONENT runtime
|
|
)
|