Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better build system? #13

Open
LaserEyess opened this issue Mar 9, 2023 · 8 comments · May be fixed by #39
Open

Better build system? #13

LaserEyess opened this issue Mar 9, 2023 · 8 comments · May be fixed by #39

Comments

@LaserEyess
Copy link

It looks like you're using two separate, hand-rolled build systems here. I understand this project is in its infancy but I think you'll want to use a "real" build system sooner rather than later. The two major options for cross-platform C/C++ projects are CMake and meson. Both have their pros and cons, and I have experience with both.

In general, I would recommend meson, but visual studio support (if that's a hard requirement?) is less mature than CMake. I'd be willing to make a PR for either, as I'd like to start hacking on this project but I also don't want to deal with makefiles.

@shadow42085
Copy link

frankly I would ditch Visual Studio support for msys2/ttc since you can use any lightweight C/C++ IDE with it and visual studio is very bloated where as Msys2 is not as bloated since it's just the compiler

@eli-schwartz
Copy link

Visual Studio is an IDE, but MSVC is the compiler that comes bundled inside it. Using the latter is probably more compelling than the former.

In general, I would recommend meson, but visual studio support (if that's a hard requirement?) is less mature than CMake.

The Visual Studio + MSVC support in Meson may not be as high quality as the ninja + MSVC support, but those sorts of issues are most likely only going to show up in projects that venture into things a lot more complicated than just C/C++. Anyway, the solution is of course to use ninja anyway -- it will always be much, much faster. :D

@LaserEyess
Copy link
Author

I agree, but let me clarify that by "visual studio" I mean visual studio project files built with msbuild.exe, not the IDE. I figure mingw+ninja should be enough on Windows but sometimes Windows development leads to... strange dependencies.

@jason-oliveira
Copy link

The existing build system works great with a linux-based workflow (MSVC is gross), but CMake is always a plus.

@shadow42085
Copy link

well if you go with msys2 mainly you can have cmake, and meson. then considering that the base install of msys2 with the proper libs and compiler is around 2GB or less not sure on that where as VS just by itself is 10GB+ not including the other libs and compiler. since people who want to use this will have to compile it for obvious reasons using a lightweight option like msys2 for windows is an excellent option just food for thought

@snesrev
Copy link
Owner

snesrev commented Mar 16, 2023

We will not ditch VS because VS is what I use for development.

@LaserEyess
Copy link
Author

@snesrev is this workflow acceptable to you? https://learn.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=msvc-170

If so, I can make a PR that ports the build system to cmake.

@snesrev
Copy link
Owner

snesrev commented Apr 7, 2023

@LaserEyess yes it looks ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants