diff --git a/qad/doc/CMakeLists.txt b/qad/doc/CMakeLists.txt index 5bd3a86..893b649 100644 --- a/qad/doc/CMakeLists.txt +++ b/qad/doc/CMakeLists.txt @@ -1,17 +1,20 @@ include(CheckIncludeFileCXX) -set(CHECK_INCLUDES "-include stdio.h") -if(WIN32) - set(CHECK_INCLUDES "-include windows.h -include stdio.h") -endif() -check_include_file_cxx("mkdio.h" MARKDOWN_HEADER_MKDIO ${CHECK_INCLUDES}) -if (MARKDOWN_HEADER_MKDIO) - add_definitions("-DMARKDOWN_HEADER=\"mkdio.h\"") -endif() -check_include_file_cxx("markdown/markdown.h" MARKDOWN_HEADER_MARKDOWN ${CHECK_INCLUDES}) -if (MARKDOWN_HEADER_MARKDOWN) - add_definitions("-DMARKDOWN_HEADER=\"markdown/markdown.h\"") -endif() find_library(MARKDOWN_LIBRARY markdown) +set(_LIBS) if (MARKDOWN_LIBRARY) - qad_project(doc "Core" "${MARKDOWN_LIBRARY}") + list(APPEND _LIBS "${MARKDOWN_LIBRARY}") + add_definitions("-DUSE_MARKDOWN") + set(CHECK_INCLUDES "-include stdio.h") + if(WIN32) + set(CHECK_INCLUDES "-include windows.h -include stdio.h") + endif() + check_include_file_cxx("mkdio.h" MARKDOWN_HEADER_MKDIO ${CHECK_INCLUDES}) + if (MARKDOWN_HEADER_MKDIO) + add_definitions("-DMARKDOWN_HEADER=\"mkdio.h\"") + endif() + check_include_file_cxx("markdown/markdown.h" MARKDOWN_HEADER_MARKDOWN ${CHECK_INCLUDES}) + if (MARKDOWN_HEADER_MARKDOWN) + add_definitions("-DMARKDOWN_HEADER=\"markdown/markdown.h\"") + endif() endif() +qad_project(doc "Core" "${_LIBS}") diff --git a/qad/doc/markdown.cpp b/qad/doc/markdown.cpp index 957800c..f7f6974 100644 --- a/qad/doc/markdown.cpp +++ b/qad/doc/markdown.cpp @@ -1,30 +1,33 @@ #include "markdown.h" #include +#ifdef USE_MARKDOWN extern "C" { -#include MARKDOWN_HEADER +# include MARKDOWN_HEADER } -#ifndef mkd_flags_are -# ifndef MKD_DLEXTRA -# define MKD_DLEXTRA 0x01000000 -# endif -# ifndef MKD_FENCEDCODE -# define MKD_FENCEDCODE 0x02000000 +# ifndef mkd_flags_are +# ifndef MKD_DLEXTRA +# define MKD_DLEXTRA 0x01000000 +# endif +# ifndef MKD_FENCEDCODE +# define MKD_FENCEDCODE 0x02000000 +# endif # endif #endif QString md2html(const QByteArray & src) { +#ifdef USE_MARKDOWN static bool _is_mkd_init = false; if (src.isEmpty()) return QString(); if (!_is_mkd_init) { _is_mkd_init = true; mkd_initialize(); } -#ifdef _MARKDOWN_D +# ifdef _MARKDOWN_D DWORD flagm = (MKD_DLEXTRA | MKD_FENCEDCODE); Document -#endif -#ifdef _MKDIO_D +# endif +# ifdef _MKDIO_D #ifdef mkd_flags_are mkd_flag_t * flagm = mkd_flags(); mkd_set_flag_num(flagm, MKD_DLEXTRA); @@ -33,7 +36,7 @@ QString md2html(const QByteArray & src) { mkd_flag_t flagm = (MKD_DLEXTRA | MKD_FENCEDCODE); #endif MMIOT -#endif +# endif * doc = mkd_string(src.constData(), src.size(), 0); if (!doc) return QString(); mkd_compile(doc, flagm); @@ -57,5 +60,8 @@ QString md2html(const QByteArray & src) { ret.prepend(header); ret.append("\n\n"); return ret; +#else + return QString(); +#endif }