首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xmake 和 CC++ 包管理

Xmake 中使用依赖 Xmake 不仅提供了内置的 xmake-repo 内置的包管理仓库,可以直接集成使用里面的,还支持以相同的集成方式,去快速集成 vcpkg/conan 等第三方的依赖...完全没关系,理论上,你可以通过 Xmake 使用整个 C/C++ 生态 90% 的常用依赖,就是因为 Xmake 可以快速从各种其他包管理器中集成使用。...但是这完全没有关系,因为我们可以使用任意仓库。 如果在 CMake 中使用 vcpkg,我们只能使用 1859 个。 如果在 CMake 中使用 conan,我们只能使用 1218 个。...甚至,C/C++ 不够,其他语言的可以拿过来用,例如:Xmake 也支持从 dub/cargo 等 Dlang/Rust 的包管理器拉取,给 C/C++ 项目使用。...CMake 维护的静态库,而根目录下使用了 Xmake 来维护,我们可以 xmake.lua 通过定义 package("foo") 来描述如何构建 foo 代码库。

2.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

conan入门(十九):封装第三方开源库cpp_redis示例

conan: 封装第三方开源库cpp_redis示例 我的之前关于conan系列博客,已经介绍过如何引用Conan中央仓库(conan-center)预定义的第三库(《conan入门(五):conan...这样就可以直接用conan create命令生成第三方库,并用conan upload 命令将生成的第三方库上传到自己的私有仓库。只能为自己团队使用。...cpp_redis是一个C++11实现的redis client库,我的项目中需要使用它,但它目前并没有被Conan中央仓库收录,所以本文以cpp_redis为例介绍将第三方库封装为Conan的过程。...,如4.3.1,也可以填git分支名 # # 填版本号,source()方法克隆代码后会自动切换到指定的tag # # 填分支名,source()方法克隆代码后会自动切换到指定的分支...search cppredis/4.3.1@会显示本地仓库二进制的信息 conan upload 项目编译成功就可以执行conan upload上传到私有制品库了: conan upload cpp_redis

1.2K30

xmake v2.5.5 发布,支持下载集成二进制镜像

另外,新版本,我们还重新实现了新版的本地生成方案,完全无缝支持 add_requires 和 add_packages,从此远程和本地可以使用统一的集成方式来维护。...也可以 xmake.lua 添加: add_repositories("local-repo git@github.com:xmake-mirror/myrepo-artifacts.git")...从第三方仓库搜索 xmake 内置的 xrepo 包管理器命令,之前可以支持搜索 xmake-repo 仓库的内置。...vcpkg, conan, conda 以及 apt 等第三方包管理器搜索它们的,只需要加上对应的命名空间就行,例如: $ xrepo search vcpkg::pcre The package...#1422: 支持从 vcpkg, conan 搜索 #1424: 设置 binary 作为默认的 target 目标类型 #1140: 支持安装时候,手动选择从第三管理器安装 #1339:

81010

为您的DevSecOps锦上添花——JFrog Xray的新功能

本文详细介绍了近期我们JFrog Xray添加的新功能,以帮助客户保持其准时发布的效率、质量,和安全性。...Conan是C/C++语言的依赖和程序包管理器,是开源的解决方案,可在所有OS平台上使用。它与所有构建系统(如CMake和Visual Studio等),以及专有系统集成在一起。...的程序 · 如果您正在构建Conan软件并将Xray集成到CI流程,则Xray将扫描那些Conan的构建 · 即使您不使用Conan,Xray也会扫描您的C++构建 三、支持CVSS v3版本 为了...Xray从两个不同的来源收集评分和严重性: · NVD:美国国家漏洞数据库,包含已知漏洞及其各自的CVSS分数; · OS软件安全咨询:某些开源操作系统具有自己的安全跟踪系统,可以进一步分析操作系统软件的漏洞...这意味着使用RPM软件的企业可以放心地将JFrog平台用作其DevSecOps平台。

1.5K00

简单的 CC++ 项目自动化构建--Xmake

能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...下载安装 windows下,安装地址: https://github.com/xmake-io/xmake/releases 或者使用powershell Invoke-Expression (Invoke-Webrequest...安装后,配置path路径,然后就可以使用了如下: add_requires("conan::poco/1.9.4", {alias = "poco", debug = true}) 添加代理 注意添加代理...后来发现c、c++ 也有些包管理器,比如微软的Vpckgvisual studio下使用conan 有可能成为事实标准的包管理器,配合cmake,应用还是比较广泛。...xmake.lua下写就更简单了,增加一句话就行: add_requires("zlib 1.2.11") 还可以用其他包管理器,比如: add_requires("vcpkg::zlib 1.2.11

1.3K10

Xrepo:一个现代化的跨平台 CC++ 包管理器

同时,xrepo 也支持从 vcpkg/homebrew/conan 等第三方包管理器安装,并提供统一一致的库链接信息,方便与第三方项目的集成对接。...安装 我们只需要安装上 xmake 就可以使用 xrepo 命令,关于 xmake 的安装,我们可以看下:xmake 安装文档。...检索安装之外, 我们还可以添加任意多个自建的仓库,甚至可以完全隔离外网,仅仅在公司内部网络维护私有的安装集成。...快速上手 安装 基本使用 $ xrepo install zlib tbox 安装指定版本 完整支持 Semantic Versioning (语义版本)。...-lz 导出安装后的 xrepo 可以快速导出已经安装后的,包括对应的库文件,头文件等等。

1.2K10

conan入门(四):conan 引用第三方库示例

conan 引用第三方库示例 Conan 是 C 和 C++ 语言的依赖项和包管理器。...通过完整的二进制包管理,它可以为任意数量的不同版本的创建和重用任意数量的不同二进制文件(用于不同的配置,如架构、编译器版本等),在所有平台上使用完全相同的过程。...conan 命名约定 标准的conan 名引用(reference)格式是:package_name/version@user/channel,用于在制品仓库唯一的识别一个 package_name...,package_name/version是必须要有的字段.user,channel都是可选字段,上传用户在上传可以不指定。...官方文档《conanfile.txt》 conan search 创建conanfile.txt过程我们可以通过conan search cjson -r conancenter查看远程conan中央仓库有哪些

2.5K30

conan入门(八):交叉编译自己的conan项目

conan 交叉编译自己的conan项目 上一篇博客《conan入门(七):将自己的项目生成conan我们以jsonlib为例说明了如何将自己的模块封装成conan提供给第三方使用。...物联应用的大背景下,C/C++开发跨平台交叉编译的应用是非常广泛的。使用conan来管理C/C++(制品库)的环境下,如何实现对conan封装的项目实现交叉编译的支持呢?...jsonlib) 创建了conanfile.py后,编译conan非常简单 # 注意是 conan_example jsonlib分支 $ cd conan_example # 将conan(conanfile.py...=4.8 指定交叉编译的目标平台编译器及版本 -pr:b default 指定使用名为default的profile文件 –build missing 如果依赖没有找到预编译的二进制则从源码编译.../1.0.0@会显示二进制的信息 conan create 上面执行交叉编译jsonlib使用了两条命令conan exoprt 和conan install 其实可以用一条conan create

