如何解决如何使用 cmake 构建系统向项目添加仅标头库?
我需要修改一个 C++ 项目以使用 Cereal 库。本项目的构建系统基于 CMake。由于 Cereal 是一个只有头文件的库并且也使用 CMake,我希望这是一个非常简单的任务。我尝试使用以下命令编辑 CMakeLists.txt
:
include(ExternalProject)
ExternalProject_Add(cereal
GIT_REPOSITORY git@github.com:USCiLab/cereal.git
CMAKE_ARGS -DJUST_INSTALL_CEREAL=ON -DSKIP_PORTABILITY_TEST=ON -DBUILD_TESTS=OFF
PREFIX ${CMAKE_INSTALL_PREFIX})
但不知何故cmake
试图在cereal
下安装/usr/local
。感谢任何可以为我指明正确方向的帮助。
解决方法
我不确定这是否是最好的做法,但以下方法有效。诀窍是不要安装任何东西并正确设置包含目录。
include(ExternalProject)
ExternalProject_Add(cereal
GIT_REPOSITORY git@github.com:USCiLab/cereal.git
PREFIX cereal
SOURCE_DIR "${CMAKE_BINARY_DIR}/third-party/cereal"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
)
include_directories(
${CMAKE_BINARY_DIR}/third-party/cereal/include)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。