提问人:le1nax 提问时间:10/18/2023 更新时间:10/18/2023 访问量:113
如何使用 CMake 安装软件包(由 .h 和 .lib .dll 组成)?
How do I install a package (consisting of .h and .lib .dll) with CMake?
问:
我得到了一个包,该包与 和 一起发布。现在,我正在尝试使用 CMake 将此包集成到我的 cpp 项目中。.h
.dll
.lib
我使用了 packetmanager vcpkg,所以我尝试通过创建端口将此包添加到 vcpkg。从本质上讲,此端口使用 签出 GitHub 存储库,并使用 安装库。vcpkg_from_github
vcpkg_cmake_install
因此,我创建了一个仅包含 and 和 的 GitHub 存储库,它(根据我的理解)应该安装二进制文件并包含调用时存储库的文件。.h
.dll
.lib
CMakeLists.txt
vcpkg_cmake_install
现在我的问题是这应该是什么样子。
我对此的任意尝试:CMakeLists.txt
CMakeLists.txt
cmake_minimum_required (VERSION 3.17)
project(medit-libs CXX)
add_library(pcanbasic STATIC IMPORTED)
set_target_properties(pcanbasic PROPERTIES
IMPORTED_LOCATION "${CMAKE_CURRENT_LIST_DIR}/lib/PCANBasic.lib"
)
target_include_directories(pcanbasic INTERFACE "{CMAKE_CURRENT_LIST_DIR}/include")
include(GNUInstallDirs)
install(TARGETS pcanbasic
EXPORT pcanbasic-targets
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include
)
install(EXPORT pcanbasic-targets
FILE pcanbasic-targets.cmake
NAMESPACE pcanbasic::
DESTINATION lib/cmake/pcanbasic
)
install(FILES pcanbasic.h
DESTINATION include
)
失败。
谁能告诉我
- 如果我正在做的将库集成到我的外部项目中的方法是正确的/最佳的
- 实际上应该是什么样子?
CMakeLists.txt
我也很乐意采用其他解决方案,将我的库文件集成到 CMake 托管项目中。
答: 暂无答案
评论
Find<package>.cmake
ROOT/cmake
find_package
FOO_INCLUDE_DIRS
portfile.cmake
vcpkg_cmake_install
Find<package>.cmake