如何解决如何链接到不支持cmake的多个第三方库
我目前正在将项目移植到CMake,该项目依赖于一堆第三方库,而这些库都不支持CMake。到目前为止,项目编译良好,但是我需要将可执行文件链接到那些第三方库。 CMake是否提供任何方法来创建构建目标,一旦将其添加为链接目标,该项目就可以使该项目链接到所有第三方库?
解决方法
您可以创建INTERFACE
库目标,并为其指定包含目录列表和要链接的库列表。每当该目标链接时,这些包含目录和库的内容都会传播给使用者。
# Create the library which represents all third-party libraries
add_library(third_party_libs INTERFACE)
target_include_directories(third_party_libs INTERFACE
<include-directory-1>
<include-directory-2>
...
)
target_link_libraries(third_party_libs INTERFACE
<external-lib-1>
<external-lib-2>
...
)
# Create executable in your project
add_executable(my_exe <sources...>)
# This will propagate to the executable all include directories and libraries from
# the INTERFACE library target.
target_link_libraries(my_exe third_party_libs)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。