我正在尝试在使用 CMake 的构建环境中包含一个外部库。我并不想在本地系统上安装它(实际上我不想那样做,我不想/usr/local
被各种库堵塞);我只想让结果libxml2.a
可用于与我的可执行文件链接。我可以在 CMakeLists.txt 中使用以下内容很好地构建它:
set (LIBXML_PATH ${MY_SOURCE_DIR}/libxml2-2.9.1)
add_custom_target (build_libxml ALL
COMMENT "Building libxml"
COMMAND ./configure --prefix=/tmp
COMMAND make
WORKING_DIRECTORY ${LIBXML_PATH}
)
但我仍然遇到以下问题:
1)首先,这是否是正确的方法,用于将库构建到 CMake 环境中configure
并用于一般目的?make
2)我如何在我的输出目录libxml2.a
下获得生成的库(即) ?build
3) 如何为我的可执行文件链接到该库?
我尝试了一个繁琐的解决方案
ADD_LIBRARY( xml2 STATIC libxml2.a )
但似乎必须有比将整个图书馆的内容拖入……图书馆更好的方法。
谢谢。