summaryrefslogtreecommitdiffstats
path: root/tdemarkdown/md4c/src/CMakeLists.txt
diff options
context:
space:
mode:
authorMavridis Philippe <[email protected]>2022-02-05 17:44:26 +0000
committerSlávek Banko <[email protected]>2022-04-17 18:35:01 +0200
commit95279fbf6dfeb43d80590740a9259d7caa614177 (patch)
tree8c3ff4de77102f1e55357dd81d650e9f22be69a0 /tdemarkdown/md4c/src/CMakeLists.txt
parenta291f3a0a3fab073c009f77a36745c5c7bd48e9b (diff)
downloadtdelibs-95279fbf6dfeb43d80590740a9259d7caa614177.tar.gz
tdelibs-95279fbf6dfeb43d80590740a9259d7caa614177.zip
Add tdemarkdown part - embeddable lightweight markdown viewing component.
TDEMarkdown is based on the md4c library and using TDEHTML for rendering its output. For enhanced safety, on HTML widget is turned off everything we don't need for viewing. It integrates nicely into Konqueror and supports both Commonmark and GitHub markdown syntaxes. Signed-off-by: Mavridis Philippe <[email protected]> Prepare to merge tdemarkdown into tdelibs. Signed-off-by: Slávek Banko <[email protected]>
Diffstat (limited to 'tdemarkdown/md4c/src/CMakeLists.txt')
-rw-r--r--tdemarkdown/md4c/src/CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/tdemarkdown/md4c/src/CMakeLists.txt b/tdemarkdown/md4c/src/CMakeLists.txt
new file mode 100644
index 000000000..66f2f5013
--- /dev/null
+++ b/tdemarkdown/md4c/src/CMakeLists.txt
@@ -0,0 +1,56 @@
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS 1)
+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
+
+
+# Build rules for MD4C parser library
+
+configure_file(md4c.pc.in md4c.pc @ONLY)
+add_library(md4c md4c.c md4c.h)
+if(CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
+ target_compile_options(md4c PRIVATE -Wall -Wextra)
+endif()
+set_target_properties(md4c PROPERTIES
+ COMPILE_FLAGS "-DMD4C_USE_UTF8"
+ VERSION ${MD_VERSION}
+ SOVERSION ${MD_VERSION_MAJOR}
+ PUBLIC_HEADER md4c.h
+)
+
+# Build rules for HTML renderer library
+
+configure_file(md4c-html.pc.in md4c-html.pc @ONLY)
+add_library(md4c-html md4c-html.c md4c-html.h entity.c entity.h)
+set_target_properties(md4c-html PROPERTIES
+ VERSION ${MD_VERSION}
+ SOVERSION ${MD_VERSION_MAJOR}
+ PUBLIC_HEADER md4c-html.h
+)
+target_link_libraries(md4c-html md4c)
+
+
+# Install rules
+
+install(
+ TARGETS md4c
+ EXPORT md4cConfig
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+install(FILES ${CMAKE_BINARY_DIR}/src/md4c.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+install(
+ TARGETS md4c-html
+ EXPORT md4cConfig
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+install(FILES ${CMAKE_BINARY_DIR}/src/md4c-html.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+install(EXPORT md4cConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/md4c/ NAMESPACE md4c::)
+