cmkae集成spdlog和json,其他项目同理

概述

需要开发一款工具,要使用的到json的解析和一个良好的日志系统。
寻找新的开源库我选择了 https://www.libhunt.com/网站,找到了三方库。

日志: sqdlog
json: json

在这里插入图片描述

导入模式

选择了git的submodule。


[submodule "lib/spdlog"]
	path = lib/spdlog
	url = https://github.com/gabime/spdlog.git
[submodule "lib/json"]
	path = lib/json
	url = git@github.com:nlohmann/json.git

cmake编写方式

我一般喜欢使用源码导入的模式,中间有兴趣还可以看看代码,不太喜欢使用库文件,所以选择了submodel的方式。

cmake_minimum_required(VERSION 3.0.0)
project(LogTraslate VERSION 0.1.0)

include(CTest)
enable_testing()

# spdlog的部分配置
add_subdirectory(lib/spdlog)
if(NOT CMAKE_CXX_STANDARD)
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_required ON)
endif()

# json的cmake部分配置
set(JSON_BuildTests OFF CACHE INTERNAL "")
add_subdirectory(lib/json)

include_directories(./include)
aux_source_directory("./src/" code_src)
message("src code : ${code_src}")
add_executable(LogTraslate main.cpp ${code_src})
target_link_libraries(LogTraslate 
                        PRIVATE
                        spdlog::spdlog
                        nlohmann_json::nlohmann_json
                    )



set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

代码

我将这一部分的代码上传到了GitHub,可以参考:

https://github.com/sexjun/CDS_CPP_STL

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...