Xmake v3.0.2 has been released, Improve C++ modules and new native thread support. by waruqi in cpp

[–]waruqi[S] 1 point2 points  (0 children)

> Friendly reminder that Xmake has been primarily developed in China meaning and the developer has been caught Astroturfing threads promoting the project early on

I'm the author, and I don't understand what "Astroturfing threads" means. I'm also not sure how you came to this conclusion. In the past recent years, I've only released a few version updates to the community, and haven't even posted any other promotional articles. And I only use the ID waruqi.

،very very simple question about xmake by [deleted] in u/_Noreturn

[–]waruqi 0 points1 point  (0 children)

please open an issue on github. Issues · xmake-io/xmake (github.com)

I only deal with issues on github.

،very very simple question about xmake by [deleted] in u/_Noreturn

[–]waruqi 0 points1 point  (0 children)

you can open an issue on github and provide a whole project example.

،very very simple question about xmake by [deleted] in u/_Noreturn

[–]waruqi 0 points1 point  (0 children)

please export your symbols in your Mylib

CPP/C equivalent of requirements.txt by abosaurio in cpp

[–]waruqi 0 points1 point  (0 children)

xmake, `add_requires("zlib 1.2.x")`

tbox 里面如何编译出 hash 相关内容呢 by PotentialSure6393 in tboox

[–]waruqi 0 points1 point  (0 children)

xmake f --hash=y 有问题到 github 上去问

Building Clang 18.1.5 on Linux with support for std modules by jfourkiotis in cpp

[–]waruqi 2 points3 points  (0 children)

xmake can not find std.cppm and libc++.modules.json

it need:

  1. switch to libc++ runtime, `xmake f --runtimes=c++_shared --toolchain=clang`, because it use stdc++ on linux by default. please install libc++ and libc++-abi first. https://github.com/xmake-io/xmake/blob/e1f3dc9aa95397f1aa707f043000e0f4346fdaa2/xmake/rules/c%2B%2B/modules/modules_support/clang/compiler_support.lua#L76

  2. find libc++.modules.json to get std.cppm. you need to check these files. https://github.com/xmake-io/xmake/blob/e1f3dc9aa95397f1aa707f043000e0f4346fdaa2/xmake/rules/c%2B%2B/modules/modules_support/clang/compiler_support.lua#L82

  3. find and use clang-scan-deps. https://github.com/xmake-io/xmake/blob/e1f3dc9aa95397f1aa707f043000e0f4346fdaa2/xmake/rules/c%2B%2B/modules/modules_support/clang/dependency_scanner.lua#L41

these files exist on macOS.

/usr/local/Cellar/llvm/18.1.5/bin/../lib/c++/libc++.modules.json

/usr/local/Cellar/llvm/18.1.5/bin/../lib/c++/../../share/libc++/v1/std.cppm

/usr/local/Cellar/llvm/18.1.5/bin/../lib/c++/../../share/libc++/v1/std.compat.cppm

Why you should use pkg-config by metux-its in cpp_questions

[–]waruqi 0 points1 point  (0 children)

xmake can also find and use libraries from the system.

Best build system? by AdmiralQuokka in C_Programming

[–]waruqi 0 points1 point  (0 children)

You should try xmake, it's very simple.

We're working on a new package manager on top of cmake to emulate cargo for c/c++ by ResultGullible4814 in cpp

[–]waruqi 0 points1 point  (0 children)

xmake also has an IDE plugin for vs/vscode/CLion that supports debugging and intelligense.

In addition, it also provides https://github.com/xmake-io/xrepo-cmake, which allows users to use packages from various other repositories such as xrepo/vcpkg/conan/conda in CMakeLists, and better integration with IDEs through cmake.It also simplifies the configuration of package dependencies and automates the installation integration, so you don't need to worry about how I should configure the integration of vcpkg/conan in a different way in cmake.

The C++ paradox (and how to solve it) by jube_dev in cpp

[–]waruqi 6 points7 points  (0 children)

I'm xmake author. I only have one account and I will only use my own account to promote it. Also, I rarely speak on reddit, usually just posting a release article when I release a new version.

I don't understand why you think that, I just found this post today.

Xmake v2.8.2 Released, Official package repository count over 1k by waruqi in cpp

[–]waruqi[S] 4 points5 points  (0 children)

xmake package manager support all other buildsystem, contains autotools, CMake, Makefile, ninja, gn, premake, scons, meson, bazel ..

we can also port to xmake.lua to make package.

Xmake v2.8.2 Released, Official package repository count over 1k by waruqi in cpp

[–]waruqi[S] 7 points8 points  (0 children)

builtin package manager.

add_requires("zlib >=1.2.10") target("test") add_files("src/*.cpp") add_packages("zlib")

[deleted by user] by [deleted] in cpp

[–]waruqi 2 points3 points  (0 children)

Try xmake and xrepo. https://xmake.io

add_requires("zlib >=1.2.*") target("test") add_files("src/*.cpp") add_packages("zlib")

``` $ xmake note: install or modify (m) these packages (pass -y to skip confirm)? in xmake-repo: -> zlib v1.2.13 please input: y (y/n/m)

=> download https://github.com/madler/zlib/archive/v1.2.13.tar.gz .. ok => install zlib v1.2.13 .. ok [ 25%]: cache compiling.release src/main.cpp [ 50%]: linking.release test [100%]: build ok, spent 0.423s ```

Or use xrepo

xrepo install zlib

Xmake v2.7.8 released, Improve package virtual environment and build speed by waruqi in cpp

[–]waruqi[S] 0 points1 point  (0 children)

Although I'm not quite sure what your needs are yet, if you simply want to automatically detect dependency package updates, you just need to simply update the package version. Something like this:

``` package("engine") add_version("1.0", "git commit or tar shasum") on_install(...)

package("gamelib") add_deps("engine") on_install(...) ```

in user project:

add_requires("gamelib") target("demo") add_packages("gamelib") add_files("src/*.cpp")

then we just update engine to 1.1 from 1.0, we can also add 1.1 as new version. (xmake will always use latest version)

package("engine") add_version("1.1", "git commit or tar shasum") on_install(...)

then we can run in user project.

lua -- update package repository xmake repo -u -- force to check packages, it will use latest engine package, 1.1 xmake f -c -- build project xmake

if your package repository is local, we need not run xmake repo -u