库 | 说明 | target |
---|---|---|
googletest | / | GTest::gtest_main |
abseil-cpp | / | absl::strings absl::base ... |
protobuf | 此库依赖 abseil-cpp | protobuf::libprotobuf protobuf::libprotobuf-lite protobuf::libprotoc ... |
boost | 当前用的 boost-1.87.0-cmake.zip | Boost::filesystem ... |
fmt | / | fmt::fmt |
json | / | nlohmann_json::nlohmann_json |
hiredis | / | hiredis::hiredis |
redis-plus-plus | 此库依赖 hiredis | redis++::redis++ |
cpp-httplib | / | httplib::httplib |
thread-pool | 此库无 CMakeLists.txt 拷贝 include/BS_thread_pool.hpp 使用即可 |
/ |
libzmq | / | libzmq |
cppzmq | 此库依赖 libzmq | cppzmq |
range-v3 | / | range-v3 |
opencv | / | ${OpenCV_LIBS} |
- 打开 start.py,按需配置编译参数
- 每个库的 install 目录下均会生成一个 script_command.txt
- 该文件记录了此库的 config、build、install 相关的参数
- 每个库生成的工作条件:相应的 install 目录下不存在 script_command.txt 即会触发 config、build、install
- 配置好 start.py 后,运行此脚本即可
-
参考:nly
-
注意点
-
使用者的 CXX 的版本,要和此库保持一致(此库默认使用 CXX17)
-
find_package 示例
# 指定 nly_upstream 的安装路径, 用于 find_package set(NLY_UPSTREAM_INSTALL "D:/nly_upstream/nly_install") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/abseil-cpp_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/protobuf_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/boost_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/fmt_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/json_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/hiredis_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/redis-plus-plus_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/cpp-httplib_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/libzmq_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/cppzmq_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/range-v3_install_path") list(APPEND CMAKE_PREFIX_PATH "${NLY_UPSTREAM_INSTALL}/opencv_install_path") find_package(absl REQUIRED) find_package(protobuf REQUIRED) find_package(Boost REQUIRED COMPONENTS date_time serialization) find_package(fmt REQUIRED) find_package(nlohmann_json REQUIRED) find_package(hiredis REQUIRED) find_package(redis++ REQUIRED) find_package(httplib REQUIRED) find_package(ZeroMQ REQUIRED) # for libzmq find_package(cppzmq REQUIRED) find_package(range-v3 REQUIRED) find_package(opencv REQUIRED) # 按需链接即可 target_link_libraries(your_target PUBLIC absl::strings absl::base protobuf::libprotobuf protobuf::libprotobuf-lite protobuf::libprotoc Boost::date_time Boost::serialization fmt::fmt nlohmann_json::nlohmann_json hiredis::hiredis redis++::redis++ httplib::httplib libzmq cppzmq range-v3 ${OpenCV_LIBS} )
-