我试图在使用CMake的构建环境中包含外部库。我不是试图在本地系统上安装它(事实上,我宁愿不是这样做,我不希望/usr/local
堵塞各种类型的库);我只想得到结果libxml2.a
可用于链接我的可执行文件。我可以用的CMakeLists.txt以下罚款构建它:CMake构建和链接到库,而不安装到/ usr/local或其他地方
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)这是摆在首位的正确方法,对于一般将使用configure
和make
构建的库建成CMake环境的目的?
2)如何将我的build
输出目录下获得所产生的库(即libxml2.a
)?
3)如何链接到我的可执行文件的库?
我试着用
ADD_LIBRARY(xml2 STATIC libxml2.a)
一个繁琐的解决方案,但它好像有必须大于牵引整个库的内容转换成...图书馆更好的办法。
谢谢。
谢谢。我无法完全理解我所从事的工作,现在我正尝试一种完全不同的方法,因此我无法将其作为“答案”进行测试。不过,为了欣赏而投票赞成。 – wilsonmichaelpatrick