我有一个 C 语言库,可以使用自动工具和 CMake 构建。在 CMake 中,可以定义公共和私有标头 (.h),以便随后安装公共标头(在客户端代码中使用),而私有标头仅用于构建库本身。这可以在自动工具中完成吗?
到目前为止我看到的是
nameinc_HEADERS
必须包含所有标头(公共和私有),否则,如果跳过任何标头,make distcheck
将失败。例如,可以以另一种方式指定私有 C 标头(以便 make distcheck
满意,但私有标头未安装)?
在 CMake 中,可以定义公共和私有标头 (.h),以便随后安装公共标头(在客户端代码中使用),而私有标头仅用于构建库本身。这可以在自动工具中完成吗?是的。
在使用 Automake 的 Autotools 构建系统中执行此操作有两种主要方法(显然,例如您的系统):
*_SOURCES
列表中。 Automake 通过文件扩展名识别它们并忽略它们,除非将它们包含在分发包中。
make install
的一部分安装的标头可以在
noinst_HEADERS
变量中指定。
Automake 手册中阅读更多相关内容,特别是但不限于有关标题的部分。