1.8K40

conan入门(九):NDK交叉编译自己的conan项目塈profile的定义

conan NDK交叉编译自己的conan项目塈profile的定义 上一篇博客《conan入门(八):交叉编译自己的conan项目》我们以jsonlib为例说明了如何将交叉编译自己封装成conan...profile 上一篇博客《conan入门(八):交叉编译自己的conan项目》我们是以如下指定来执行交叉编译的。...Conan官方推荐的profile文件定义方式来为conan install 提供编译参数 Conan官方文档:《Using Profile》 使用conan profile文件,我们不仅可以声明settings...将识别我们的二进制文件(host设置),还可以声明使用工具链或交叉编译器所需的所有环境变量。...非常简单 # 注意是 conan_example jsonlib分支 $ cd conan_example # 将conan(conanfile.py 和相关文件,不包括编译生成的二进制)复制到本地仓库

1.2K30

cmake-conan 2.0 接入指南

而本文将主要介绍 cmake-conan v2 版本中一些新的特性和使用姿势,看看新版本解决了历史哪些问题以及我们要如何在实际开发场景替换新的方案。...工程实战 cmake-conan v2 维护 develop2 分支,要求 conan 版本必须大于 2.0.5(使用 1.60.2 + CONAN_V2_MODE 也不行)。...通过 CMake 初始化指定配置文件的方式来与 Conan 交互解决了以前我们业务 CMake 代码包含了大部分对于 Conan 处理的逻辑,以前的使用场景下如果脱离 Conan 业务的 CMake...这里有一点要注意的是,针对 Android 平台我们 cmake-conan v1 时使用的一些 CMAKE 变量 cmake-conan v2 是无效的,比如 CMAKE_SYSTEM_VERSION...集成效果 我们 GitHub 提交了一个简单的 Sample 用以演示集成的效果,可访问:https://github.com/nmgwddj/conan-cmake-v2-example 查看示例代码

86310

conan入门(七):将自己的项目生成conan

conan 将自己的项目生成conan 之前的博客《conan入门(四):conan 引用第三方库示例》我们以cJSON为例说明了如何在项目中引用一个conan 。...如何将自己设计的模块以conan形式打包提供给第三方(客户/同事)使用?...有了模板,之上修改就可以了: $ conan new jsonlib/1.0.0 --template cmake_lib File saved: CMakeLists.txt File saved:...new 命令使用的 --template cmake_lib 参数是Conan的一项目还在实验的功能,根据指定模板生成Conan项目框架,详细说明参见Conan官方文档:《Package scaffolding...create (编译jsonlib) 创建了conanfile.py后,编译conan非常简单 # 注意是 conan_example jsonlib分支 $ cd conan_example $

1.3K10

conan入门(一):conan 及 JFrog Artifactory 安装

