概述
需要开发一款工具,要使用的到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