Dr.*_*nja 12 c++ integration zlib cmake taglib
我目前有一个链接到两个第三方库的项目.这些库必须由它们自己构建,然后链接到项目.一个是taglib,另一个是zlib.我注意到当你在taglib目录中使用Cmake-gui程序时,你需要指定zlib的构建和安装位置.
我的目标是让CMake为我的程序做类似的事情.由于这些库存储的位置不一致,我如何提示用户提供所需库的路径?
我希望这足够具体.
And*_*dré 22
对于ZLib,使用CMake提供FindZLIB.cmake,您可以"简单地" 在您的cmakelists中放置一个find_package调用.如有必要,您可以对findzlib.cmake进行一些修改以满足您的需求.例如,在搜索库时添加ZLIB_DIR作为附加提示.然后可以由用户设置该ZLIB_DIR.
假设您的库/可执行文件名为YourProject,您可以按如下方式使用它.
find_package( ZLIB REQUIRED )
if ( ZLIB_FOUND )
include_directories( ${ZLIB_INCLUDE_DIRS} )
target_link_libraries( YourProject ${ZLIB_LIBRARIES} )
endif( ZLIB_FOUND )
Run Code Online (Sandbox Code Playgroud)
您应该对TagLib使用相同的方法,但应该编写自己的FindTagLib.cmake(或搜索一个好的方法).
这里的重要部分是您为用户提供了设置TagLib_DIR变量的选项,您可以使用该变量来搜索TagLib,并使用FindPackageHandleStandardArgs来报告成功或失败.
归档时间: |
|
查看次数: |
14486 次 |
最近记录: |