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

Switch to a build automation tool #21

Closed
ghost opened this issue Apr 22, 2015 · 5 comments
Closed

Switch to a build automation tool #21

ghost opened this issue Apr 22, 2015 · 5 comments

Comments

@ghost
Copy link

ghost commented Apr 22, 2015

Would be simpler and cleaner to switch to a tool like Premake instead of just dealing with a VS solution and a lot of vcxproj files.
CMake offers a nice way to deal with third-party dependencies.
Premake makes use of Lua and thus, is a bit simpler (at least, it's what I noticed) than CMake but anyway, the main point of this issue is: determining whether or not we should switch to such a tool.

Pros

  • Don't have to bother with a lot of VS-specific files in the repo
  • Changes made to the solution / projects are much more readable and noticeable (spotting a change in a clean script is usually simpler than in a messy XML file)
  • Users can build the solution and projects for a specific IDE (depends on the tool used)
  • Some tools offers a cool way to deal with third-party dependencies (no need to grab each dependency manually, and we could even automate the download process)
  • If we ever want to port X-Ray to another platform, using such a tool will avoid spending time on porting the solution / projects files to a different environment

Cons

  • Some build tools are more less heavy and we may not be able to pack them in the repo
  • All the contributors who are not familiar with such procedures may (depends on the tool itself) need to spend some time to understand how to work with a build automation tool

Build automation tools

@ghost
Copy link
Author

ghost commented Apr 22, 2015

Also, using git submodule / subtree feature should be considered for third-party dependencies.

@nitrocaster
Copy link
Member

Good point. What's about c++/cli and c# support?

@ghost
Copy link
Author

ghost commented Apr 22, 2015

As far as I know, CMake, GYP, Premake and SCons are able to generate C++/CLI and C# projects. VPC can't generate C# projects.

@Ridten
Copy link

Ridten commented May 19, 2019

How about change CMake to a Meson? It has nice python-like syntax, documentation, and easy dealing with dependencies plus fast ninja build as default, but require explicit project configuration.
https://mesonbuild.com/index.html

@eagleivg
Copy link
Contributor

eagleivg commented May 19, 2019

What benefits will it give? CMake is already written and works, are there any advantages that will justify the cost of the transition? In any case, patches are welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

5 participants