cmake_policy(SET CMP0007 NEW)
SET(SNIPPETS_DIRECTORY_JAVA "web/snippets")
SET(SNIPPETS_DIRECTORY_HTML "web.components/snippets")
SET(OUTPUT_DIRECTORY_HTML "web.components/output")
SET(SNIPPET_COUNT 0)
IF (NOT DEFINED SEVENZIPJBINDING_VERSION)
SET(SEVENZIPJBINDING_VERSION "a-version")
ENDIF()
macro(PROCESS_SNIPPET_LINE_JAVA LINE_VAR)
STRING(REGEX REPLACE "//$" "" TMP "${${LINE_VAR}}")
STRING(REGEX REPLACE "[ \t]*
$" "" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*f\\*/([^/]+)/\\*([^*]*)\\*/" "\\1\\2" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*sf\\*/([^/]+)/\\*([^*]*)\\*/" "\\1\\2" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*s\\*/([^/]+)/\\*([^*]*)\\*/" "\\1\\2" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*( +)\\*/" "\\1" TMP "${TMP}")
SET(${LINE_VAR} "${TMP}")
endmacro()
macro(PROCESS_SNIPPET_COMMON_LINE_HTML LINE_VAR)
STRING(REGEX REPLACE "[ \t]*
$" "" TMP "${${LINE_VAR}}")
STRING(REGEX REPLACE "//$" "" TMP "${TMP}")
STRING(REGEX REPLACE "&" "&" TMP "${TMP}")
STRING(REGEX REPLACE "<" "<" TMP "${TMP}")
STRING(REGEX REPLACE ">" ">" TMP "${TMP}")
# STRING(REGEX REPLACE " " " " TMP "${TMP}")
# STRING(REGEX REPLACE "\t" " " TMP "${TMP}")
STRING(REGEX REPLACE "@see" "@see" TMP "${TMP}")
SET(${LINE_VAR} "${TMP}")
endmacro()
macro(PROCESS_SNIPPET_JAVADOC_LINE_HTML LINE_VAR)
PROCESS_SNIPPET_COMMON_LINE_HTML(${LINE_VAR})
STRING(REGEX REPLACE "code" "CoDe" TMP "${${LINE_VAR}}")
SET(${LINE_VAR} "${TMP}")
endmacro()
macro(PROCESS_SNIPPET_LINE_HTML LINE_VAR)
PROCESS_SNIPPET_COMMON_LINE_HTML(${LINE_VAR})
STRING(REGEX REPLACE "(\"[^\"]+\")" "##string##\\1##end##" TMP "${${LINE_VAR}}")
STRING(REGEX REPLACE "(^|[^a-zA-Z])(implements|null|import|if|for|int|byte|long|new|void|try|catch|finally|throws|throw|return|break|class|static|public|private|switch|case|default|final|extends|this|else|true|false)($|[^a-zA-Z])"
"\\1##keyword##\\2##end##\\3" TMP "${TMP}")
STRING(REGEX REPLACE "(SevenZip\\.)(openInArchive|initSevenZipFromPlatformJAR)"
"\\1##staticmethod##\\2##end##" TMP "${TMP}")
STRING(REGEX REPLACE "(System\\.)(exit)"
"\\1##staticmethod##\\2##end##" TMP "${TMP}")
STRING(REGEX REPLACE "(ArchiveFormat\\.)(ZIP)" "\\1##staticfield##\\2##end##" TMP "${TMP}")
STRING(REGEX REPLACE "(System\\.)(out|err)" "\\1##staticfield##\\2##end##" TMP "${TMP}")
STRING(REGEX REPLACE "(Arrays\\.)(hashCode)" "\\1##staticmethod##\\2##end##" TMP "${TMP}")
STRING(REGEX REPLACE "(String\\.)(format)" "\\1##staticmethod##\\2##end##" TMP "${TMP}")
STRING(REGEX REPLACE "(Integer\\.)(valueOf)" "\\1##staticmethod##\\2##end##" TMP "${TMP}")
# Remove highlighint inside a "// ..." comment
WHILE("${TMP}" MATCHES ".*(//[^#]*)##[a-z]+##(.*)$")
STRING(REGEX REPLACE "(//[^#]*)##[a-z]+##(.*)$" "\\1\\2" TMP "${TMP}")
ENDWHILE()
STRING(REGEX REPLACE "(//.*)$" "##comment##\\1##end##" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*f\\*/([^/]+)/\\*([^*]*)\\*/" "##field##\\1##end##\\2" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*sf\\*/([^/]+)/\\*([^*]*)\\*/" "##staticfield##\\1##end##\\2" TMP "${TMP}")
STRING(REGEX REPLACE "/\\*s\\*/([^/]+)/\\*([^*]*)\\*/" "##staticmethod##\\1##end##\\2" TMP "${TMP}")
STRING(REGEX REPLACE "##end##" "" TMP "${TMP}")
STRING(REGEX REPLACE "##string##" "" TMP "${TMP}")
STRING(REGEX REPLACE "##staticmethod##" "" TMP "${TMP}")
STRING(REGEX REPLACE "##staticfield##" "" TMP "${TMP}")
STRING(REGEX REPLACE "##comment##" "