diff --git a/CMakeLists.txt b/CMakeLists.txt index 88e9cfd0c..d6dd6508b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,10 @@ set(ANTLR4_WITH_STATIC_CRT OFF) set(ANTLR4_TAG tags/4.13.2) include(ExternalAntlr4Cpp) +# None of AFDKO's c-sources are multithreaded, but we need to add +# -pthreads to makeotfexe on Linux to make ANTLR happy +set (THREADS_PREFER_PTHREAD_FLAG ON) +find_package (Threads REQUIRED) if (DEFINED ENV{FORCE_BUILD_LIBXML2}) set(BUILD_STATIC_LIBXML2 TRUE) diff --git a/c/makeotf/source/CMakeLists.txt b/c/makeotf/source/CMakeLists.txt index cd97cab52..a20a76962 100644 --- a/c/makeotf/source/CMakeLists.txt +++ b/c/makeotf/source/CMakeLists.txt @@ -27,10 +27,15 @@ if (HAVE_M_LIB) target_link_libraries(makeotfexe PRIVATE m) endif () +if (CMAKE_USE_PTHREADS_INIT) + target_link_libraries(makeotfexe PRIVATE Threads::Threads) +endif () + target_link_libraries(makeotfexe PUBLIC ${CHOSEN_LIBXML2_LIBRARY}) target_compile_definitions(makeotfexe PRIVATE MAKEOTFLIB_EXPORTS=1) # set_target_properties(makeotfexe PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + install(TARGETS makeotfexe DESTINATION bin)