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

Linux build improvements #2522

Merged
merged 5 commits into from
Jul 24, 2020
Merged

Linux build improvements #2522

merged 5 commits into from
Jul 24, 2020

Conversation

saihv
Copy link
Contributor

@saihv saihv commented Apr 4, 2020

Placeholder PR for WIP build improvements on Linux.

Features:

  • Add and default to release mode in build.sh, with ability to take a --debug flag for debug.
  • Add compiler optimizations when building as Release. (O2 or O3?)
  • Add option to use precompiled AirLib in the UE project to preserve compiler optimizations. (Can we control this through build.sh as well?)

@rajat2004
Copy link
Contributor

Just some things which came to my mind, I haven't tested this

  • Add build_release, build_gcc_release to clean.sh
  • Should we add usage info to build.sh? Will be imp, once the args increase
  • Will this make any difference in the packaging of the project?

@saihv
Copy link
Contributor Author

saihv commented Apr 6, 2020

Packaging might actually be broken right now, regardless of this PR (I am facing problems on my Linux machine). I am not entirely sure why but the introduction of clang-8 is causing problems on the engine's side (shadowed enum error inside Engine source code), problems that were fixed for 4.25 pending release. It would be great if you can try packaging Blocks using master!

https://github.com/EpicGames/UnrealEngine/commit/cb388710a7fbe43eaa82a6d8c43b1632f25f6386

Agree with the other two points. I will try to add them

@rajat2004
Copy link
Contributor

Oh, wasn't ware that packaging was broken. Then how were the release binaries packaged? Did that require manual application of the commit to the UE code and then build it?

Will try packaging Blocks, is this the case on both Linux and Windows?

@saihv
Copy link
Contributor Author

saihv commented Apr 6, 2020

I believe it's a Linux-only problem, because of clang-8 (but I haven't tried it in windows).

The 1.3.0 releases were built with a version of master prior to the introduction of clang-8. Even now, it's possible to do a simple patch to the UE source code (the commit I posted above) and build packages on Linux.

@madratman
Copy link
Contributor

Packaging works for me, although I am using an unreal engine "installed build"
I did see a cooking error. I was able to get around that by hitting "launch" (which cooks the contents), and then making the binary.
There's an explicit option to "cook contents" which also might solve the issue.

madratman added a commit that referenced this pull request Jul 24, 2020
madratman added a commit that referenced this pull request Jul 24, 2020
@madratman madratman merged commit 1e377e0 into microsoft:master Jul 24, 2020
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 this pull request may close these issues.

3 participants