From da768ac1d1c3e5b2358669ba3b300deba8bf59d6 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 4 Oct 2023 16:23:19 +0400 Subject: [PATCH] Add libprisma from Fela for syntax highlighting. --- .gitmodules | 3 +++ Telegram/CMakeLists.txt | 1 + Telegram/ThirdParty/libprisma | 1 + Telegram/build/prepare/prepare.py | 4 +++ Telegram/cmake/lib_prisma.cmake | 42 +++++++++++++++++++++++++++++++ cmake | 2 +- 6 files changed, 52 insertions(+), 1 deletion(-) create mode 160000 Telegram/ThirdParty/libprisma create mode 100644 Telegram/cmake/lib_prisma.cmake diff --git a/.gitmodules b/.gitmodules index b2af08731..23bbe74d5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -100,3 +100,6 @@ [submodule "Telegram/ThirdParty/wayland"] path = Telegram/ThirdParty/wayland url = https://github.com/gitlab-freedesktop-mirrors/wayland.git +[submodule "Telegram/ThirdParty/libprisma"] + path = Telegram/ThirdParty/libprisma + url = https://github.com/desktop-app/libprisma.git diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index d555578f7..01d67891c 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -28,6 +28,7 @@ include(cmake/lib_ffmpeg.cmake) include(cmake/lib_stripe.cmake) include(cmake/lib_tgvoip.cmake) include(cmake/lib_tgcalls.cmake) +include(cmake/lib_prisma.cmake) include(cmake/td_export.cmake) include(cmake/td_mtproto.cmake) include(cmake/td_lang.cmake) diff --git a/Telegram/ThirdParty/libprisma b/Telegram/ThirdParty/libprisma new file mode 160000 index 000000000..4521ec4da --- /dev/null +++ b/Telegram/ThirdParty/libprisma @@ -0,0 +1 @@ +Subproject commit 4521ec4dac39e64b66033de16b342d9f61d8b9c3 diff --git a/Telegram/build/prepare/prepare.py b/Telegram/build/prepare/prepare.py index 33ae63dc3..f61a8b897 100644 --- a/Telegram/build/prepare/prepare.py +++ b/Telegram/build/prepare/prepare.py @@ -947,6 +947,10 @@ win: git checkout n11.1.5.1 """) +stage('regex', """ + git clone -b boost-1.83.0 https://github.com/boostorg/regex.git +""") + stage('ffmpeg', """ git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg cd ffmpeg diff --git a/Telegram/cmake/lib_prisma.cmake b/Telegram/cmake/lib_prisma.cmake new file mode 100644 index 000000000..f23e1a219 --- /dev/null +++ b/Telegram/cmake/lib_prisma.cmake @@ -0,0 +1,42 @@ +# This file is part of Telegram Desktop, +# the official desktop application for the Telegram messaging service. +# +# For license and copyright information please follow this link: +# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL + +add_library(lib_prisma STATIC) +init_target(lib_prisma) + +add_library(desktop-app::lib_prisma ALIAS lib_prisma) + +set(prisma_loc ${third_party_loc}/libprisma/libprisma) + +nice_target_sources(lib_prisma ${prisma_loc} +PRIVATE + Highlight.cpp + Highlight.h + LanguageTree.cpp + LanguageTree.h + SyntaxHighlighter.cpp + SyntaxHighlighter.h + TokenList.cpp + TokenList.h +) + +target_compile_definitions(lib_prisma +PRIVATE + BOOST_NO_INTRINSIC_WCHAR_T + BOOST_REGEX_NO_W32 +) + +target_include_directories(lib_prisma +PRIVATE + ${libs_loc}/regex/include +PUBLIC + ${prisma_loc} +) + +target_link_libraries(lib_prisma +PRIVATE + desktop-app::external_boost_regex +) diff --git a/cmake b/cmake index b1b0e95b0..813aacf79 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit b1b0e95b091f298c87cb9ec4458f426574221ca4 +Subproject commit 813aacf791af9bffcf740df2bd776d4b322e31f7