Development of GZDoom with GitHub

Discuss anything ZDoom-related that doesn't fall into one of the other categories.

Development of GZDoom with GitHub

Postby MatrixCL » Tue Aug 04, 2020 5:11 am

I might be helping out here in there with RFC's on GZDoom. Though I am a web developer (full stack, but still). An application like this is quite something else, so my contributions will probably be limited to tweaks here and there, as I don't think I'll invest in figuring out how the whole application works in general. Unless one of the developers here is willing to give me a tutorial.

I assume I won't get the rights to make git commits myself any time soon (nor should I), but can only do pull requests. Not too sure how that works, but I'll figure it out. In whatever git project I've been working on, I've always had full rights.

I followed the procedure in the wiki and was able to compile and run it on the first try. Yay! B-)

But now I don't really understand how the procedure works for actual development. With the git repository, I created a Visual Studio project using CMake. Then I can make changes, compile, and see the results. However, those alterations are then not on the repository, but on the VS project, so I can't commit that to GitHub. Therefore I should either copy the changes from the project to the repository dir, or only make changes in the repository dir and then create a VS project and compile every time I change something, which is way too impractical and cumbersome. Am I missing something here? Or is this simply the burden we developers have to bear for supporting different platforms with shared code?
User avatar
MatrixCL
 
Joined: 07 Jul 2020
Location: Finland
Discord: Matrix#1375
Github ID: MaartenCL
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: Development of GZDoom with GitHub

Postby dpJudas » Tue Aug 04, 2020 7:15 am

Fork the project on github. Make your own changes in a branch in that fork. Push it to github in your fork. Go to github's website and select you want to create a pull request for the branch. There you can select you want to send the pull request to the gzdoom upstream project.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Development of GZDoom with GitHub

Postby drfrag » Tue Aug 04, 2020 7:41 am

You need to install Git and optionally TortoiseGit and clone the repository in your hard drive too. And you create the VS project in that folder to test and commit your changes locally first. You usually rename origin as upstream and your fork is then origin, you can rename your fork too to something else than gzdoom (i did not).
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Development of GZDoom with GitHub

Postby MatrixCL » Fri Aug 28, 2020 11:28 am

My question was actually different. I thought the code of the VS solution and git repository were separate things. But now I see they are actually the same, even when the solution is on an entirely different location. So I can just make changes in the VS solution, see if it works, and then commit the code change straight away instead of having to make those changes in the repository as well. I had never heard of CMake before, let alone used it, so that's why I asked.

But I didn't know about forking and creating pull requests from there. So thanks for that (rather vital) info. :D I'm ready to fly.
User avatar
MatrixCL
 
Joined: 07 Jul 2020
Location: Finland
Discord: Matrix#1375
Github ID: MaartenCL
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: Development of GZDoom with GitHub

Postby Graf Zahl » Fri Sep 11, 2020 5:39 am

The entire system would be monumentally useless if it didn't work seamlessly, wouldn't you think? ;)
CMake is convenient because it allows maintaining just one project for all platforms as opposed to separate ones for each that can easily disagree on their content.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Development of GZDoom with GitHub

Postby Rachael » Fri Sep 11, 2020 5:45 am

CMake is convenient as long as you are only adding and removing files, or if you are an end-user.

It's not quite so convenient when you have to redesign your project file from scratch...
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Development of GZDoom with GitHub

Postby Graf Zahl » Fri Sep 11, 2020 7:43 am

If you need to do that, any IDE is just as bad because it is impossible to remember and properly set every single option. And unlike CMake you cannot easily build upon an existing file but really have to do it from scratch. I often ended up editing the project files in a text editor. With Visual Studio which uses XML-based formats that's at least doable, but with Apple's XCode projects it stops being fun quickly - they are very much unmaintainable with their endless list of cross-references and redundant definitions of several items.

If a project gets complex in CMake it is very likely you'll never be able to get the same level of functionality natively.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to General

Who is online

Users browsing this forum: Wereknight and 3 guests