Commit Graph

35 Commits

Author SHA1 Message Date
matt johnson
76d870440a Boost: fix incorrect architecture suffix in boost_python cmake files for Linux arm64
#jira UE-191971, UE-215912
#rb none

[CL 33959146 by matt johnson in ue5-main branch]
2024-05-28 19:31:05 -04:00
matt johnson
435f0b7198 Boost: rebuild Boost 1.82.0 for Linux arm64 to fix incorrect architecture and suffix for boost_python311
#jira UE-191971, UE-215912
#rb none

[CL 33957931 by matt johnson in ue5-main branch]
2024-05-28 19:01:05 -04:00
matt johnson
cfcbe94583 Boost: remove build products for old 1.80.0 version
#jira UE-191971

[CL 33891583 by matt johnson in ue5-main branch]
2024-05-24 08:48:51 -04:00
brooke hubert
046a11b5b2 [VFX Reference Update] Updating multiple third party libraries and dependencies:
- Python to 3.11.8
- OpenSubdiv to 3.6.0
- OpenUSD to 24.03
- Boost to 1.82

PythonFoundationPackages has been converted to pip-installer version, and dependencies updated against Python update

#Jira UE-210678
#rb mark.winter matt.johnson brooke.hubert

[CL 32683637 by brooke hubert in ue5-main branch]
2024-04-02 18:37:17 -04:00
matt johnson
a8855ad2df [Backout] - CL30015032
Temporarily reactivating Boost 1.80.0 and reverting OpenUSD to
version v23.08 while we investigate OpenUSD address sanitizer
issues on Linux.

#jira UE-191971, UE-199133, UE-201662, UE-201819
[FYI] matt.johnson, james.singer, brandon.schaefer, anousack.kitisa, daniel.coelho

Original CL Desc
-----------------------------------------------------------------
OpenUSD, Boost: upgrade OpenUSD version to v23.11 and activate Boost version 1.82.0

This change updates the module rules for Boost to use the new 1.82.0 version
and includes an upgrade build of OpenUSD that links the new version as well.

A subsequent change will remove the old build products for Boost version 1.80.0.

#jira UE-199133, UE-191971
#rb daniel.coelho

[CL 30166539 by matt johnson in ue5-main branch]
2023-12-06 15:41:38 -05:00
matt johnson
3d373ab3f5 [Backout] - CL30015690
Temporarily restoring Boost 1.80.0 build while we investigate
OpenUSD address sanitizer issues on Linux.

#jira UE-191971, UE-201662, UE-201819
[FYI] matt.johnson, james.singer, brandon.schaefer

Original CL Desc
-----------------------------------------------------------------
Boost: remove build products for old 1.80.0 version

#jira UE-191971

[CL 30158543 by matt johnson in ue5-main branch]
2023-12-06 11:59:04 -05:00
matt johnson
40d176f84e Boost: remove build products for old 1.80.0 version
#jira UE-191971

[CL 30015708 by matt johnson in ue5-main branch]
2023-11-30 10:50:54 -05:00
matt johnson
4196964ea3 OpenUSD, Boost: upgrade OpenUSD version to v23.11 and activate Boost version 1.82.0
This change updates the module rules for Boost to use the new 1.82.0 version
and includes an upgrade build of OpenUSD that links the new version as well.

A subsequent change will remove the old build products for Boost version 1.80.0.

#jira UE-199133, UE-191971
#rb daniel.coelho

[CL 30015124 by matt johnson in ue5-main branch]
2023-11-30 10:29:53 -05:00
matt johnson
4e8d42600a Boost: update license and TPS file for Boost version 1.82.0
#jira UE-191971

[CL 29912460 by matt johnson in ue5-main branch]
2023-11-23 13:33:02 -05:00
matt johnson
c94c581f82 Boost: add compiled libraries for Mac for Boost version 1.82.0
#jira UE-191971

[CL 29902139 by matt johnson in ue5-main branch]
2023-11-22 18:36:25 -05:00
matt johnson
eb8afd54e6 Boost: add compiled libraries for Linux for Boost version 1.82.0
#jira UE-191971

[CL 29901049 by matt johnson in ue5-main branch]
2023-11-22 18:08:05 -05:00
matt johnson
2fa812be63 Boost: add compiled libraries for Windows for Boost version 1.82.0
#jira UE-191971

[CL 29895130 by matt johnson in ue5-main branch]
2023-11-22 15:00:26 -05:00
matt johnson
4a96a306ba Boost: add header files for Boost version 1.82.0
Note that this includes only the header files and not any built libraries.
Subsequent changes will add the compiled libraries for Windows, Mac, and
Linux, followed by another change to update the module rules in Boost.Build.cs
that will put this new set of libraries into use with engine builds.

