vcpkg不支持语义版本选择,多版本管理 另外都不支持项目管理和构建 对于目前现有的跨平台构建工具,都缺少内置的包管理支持,像cmake仅提供了find_package去查找系统包,虽然可以和vcpkg等第三方包管理配合使用,但我个人觉得并不是很方便。 这会使得项目的其他用户在编译的时候,额外要求去安装vcpkg或者安装依赖库到系统上才...
vcpkg不支持语义版本选择,多版本管理 另外都不支持项目管理和构建 对于目前现有的跨平台构建工具,都缺少内置的包管理支持,像cmake仅提供了find_package去查找系统包,虽然可以和vcpkg等第三方包管理配合使用,但我个人觉得并不是很方便。 这会使得项目的其他用户在编译的时候,额外要求去安装vcpkg或者安装依赖库到系统上才...
而cmake还需要生成额外的第三方IDE工程文件,即使cmakelist.txt相同,但是构建、维护体验上对用户来讲都不可能保证完全一致,毕竟还受限于vc/make此类工具。 目前支持的特性 语义版本支持,例如:">= 1.1.0 < 1.2", “~1.6”, “1.2.x”, “1.*” 提供官方包仓库、自建私有仓库、项目内置仓库等多仓库管理支持 ...
依赖同一个包多个版本 有依赖包A 和 B,A 包依赖 1.0.0 版本的 C 包,B 包依赖 1.1.0 版本的 C 包,如果继续编译的话,可能会链接失败,解决方法就是打平依赖,只依赖 C 包同一个版本。 add_requireconfs("B.C", {version = "1.0.0", override = true}) 这里把 C 包统一到 1.0.0 版本。 参考 ...
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 这是xmake 在今年的首个版本,也是完全适配支持 Apple Silicon (macOS ARM) 设备的首个版本。
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 这个版本,我们增加了大量重量级的新特性,例如:Nim 语言项目的构建支持,Keil MDK...
xmake是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 这个版本,我们增加了大量重量级的新特性,例如:Nim 语言项目的构建支持,Keil MDK,Circle 和 Wasi...
执行cmake 传递 vcpkg.cmake 脚本给 cmake,进行工程配置 在CMake 中使用 FetchContent 提供了 FetchContent 模式来管理依赖,但似乎是源码拉取,而且必须依赖也是基于 CMake 维护构建的,另外,我们需要对每个依赖项,配置 url, 版本等各种包信息。 cmake_minimum_required(VERSION3.14)project(fetchContent_example CXX)in...
制作和上传C/C++包到xmake的官方仓库 xmake集成了内置的远程包依赖管理,用户只需要简单地在项目中添加自己所需要的包和版本,即可自动下载和集成对应的包到项目中,并且实现编译和链接。 例如: 代码语言:javascript 复制 add_requires("libuv master","ffmpeg","zlib 1.20.*")add_requires("tbox >1.6.1",{...
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 在这个新版本中,我们重点改进了 xmake 的依赖包管理,新增了 Archlinux 和 MSYS2/Mingw 下的 ...