簡體   English   中英

使用 cmake 包括 antlr4 c++ 運行時

[英]Including antlr4 c++ runtime using cmake

我正在嘗試在我的 C++ 項目中使用antlr4 我想在 CMake 中添加antlr4 cpp 運行時作為依賴項,但我不確定如何繼續。 官方教程使用舊的 CMake 語法,我正在尋找基於目標的東西。

我正在考慮使用 Git 子模塊下載所有 antlr4,然后使用add_subdirectory僅包含我需要的內容(antlr4/runtime/Cpp)。 但是,這將迫使我的用戶下載整個源代碼。 自 v2.19 以來,Git clone 有一個“過濾器”選項,但我認為這不適用於 subdmodules。

我過去一直在使用FetchContent ,它比子模塊更干凈,恕我直言。 但是,我不確定這在這里如何工作,因為我不想下載整個 repo 並且 CMakeLists.txt 文件不在基本文件夾中。

如何使用現代 cmake 實踐將 antlr4 C++ 運行時包含到我的項目中?

我剛剛面臨完全相同的問題。

經過一段時間的挖掘,由於似乎沒有可行的替代方案(除了添加整個存儲庫並僅鏈接到運行時部分,這是您試圖避免的),我創建了一個獨立的存儲庫,其中包含必要的運行時文件以編譯並鏈接到,以及對 CMake 目標鏈接的支持。

如果它仍然有用,請在此處查看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM