#UE4 Reducing dependencies on Version.h
#platformnotify Josh.Adams
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2585810 by Bob.Tellez on 2015/06/12 11:30:33.
[CL 2585846 by Bob Tellez in Main branch]
#change Rollback of accidental merge 2581810. Discussed alternate solution with Ben.Marsh
#platformnotify Josh.Adams
[CL 2582768 by Andrew Brown in Main branch]
- LND will init/tear down backend DSOs cleanly.
- LND will attempt to detect the desktop environment and use appropriate backend class.
- Filters are fixed so GTK backend can parse them.
- LC_NUMERIC is forced to en_US to prevent comma vs. dot problems when parsing configs.
- Qt4 is tried before Qt5 as the latter can still crash on shutdown.
[CL 2546195 by Dmitry Rekman in Main branch]
- Rocket doesn't bundle Linux libs, making code-based projects (and projects with third-party plugins) fail during compilation.
- Updated messaging to reflect this.
- Also added a SDK check for Linux and a 'getting' started UDN page.
- Updated Linux README for 4.8.
#codereview Peter.Sauerbrei, Ben.Marsh, Jeff.Wilson
[CL 2543338 by Dmitry Rekman in Main branch]
- Two actual bugs were fixed (GitSourceControlUtils.cpp, VisualStudioSourceCodeAccessor.h)
- (These errors were found by using the Clang compiler on Windows platform)
#codereview marc.audy
[CL 2532216 by Mike Fricker in Main branch]
- Contributed by salamanderrake.
- Cosmetic differences from the PR.
- Also removed filtering out Windows/Mac/etc directories when generating a qmake project since it makes code navigation worse.
[CL 2532165 by Dmitry Rekman in Main branch]
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).
EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.
Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)
GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.
This addresses UETOOL-270 (Most editor preferences should be project-agnostic)
[CL 2517558 by Andrew Rodham in Main branch]
#jira UE-8407 - Trying to open project from Newer version to older version of the Editor
#reviewedby Ben.Marsh
[CL 2515634 by Richard TalbotWatkin in Main branch]
- Incorporates PR #934 (fix a broken path to RunXBuild.sh when building UBT for Linux) contributed by amigo (3dluvr).
- Moved more code out of #ifdef-s to make compiler see it when compiling on all platforms.
#codereview Ben.Marsh, Jaroslaw.Palczynski
[CL 2482335 by Dmitry Rekman in Main branch]
Slate Widget was failing, because of missing Slate dependencies. Testing introduced a couple of problems which all was fixed by this CL:
1. I introduced AdditionalDependencies in .uproject file and change "Add Code To Project..." procedure to fill this array if needed. UBT reads this field and builds the project with required modules. Needed for Slate classes.
2. Changed UHT to #include missing headers in generated.h files if it was missing an include for it's super class. It was causing problems if we were trying to add a subclass of BrushShape -- BrushShape.h didn't have #include "Brush.h" and UBrushShape was inheriting from UBrush.
3. Above problems also occured for Slate classes, but not all of them was UCLASSes, so I had to fixed that manually.
4. "Add Code To Project..." functionality was not invalidating UBT makefiles, which lead to omitting new source files during hot-reloading (even thought it was reporting a success). This change also should improve a bit performance, cause right now there is no "gathering" step -- there is only invalidate step which is a lot quicker.
5. Fixed "Selected Class Source" link to source class in Slate Widget and Slate Widget Style class.
#codereview Robert.Manuszewski
[CL 2481488 by Jaroslaw Palczynski in Main branch]