Commit Graph

12 Commits

Author SHA1 Message Date
matt johnson
4130d2a524 Boost: only add Boost libraries for x64 platforms on Linux
Supporting Boost on Linux for arm64 architectures will require an arm64
build of the Boost libraries first.

#jira UE-148055
#rb brandon.schaefer
#preflight 624b38b5c51908059aeac22b

[CL 19612949 by matt johnson in ue5-main branch]
2022-04-04 14:37:44 -04:00
matt johnson
5494b43579 USD: build using CMake directly on Linux
This mirrors similar changes done on Windows and Mac and adds a bash
script on Linux with the recipe for building USD and its supporting files using
CMake directly. This ensures that USD builds specifically against the
engine's versions of USD's library dependencies rather than having
USD's build script download and build its own versions. Some of the
manual steps involved in preparing a build of USD for installation in the
engine were rolled into this bash script. When the script completes, the
build products are mostly ready to be copied into place, although
plugInfo.json files will still need their LibraryPath to be adjusted.

Note that this does not yet add support for the usdAbc plugin, as
some additional Linux-specific issues need to be addressed first.
The usdAbc plugin is still only available on Windows and Mac for now.

These changes include the updates to the build process as well as a full
rebuild of USD for Linux built using this new setup. It also includes the
changes necessary to the Boost module rules in order to link against the
engine's version of Boost.

The version of USD remains unchanged here, and still represents USD
version 21.08, matching Windows and Mac.

#rb daniel.coelho, anousack.kitisa
#preflight 6244a7c48f06610224f9ceb6

[CL 19591291 by matt johnson in ue5-main branch]
2022-04-01 13:24:25 -04:00
matt johnson
e7799e9a24 Boost: add build script and build products for Linux
The build script included here is largely a copy of the existing
build script for Mac, which was itself ported from the build script
for Windows, so its usage is similar.

The build products included here represent Boost version
1.70.0, the same version currently used on Windows and Mac.

Note that this does *not* include the update to the module rules
that would put this new set of libraries into use with engine builds.
That will be done in a subsequent change, since it will have to be
combined with a rebuild of USD, which is the main consumer of
the Boost libraries.

#rb michael.balzer
#preflight skip

[CL 19546691 by matt johnson in ue5-main branch]
2022-03-29 14:44:27 -04:00
matt johnson
f742de537f USD: build using CMake directly on Mac and add usdAbc plugin
This mirrors a similar change done on Windows and adds a bash script
on Mac with the recipe for building USD and its supporting files using
CMake directly. This ensures that USD builds specifically against the
engine's versions of USD's library dependencies rather than having
USD's build script download and build its own versions. Some of the
manual steps involved in preparing a build of USD for installation in the
engine were rolled into this bash script. When the script completes, the
build products are mostly ready to be copied into place, although
plugInfo.json files will still need their LibraryPath to be adjusted.

With that change in place, we can also now build the usdAbc plugin that
is included with USD which adds a file format plugin for reading Alembic
files via USD.

These changes include the updates to the build process as well as a full
rebuild of USD for Mac built using this new setup. It also includes the
changes necessary to the Boost module rules in order to link against the
engine's version of Boost.

The version of USD remains unchanged here, and still represents USD
version 21.08, matching Windows and Linux.

#rb daniel.coelho, anousack.kitisa
#preflight 621fc972f134125ae0aed638, 621fc99e257fd6e099786eb5

[CL 19230465 by matt johnson in ue5-main branch]
2022-03-02 16:59:41 -05:00
matt johnson
aa830e7347 Boost: add build script and build products for Mac
The build script included here is largely a port of the existing
build script for Windows, so its usage is similar. The one detail
that is unique to the Mac build script is that since it does not
currently appear to be possible to have the Boost build itself
generate universal binaries, we therefore have to run a build
for each of x86_64 and arm64 architectures and then combine
them into a set of universal binaries ourselves in a post-process.

