在更现代的 cmake 中使用箭头镶木地板的最佳方法是什么?

问题描述

以下是对我有用的解决方案,但不确定这是否是最好的方法。我用brew来安装它。不幸的是,vcpkg 目前不起作用。我不喜欢这个解决方案的是我需要分别设置 Parquet_DIRfind_package(Parquet)

set(Parquet_DIR /usr/local/lib/cmake/arrow)

find_package(Arrow CONfig required)
find_package(Parquet CONfig required)
target_link_libraries(database PRIVATE arrow_shared parquet_shared)

解决方法

您可以通过 PATHS 来搜索到 find_package

您可能还想通过传递 NO_DEFAULT_PATH 来防止在其他地方进行搜索。

find_package documentation

find_package(Arrow CONFIG REQUIRED)
find_package(Parquet CONFIG REQUIRED
    PATHS /usr/local/lib/cmake/arrow
    NO_DEFAULT_PATH
)
target_link_libraries(database PRIVATE arrow_shared parquet_shared)

(以上代码段假设 Arrow 不依赖于 Parquet 包。)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...