:staticlib --noMain --passC:-DNimMain=NimMain_B6D5BD02 --passC:-DNimMainInner=NimMainInner_B6D5B D02 --passC:-DNimMainModule=NimMainModule_B6D5BD02 --passC:-DPreMain=PreMain_B6D5BD02 --passC:-D PreMainInner=PreMainInner_B6D5BD02 -o:build/macosx/x86_64/release/libfoo.a sr...
我们可以通过find_package("cmake::xxx")去借助 cmake 来找一些包,xmake 会自动生成一个 cmake 脚本来调用 cmake 的 find_package 去查找一些包,获取里面包信息。 例如: $ xmake l find_package cmake::ZLIB { links = { "z" }, includedirs = { "/Applications/Xcode.app/Contents/Developer/Platforms...
我们可以通过 find_package("cmake::xxx") 去借助 cmake 来找一些包,xmake 会自动生成一个 cmake 脚本来调用 cmake 的 find_package 去查找一些包,获取里面包信息。 例如: $ xmake l find_package cmake::ZLIB { links = { "z" }, includedirs = { "/Applications/Xcode.app/Contents...
我用c++20标准编译会有问题,所以就用最新的了。 然后就是核心Cmake文件的配置了 cmake_minimum_required(VERSION 3.22) # 确保使用支持 C++ 模块的版本 project(MyCppModuleProject LANGUAGES CXX) # 设置 C++ 标准为 C++20 或 C++23 set(CMAKE_CXX_STANDARD 23) # 或者 23 set(CMAKE_CXX_STANDARD_REQUIRED...
这个版本我们对 C++20 Modules 的实现进行了重构和改进,改进了模块文件的依赖图解析,新增了对 STL 和 User HeaderUnits 的支持,同时让 CMakelists/compile_commands 生成器也支持了 C++ Modules。 Xmake 是一个基于 Lua 的轻量级跨平台构建工具。
在v2.7.1中,C++20 Modules的实现得到了重构,提升了模块文件依赖图解析的效率,支持STL和User HeaderUnits,同时让CMakeLists/compile_commands生成器兼容了C++ Modules。新增的xmake watch插件,能够实时监控工程文件变化,实现自动增量构建或自定义命令执行,提高开发效率。以往的C++ Modules支持虽然早已有...
XMake 是一个基于 Lua 的 现代化 C/C++ 构建系统。 它的语法简洁易上手,对新手友好,即使完全不会 lua 也能够快速入门,并且完全无任何依赖,轻量,跨平台。 同时,它也是一个自满足的构建系统,拥有强大的包管理系统,快速的构建引擎。 相比Ninja/Scons/Make 作为 Build backend,CMake/Meson 作为 Project Generator...
这个版本我们对 C++20 Modules 的实现进行了重构和改进,改进了模块文件的依赖图解析,新增了对 STL 和 User HeaderUnits 的支持,同时让 CMakelists/compile_commands 生成器也支持了 C++ Modules。 另外,我们新增了一个xmake watch插件,可以实时监控当前工程文件更新,自动触发增量构建,或者运行一些自定义的命令。
这个版本我们对 C++20 Modules 的实现进行了重构和改进,改进了模块文件的依赖图解析,新增了对 STL 和 User HeaderUnits 的支持,同时让 CMakelists/compile_commands 生成器也支持了 C++ Modules。 另外,我们新增了一个xmake watch插件,可以实时监控当前工程文件更新,自动触发增量构建,或者运行一些自定义的命令。
目前,Xmake 主要用于 C/C++ 项目的构建,但是同时也支持其他 native 语言的构建,可以实现跟 C/C++ 进行混合编译,同时编译速度也是非常的快,可以跟 Ninja 持平。Xmake = Build backend + Project Generator + Package Manager + [Remote|Distributed] Build + Cache ...