1commit 3560653d5d52bf30a52ce971ecfe262b1a09d7a3
2Author: sternenseemann <sternenseemann@systemli.org>
3Date: Tue Oct 5 18:16:10 2021 +0200
4
5 Link against system antlr4 runtime, dynamically
6
7 Instead of cloning a antlr4 version from git, use the system one. Also
8 don't link it statically, but dynamically by default (the library is
9 called antlr4-runtime, not antlr4_static).
10
11diff --git a/CMakeLists.txt b/CMakeLists.txt
12index 88e9cfd0..3df902b4 100644
13--- a/CMakeLists.txt
14+++ b/CMakeLists.txt
15@@ -36,11 +36,10 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
16 # https://www.antlr.org/download/antlr4-cpp-runtime-4.9.3-source.zip
17 # set(ANTLR4_ZIP_REPOSITORY "/path_to_antlr4_archive/a4.zip")
18
19-add_definitions(-DANTLR4CPP_STATIC)
20 set(ANTLR4_WITH_STATIC_CRT OFF)
21-# 4.9.3 is the latest ANTLR4 version
22 set(ANTLR4_TAG tags/4.13.2)
23-include(ExternalAntlr4Cpp)
24+find_path(ANTLR4_HEADER antlr4-runtime.h PATH_SUFFIXES antlr4-runtime)
25+set(ANTLR4_INCLUDE_DIRS ${ANTLR4_HEADER})
26
27
28 if (DEFINED ENV{FORCE_BUILD_LIBXML2})
29diff --git a/c/makeotf/lib/cffread/CMakeLists.txt b/c/makeotf/lib/cffread/CMakeLists.txt
30index 2990035f..fab25a77 100644
31--- a/c/makeotf/lib/cffread/CMakeLists.txt
32+++ b/c/makeotf/lib/cffread/CMakeLists.txt
33@@ -8,6 +8,6 @@ if (${NEED_LIBXML2_DEPEND})
34 add_dependencies(makeotf_cffread ${LIBXML2_TARGET})
35 endif()
36
37-target_link_libraries(makeotf_cffread PUBLIC antlr4_static)
38+target_link_libraries(makeotf_cffread PUBLIC antlr4-runtime)
39
40 target_compile_definitions(makeotf_cffread PRIVATE $<$<CONFIG:Debug>:CFF_DEBUG=1> CFF_T13_SUPPORT=0)
41diff --git a/c/makeotf/lib/hotconv/CMakeLists.txt b/c/makeotf/lib/hotconv/CMakeLists.txt
42index 60e49458..ada728c0 100644
43--- a/c/makeotf/lib/hotconv/CMakeLists.txt
44+++ b/c/makeotf/lib/hotconv/CMakeLists.txt
45@@ -70,7 +70,7 @@ add_library(hotconv STATIC
46 set_property(TARGET hotconv PROPERTY C_STANDARD 99)
47 set_property(TARGET hotconv PROPERTY CXX_STANDARD 17)
48 target_include_directories(hotconv PRIVATE AFTER $<$<COMPILE_LANGUAGE:CXX>:${ANTLR4_INCLUDE_DIRS}>)
49-target_link_libraries(hotconv PUBLIC antlr4_static)
50+target_link_libraries(hotconv PUBLIC antlr4-runtime)
51
52 target_link_libraries(hotconv PUBLIC ${CHOSEN_LIBXML2_LIBRARY})
53