asciidoc: add simple asciidoc package
This commit is contained in:
parent
e8d23f5865
commit
1bc4f38108
76
FindAsciidoc.cmake
Normal file
76
FindAsciidoc.cmake
Normal file
@ -0,0 +1,76 @@
|
||||
cmake_minimum_required (VERSION 3.7)
|
||||
|
||||
find_program(ASCIIDOC NAMES asciidoc DOC "path to the asciidoc binary")
|
||||
mark_as_advanced (ASCIIDOC)
|
||||
|
||||
if (ASCIIDOC)
|
||||
execute_process (
|
||||
COMMAND ${ASCIIDOC} --version
|
||||
OUTPUT_VARIABLE ASCIIDOC_version_output
|
||||
ERROR_VARIABLE ASCIIDOC_version_error
|
||||
RESULT_VARIABLE ASCIIDOC_version_result
|
||||
)
|
||||
|
||||
if (${ASCIIDOC_version_output})
|
||||
string (
|
||||
REGEX REPLACE
|
||||
"^asciidoc (\\d+\\.\\d+\\.\\d+)$"
|
||||
"\\1"
|
||||
ASCIIDOC_VERSION
|
||||
"${ASCIIDOC_version_output}"
|
||||
)
|
||||
endif ()
|
||||
|
||||
set (ASCIIDOC_target_usage "ASCIIDOC_target(<name> SOURCE <source> OUTPUT <output> [DEPENDS ...])")
|
||||
|
||||
macro (ASCIIDOC_target name)
|
||||
set (_ASCIIDOC_${name}_onoff_args HTML5)
|
||||
set (_ASCIIDOC_${name}_value_args SOURCE OUTPUT)
|
||||
set (_ASCIIDOC_${name}_multi_args DEPENDS)
|
||||
|
||||
cmake_parse_arguments (_ASCIIDOC_${name}
|
||||
"${_ASCIIDOC_${name}_onoff_args}"
|
||||
"${_ASCIIDOC_${name}_value_args}"
|
||||
"${_ASCIIDOC_${name}_multi_args}"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
if (NOT _ASCIIDOC_${name}_SOURCE)
|
||||
message (FATAL_ERROR "${ASCIIDOC_target_usage}")
|
||||
endif ()
|
||||
|
||||
if (NOT _ASCIIDOC_${name}_OUTPUT)
|
||||
message (FATAL_ERROR "${ASCIIDOC_target_usage}")
|
||||
endif ()
|
||||
|
||||
get_filename_component (dir "${_ASCIIDOC_${name}_OUTPUT}" DIRECTORY)
|
||||
file (MAKE_DIRECTORY "${dir}")
|
||||
|
||||
add_custom_command (
|
||||
OUTPUT
|
||||
"${_ASCIIDOC_${name}_OUTPUT}"
|
||||
COMMAND
|
||||
"${ASCIIDOC}"
|
||||
-b html5
|
||||
-o "${_ASCIIDOC_${name}_OUTPUT}"
|
||||
--theme=volnitsky
|
||||
-a icons
|
||||
"${_ASCIIDOC_${name}_SOURCE}"
|
||||
DEPENDS
|
||||
"${_ASCIIDOC_${name}_SOURCE};${_ASCIIDOC_${name}_DEPENDS}"
|
||||
MAIN_DEPENDENCY
|
||||
"${_ASCIIDOC_${name}_SOURCE}"
|
||||
COMMENT
|
||||
"[asciidoc] ${_ASCIIDOC_${name}_SOURCE}"
|
||||
)
|
||||
|
||||
add_custom_target (${name} "${_ASCIIDOC_${name}_OUTPUT}")
|
||||
endmacro ()
|
||||
endif ()
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (ASCIIDOC
|
||||
REQUIRED_VARS ASCIIDOC
|
||||
VERSION_VAR ASCIIDOC_VERSION
|
||||
)
|
Loading…
Reference in New Issue
Block a user