#jira UE-191971

[CL 29894995 by matt johnson in ue5-main branch]
2023-11-22 14:52:25 -05:00
matt johnson
57386f110f VFX Reference Platform Libs: bump macOS deployment target to 11.0 in build scripts
This will ensure that the next builds of these third-party libraries for macOS will
be built with 11.0 as the minimum deployment target, which conforms to the
VFX reference platform for CY2023 and CY2024.

#rb none

[CL 27563997 by matt johnson in ue5-main branch]
2023-09-01 15:35:39 -04:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
Brandon Schaefer
27083c10d6 Cherry pick a change to boost from 1.81 to correct setup defines to avoid using std::unary_function which is deprecated and removed std
f0af4a9184

#jira UE-174139
#preflight 63c1aae170575f8900501a8f
#rb Steve.Robb, Matt.Johnson

[CL 23684135 by Brandon Schaefer in ue5-main branch]
2023-01-13 14:46:31 -05:00
matt johnson
2975984b81 Boost: remove build products for old 1.70.0 version
#jira UE-163844, UE-156942
#rb none
#preflight 6373e42f32484253053de24f

[CL 23140835 by matt johnson in ue5-main branch]
2022-11-15 14:57:20 -05:00
matt johnson
06820943fd Boost, USD: activate Boost version 1.80.0
This change updates the module rules for Boost to use the new 1.80.0 version
and includes a rebuild of USD that links the new version as well.

A subsequent change will remove the old build products for version 1.70.0.

#jira UE-163844, UE-156942
#rb daniel.coelho
#preflight 6372dfbdbf76990b712c9dbf, 6372e001953c19d435440402

[CL 23139880 by matt johnson in ue5-main branch]
2022-11-15 14:06:09 -05:00
matt johnson
a406b109cb Boost: add compiled libraries for Linux for Boost version 1.80.0
#jira UE-163844, UE-156942
#rb none
#preflight skip

[CL 23130564 by matt johnson in ue5-main branch]
2022-11-14 19:25:30 -05:00
matt johnson
859ea412bb Boost: add compiled libraries for Mac for Boost version 1.80.0
This also updates the build script to make b2 generate universal binaries
directly rather than independently building for x86_64 and arm64 and
combining them in a post-process.

Note that depending on the system installation, the version of liblzma.dylib
found and used may or may not be a universal binary, so we disable
LZMA (used by Boost's iostream library) for now.

#jira UE-163844, UE-156942
#rb none
#preflight skip

[CL 22708220 by matt johnson in ue5-main branch]
2022-10-21 23:06:19 -04:00
matt johnson
1dcfab3b66 Boost: add compiled libraries for Windows for Boost version 1.80.0
#jira UE-163844, UE-156942
#rb none
#preflight skip

[CL 22661447 by matt johnson in ue5-main branch]
2022-10-20 13:16:51 -04:00
matt johnson
908d2490f9 Boost: update Windows build script and add header files for Boost version 1.80.0
This includes a few fixes and bits of cleanup for the build script
on Windows:
- Fixed the path to the Python interpreter in the user-config.jam
- Get the correct path to the script before shifting parameters
- Build inside the Boost directory rather than at the root of the workspace
- Redirect stderr as well as stdout to log files
- Build using MSVC 14.3
- Cleaned up the parameters passed to bootstrap.bat and b2.exe using
    the same order as in the build scripts for the other platforms
- Build with the "--layout=tagged" option, which avoids needing to relocate
    the headers after install. Note that this also changes the file names of the
    built libraries and makes them consistent with the other platforms. The file
    name change will be accounted for when the Boost.Build.cs is updated to
    use this new build
- Updated usage to reflect the current version

Note that this includes only the header files and not any built libraries.
Subsequent changes will add the compiled libraries for Windows, Mac, and
Linux, followed by another change to update the module rules in Boost.Build.cs
that will put this new set of libraries into use with engine builds. The Boost
filesystem library was added as well in anticipation of possibly using features
in USD that might indirectly make use of it.

#jira UE-163844, UE-156942
#rb none
#preflight skip

[CL 22660562 by matt johnson in ue5-main branch]
2022-10-20 12:53:38 -04:00
matt johnson
45b40b06ae Boost: update build script, add build products, and adjust module rules to support arm64 architecture on Linux
The Linux arm64 build of Boost also uses the current v20_clang-13.0.1-centos7
toolchain rather than the old v19_clang-11.0.1-centos7 version.

#jira UE-148077
#rb brandon.schaefer
#preflight 631f6beda9331c69c3a3c541

[CL 21970754 by matt johnson in ue5-main branch]
2022-09-12 15:36:15 -04:00
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