cget安装inja

cget 介绍

github:https://github.com/pfultz2/cget

Cmake包管理工具。这可以用来下载和安装cmake包。使用cget的优点是:

  • 非侵入性:不需要在cmake中编写特殊的钩子就可以使用cget。编写了一个cmake文件,可用于安装带有cget或standalone的包。
  • 开箱即用:由于它使用了cmake的标准构建和安装,因此它几乎可以与所有cmake包一起使用。不需要等待包转换为支持cget。可以立即安装标准的cmake包。
  • 分散:包可以从任何地方安装,从github、url或本地文件。

cget安装

$ pip3 install cget
$ cget --help
Usage: cget [OPTIONS] COMMAND [ARGS]...

Options:
  --version              Show the version and exit.
  -p, --prefix TEXT      Set prefix used to install packages
  -v, --verbose          Enable verbose mode
  -B, --build-path TEXT  Set the path for the build directory to use when
                         building the package

  -h, --help             Show this message and exit.

Commands:
  build       Build package
  clean       Clear directory
  ignore      Ignore packages
  init        Initialize install directory
  install     Install packages
  list        List installed packages
  pkg-config  Pkg config
  remove      Remove packages
  size

inja介绍

github:https://github.com/pantor/inja

inja是现代C++的模板引擎,它由jinja的Python宽松地启发。它有一个简单但功能强大的模板语法,包含所有需要的变量、循环、条件、include、回调和注释,可以根据需要进行嵌套和组合。Inja使用nlohmann提供的出色的json库进行数据输入。最重要的是,JINA只需要两个头文件,这几乎是C++中集成所能得到的微不足道的东西。

inja安装

mkdir ~/Software -p && cd ~/Software 
或者
mkdir ${ProjectRoot}/3rd/ -p && cd ${ProjectRoot}/3rd/
# 可以直接 
cget pantor/inja # 会直接下载https://github.com/pantor/inja/archive/HEAD.tar.gz
# 后面可以指定版本
cget pantor/inja@v2.1.0 #会直接下载https://github.com/pantor/inja/archive/v2.1.0.tar.gz
# 也可以用源码安装
git clone https://github.com/pantor/inja.git  pantor/inja
# 指定版本需要改分支
cd pantor/inja && git checkout -b v2.1.0 v2.1.0 && cd ../../
# 构建包
cget build ./pantor/inja
# 安装包
cget install pantor/inja 

引用inja

# CMakeLists.txt
set(CMAKE_VERSION 3.0.0)
project(inja_demo)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_BUILD_TYPE Debug)

set(CMAKE_CXX_COMPILER /usr/local/bin/g++)
set(CMAKE_CXX_STANDARD 17)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

include_directories(~/Software/cget/include)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}~/Software/cget/lib)
find_package(inja)
message(STATUS ${INJA_VERSION})

add_executable(inja_fst inja_fst.cc)
target_link_libraries(inja_fst 
        pantor::inja 
)
// inja_fst.cc
#include <inja/inja.hpp>
#include <iostream>

int main() {
  nlohmann::json mode;
  mode["name"] = "tadus";
  auto s = inja::render("Hello {{name}}", mode);
  std::cout << s << std::endl;

  return 0;
}
mkdir build
cd build && cmake ..
make
./bin/inja_fst

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tadus_zeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值