Remix.run Logo
wsve 12 hours ago

At my work we use MSBuild and vcpkg. What would a transition from that to XMake be like?

janjones 11 hours ago | parent | next [-]

Then you are already using XMake (albeit a different one than OP), it's the original codename for MSBuild, still present in the code: https://github.com/dotnet/msbuild/blob/main/src/MSBuild/XMak... :)

debugnik 11 hours ago | parent | next [-]

Your phrasing could confuse readers: MSBuild happened to historically have XMake as a codename but is entirely unrelated to the build system known as XMake.

janjones 10 hours ago | parent [-]

Clarified my comment a bit, thanks

11 hours ago | parent | prev [-]
[deleted]
pjmlp 11 hours ago | parent | prev [-]

As far as I am aware, there no integrations available with Visual Studio, and not sure about C++20 modules and import std support.

danny0z 9 hours ago | parent | next [-]

It can generate a Visual Studio project, then use the xmake CLI to integrate and compile the project, and supports debugging and IntelliSense.

https://xmake.io/guide/extensions/builtin-plugins.html#gener...

C++ Modules examples:

https://xmake.io/examples/cpp/cxx-modules.html

https://github.com/xmake-io/xmake/tree/dev/tests/projects/c%...

pjmlp 6 hours ago | parent [-]

Thanks for the information.

ziotom78 4 hours ago | parent | prev | next [-]

A few weeks ago I decided to test C++ modules, but I had a hard time to figure out how to make them accepted by CMake. After a few days of struggle with `set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444")` (it was so hard to find the right UUID that worked with my version) and errors on `import std;`, I decided to give XMake a chance.

It took just a couple of minutes to have a working example that fully supported C++ modules and `import std`:

    set_languages("c++23")

    add_rules("mode.debug", "mode.release")

    target("mytest")
        set_kind("static")
        add_files("src/*.cpp")
        add_files("src/*.cppm", {public = true})
        set_policy("build.c++.modules", true)
delta_p_delta_x 11 hours ago | parent | prev [-]

> not sure about C++20 modules and import std support

XMake supports both.