Aurora-RGB / Aurora

Unified lighting effects across multiple brands and various games. http://www.project-aurora.com/
http://www.project-aurora.com/
MIT License
267 stars 38 forks source link

Move everything into one solution #107

Closed MrKev312 closed 1 year ago

MrKev312 commented 1 year ago

Move everything into one solution and use project reference instead of including a dll

This pull request proposes the following changes:

This change will make building the Aurora-Project project easier by automatically compiling all wrappers during the build process. This eliminates the need to build the wrappers in a separate solution and then switching to the Aurora-Project solution to build. This change should not impact the functioning of the program.

Aytackydln commented 1 year ago

I recently separated wrapper projects to reduce compile time on new releases. Also pushed compiled dlls to the repository so you don't need to build it separately. Seperate projecte are also better because only developing Aurora doesn't need msbuild.

I believe this change isn't necessary but if there are problems when the project is checked out from scratch we should solve those problems

MrKev312 commented 1 year ago

It's strange that separating the wrapper projects from the main solution improves compile time, as Visual Studio only recompiles projects if there are changes to them. For example, modifying a function in Project-Aurora yields the following build output: ========== Build: 1 succeeded, 0 failed, 4 up-to-date, 0 skipped ========== This indicates that only Project-Aurora was recompiled, not the wrappers. The wrappers should only be recompiled if a rebuild is performed or if they have not been compiled yet.

I made this change because the project couldn't find the DLLs in the repository in my fork. By including them in Project-Aurora as a project reference, this issue won't occur because they will be built if they aren't already.

Aytackydln commented 1 year ago

Things are different in github actions. Firstly wrappers need msbuild. Importing msbuild tools to build machine takes some time, like around 1 minute.

Also, each build is run at virtual machines which don't have previous build so each project is built again