Conan 可以每个平台上使用相同的命令和流程创建、上传和下载二进制文件,从而节省大量开发和持续集成时间。二进制兼容性甚至可以每个的基础上进行配置和定制。...conan 连接JFrog Artifactory 本文开始就已经安装了conan,现在私有的JFrog Artifactory制品库已经安装就绪,就可以将这制品库添加到conan的制品库列表来使用了...它仅存在于源存储库,而不存在于。...conan search 我们现在可以执行conan search验证二进制文件是否conan本地仓库: $ conan search Existing package recipes: hello...stable)就可以上传的: 参考资料 《conan的安装、使用、创建、上传等一系列操作》 《Getting started》 《Uploading Packages to Remotes》

4K41

一起长锈:2 什么神器能确保Rust构建稳定可靠?(从Java与C++转Rust之旅)

讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,...2.4.2 C++世界如何确保构建稳定可靠席双嘉:“嗨,你知道C++的世界里,我们也有类似Rust的Cargo.lock机制,就是用Conan这个小工具。”...“Conan,这可是专门为C++量身打造的包管理器哦,它能帮我们处理所有的依赖和版本控制问题,让项目构建得稳稳当当。”...“虽然CMake本身并没有内建的生成锁文件的功能,但它可以Conan这样的包管理器搭个档,通过Conan来管理依赖和版本,也就能间接实现锁定机制了。”...“CMake的项目里,你可以CMakeLists.txt文件包含Conan的配置,然后通过链接Conan管理的库来构建应用程序。”

12853

GitHub 重磅推出软件托管服务 Package Registry!

今日北京凌晨时间 4 点 37 分,GitHub 官方 Twitter 上正式宣布,推出自家的软件托管服务 - GitHub Package Registry。 ?...开发者们以后可以很方便的将安装与源代码都托管 GitHub 上了。 ? 本次提供的安装托管服务是完全免费的,你可以选择公开发行安装,或仅给公司内部团队成员使用。 ?...功能介绍 下面为大家介绍下 GitHub Package Registry 提供的一些核心功能。 便捷的搜索 与 GitHub 一样,你可以该托管平台上搜索、发现自己需要的安装。 ?...现在,你也可以通过集成 GitHub API、GitHub Action、webhook 等工具来定制安装的部署方案。 ?...放心,GitHub CEO 已在推上表示,这个包管理器将在后续提供支持。 ? 我相信,C++ 的 Conan 和 PHP 的 Composer 也应该在后续不久都会开放支持。

81720

Xmake v2.8.1 发布,大量细节特性改进

使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中实际的项目开发上。...我们能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...zypper 包管理器支持 新增 OpenSUSE 的 zypper 包管理器支持,可以直接通过 zypper 自动下载安装,并集成它提供的。 感谢 @iphelf 的贡献。...#3892: 改进搜索,支持从描述 #3916: 改进构建 swift 程序,支持模块间符号调用 更新 lua 运行时到 5.4.6 Bugs 修复 #3755: 修复 find_tool...从 xmake/packages 查找程序 #3787: 修复从 conan 2.x 中使用 #3839: 修复 conan 2.x 的 vs_runtime 设置

17720

CC++ 构建系统,我用 xmake

好不容易当前平台搞定了,换到其他平台,有需要重新折腾一遍依赖,为了解决这个问题,出现了一些第三方的包管理器,比如 vcpkg/conan/conda等等,但有些不支持语义版本,有些支持的平台有限,但不管怎样...XMake 和 Conan 接下来是集成 Conan,完全一样的方式,仅仅执行换个包管理器名字。.../*.c") add_packages("zlib") XMake 同样会自动安装 conan 的 zlib ,然后自动集成编译。...不仅如此,我们开可以对定制化配置对自建的依赖,例如: 使用调式版本依赖 我们可以使用 debug 版本库,实现对依赖库的断点调试。...,XMake 会优先查找使用系统上用户已经安装的库,当然我们也可以强制禁止查找使用系统库,仅仅从自建仓库中下载安装

2K20

Github架构师解读CC++应用包管理的Why和How

交付通过声明描述所需的依赖构建时根据声明从包管理系统获取相应的依赖,这样能够大大缩短构建时间。Java或JavaScript的开发者很熟悉这样的方式。...14.png Conan的解决方案的每一个版本都根据目标环境的不同,如架构、操作系统、编译器等,预编译好与之对应的二进制。...对于特殊环境,还没有对应的预编译二进制的情况,Conan通过定义的Recipe,描述了如何构建该的二进制的过程,Conan客户端可以即时构建出一个新的,匹配与当前特殊环境的新二进制,供应用构建使用...19.png 除了直接引用Conan仓库已有的及其二进制文件,利用Conan可以创建自己开发的Conan作为库,供其他C/C++应用依赖。...、Jenkins、Artifactory、Bintray等工具对接,可以实现完整的C/C++应用的DevOps流水线: 23.png 通过演示可以看出,C/C++应用引入Conan的包管理,方式是直观

92520
领券