The build products included here represent Boost version
1.70.0, the same version currently used on Windows.

Note that this does *not* include the update to the module rules
that would put this new set of libraries into use with engine builds.
That will be done in a subsequent change, since it will have to be
combined with a rebuild of USD, which is the main consumer of
the Boost libraries.

#rb michael.balzer, will.damon
#preflight 621eda79b20446f11c7ed147

[CL 19225365 by matt johnson in ue5-main branch]
2022-03-02 14:03:26 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
matt johnson
bb782ec5eb Boost: remove MSVC 1.41 versions of the libraries
With USD rebuilt to depend on the "vc142" versions of the Boost
libraries, the "vc141" versions of the libraries are no longer used
and can be removed.

#rb michael.balzer
[FYI] jeanmichel.dignard

#ROBOMERGE-SOURCE: CL 17184718 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17184720 by matt johnson in ue5-release-engine-test branch]
2021-08-16 19:59:19 -04:00
matt johnson
d568360153 USD: rebuild USD v21.05 using MSVC 1.42
This change replaces the USD shared libraries on Windows with
versions built using MSVC 1.42, updating their dependencies on
Boost to reflect the "vc142" versions of the Boost libraries.

There was no change to the version of USD used, so these libraries
still represent USD version 21.05, and the rebuild was only necessary
for Windows.

The Build.cs for the Boost UE module now looks for the "vc142"
versions of the Boost libraries.

#rb michael.balzer, jeanmichel.dignard
#preflight 611aba9d3a81b00001d61b30

#ROBOMERGE-SOURCE: CL 17184052 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17184058 by matt johnson in ue5-release-engine-test branch]
2021-08-16 19:05:54 -04:00
matt johnson
1c67843a3f Boost: build the libraries using MSVC 1.42 to align with engine standard
The default version of the compiler toolchain for the engine on Windows is
currently Visual Studio 2019 and MSVC 1.42, so this change sets up Boost
to build using that toolchain, and it adds versions of the compiled binaries
built using that toolchain.

Note that this change does *not* update the Boost Build.cs to look for these
new "vc142" versions of the libraries, nor does it remove the existing "vc141"
versions of the libraries. USD has a link dependency on Boost, so a subsequent
change will rebuild the USD libraries to update the dependencies, after which
it will be safe to remove the old "vc141" Boost libraries.

#rb michael.balzer
[FYI] jeanmichel.dignard
#preflight 6116ff37afd67e00019dc839

#ROBOMERGE-SOURCE: CL 17180084 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17180092 by matt johnson in ue5-release-engine-test branch]
2021-08-16 15:17:35 -04:00
michael balzer
3cb43fd8e4 USDImporter: Use Boost and TBB from general TPS folder; remove copy of Boost libraries within the USD importer folders.
Reviewed in 16615565 and 16616408.

#jira UETOOL-3730
#rb ryan.schmidt sebastien.lussier
#rnx

#ROBOMERGE-SOURCE: CL 16845132 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16845134 by michael balzer in ue5-release-engine-test branch]
2021-07-13 20:38:43 -04:00
michael balzer
6b2c6fa6dd ThirdPartySoftware: Add Boost-1.70.0 with built libraries for atomic, chrono, iostreams, python37, regex, system, thread; this is a required dependency for USD and OpenVDB.
#jira UETOOL-3730
#rb ryan.schmidt sebastien.lussier
#rnx

#ROBOMERGE-SOURCE: CL 16841058 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16841072 by michael balzer in ue5-release-engine-test branch]
2021-07-13 15:17:03 -04:00
michael balzer
cbc8c72696 ThirdPartySoftware: Add Win64 scripts for downloading and building Boost.
#jira UETOOL-3730
#rb ryan.schmidt sebastien.lussier
#rbx

#ROBOMERGE-SOURCE: CL 16840982 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16841009 by michael balzer in ue5-release-engine-test branch]
2021-07-13 15:11:13 -04:00