首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cmake:下载easylogging++并直接使用源代码

cmake:下载easylogging++并直接使用源代码
EN

Stack Overflow用户
提问于 2018-04-17 04:26:27
回答 1查看 591关注 0票数 1

我想下载easylogging++包,提取内容,然后在我的源代码中直接使用easylogging++.h和easylogging++.cc。

我从这个开始:

代码语言:javascript
复制
ExternalProject_Add(
        easyloggingpp
        PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/downloads
        URL https://github.com/muflihun/easyloggingpp/archive/v9.96.4.tar.gz
        INSTALL_COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp && cp src/easyloggingpp-9.96.4/src/* ${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp/)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp) 
set(easylogging ${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp/easylogging++.cc)

。。

代码语言:javascript
复制
add_dependencies(myproject easyloggingpp)

这将在我的项目中创建downloads/目录,但是它是空的,并且在external/目录中没有文件出现,甚至该目录本身也没有创建。

我如何才能实现下载这个软件包,并直接合并它的资源与我的?我想实现类似于bazel's new_http_archive的目标。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-22 19:41:19

ExternalProject_Add似乎不适合我试图实现的用例。看起来下载只在编译步骤中执行,而不是在配置步骤中执行。真让人失望。

我能够通过手动编码实现类似的结果,它运行得相当好:

代码语言:javascript
复制
file(MAKE_DIRECTORY downloads external)

################################################################################
# Easylogging++
################################################################################
if(EXISTS "external/easyloggingpp")
else()
file(MAKE_DIRECTORY external/easyloggingpp)
file(DOWNLOAD
        https://github.com/muflihun/easyloggingpp/archive/v9.96.4.zip
        downloads/easyloggingpp.zip)
execute_process(COMMAND unzip downloads/easyloggingpp.zip -d downloads)
file(GLOB easyloggingpp_files downloads/easyloggingpp-9.96.4/src/easylogging++.*)
file(COPY ${easyloggingpp_files} DESTINATION external/easyloggingpp)
endif()

include_directories(external/easyloggingpp)
set(easyloggingpp external/easyloggingpp/easylogging++.cc)

这对我来说很好,我也很清楚在这个过程中发生了什么。最酷的是,除非有必要,否则cmake .步骤不会下载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49869926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档