Commit Graph

17 Commits

Author SHA1 Message Date
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
bryan sefcik
ff81794e79 Windows ARM64EC fixes.
#fyi josh.adams
#preflight 63d1c8b96a14d8406d8bc780

[CL 23862381 by bryan sefcik in ue5-main branch]
2023-01-25 19:48:06 -05: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
UnrealBot
f4f88f9953 Branch snapshot for CL 23645670
[CL 23645670 in ue5-main branch]
2023-01-11 15:58:26 +00:00
bryan sefcik
c03acf9e05 Blosc: Added Windows ARM64 support.
#jira
#rb none
#preflight 639764dd8c64c74ac82d4460

[CL 23479502 by bryan sefcik in ue5-main branch]
2022-12-12 12:50:20 -05:00
joe kirchoff
e4b870ac3b Update external modules to add include paths to PublicSystemIncludePaths rather than PublicIncludePaths
#rnx
#rb trivial

[CL 22876134 by joe kirchoff in ue5-main branch]
2022-10-31 20:55:55 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
matt johnson
70ce56d227 Blosc: update module rules to support using Blosc on Linux
#jira UE-153244
#rb none
#preflight 62a0ff34232daff7b3018e46

[CL 20600507 by matt johnson in ue5-main branch]
2022-06-10 15:08:35 -04:00
matt johnson
46128f9b30 Blosc: 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, though this Linux build script
takes an additional architecture argument.

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

A subsequent change will update the module rules to put this new
set of libraries into use with engine builds.

#jira UE-153244
#rb brandon.schaefer
#preflight 6297caa59907cbadba9ad507

[CL 20560179 by matt johnson in ue5-main branch]
2022-06-08 13:40:32 -04:00
matt johnson
e9e30a01f6 Blosc, OpenVDB: add module rules to support using Blosc and OpenVDB on Mac
#jira UE-153244
#rb none
#preflight 628ee76ac826bd5a7f261654, 628ee895e746de49610cbf24
#fyi devon.penney

[CL 20380557 by matt johnson in ue5-main branch]
2022-05-26 12:27:36 -04:00
matt johnson
6d17c4d38b Blosc, OpenVDB: add build scripts and build products for Mac
The build scripts included here are largely copies of the existing
build scripts for Windows, so their usage is similar.

The build products included here represent Blosc version 1.21.0
and OpenVDB 8.1.0, the same versions currently used on Windows.

A subsequent change will update the module rules to put this new
set of libraries into use with engine builds.

#jira UE-153244
#rb none
#preflight 628c1d8905113038b4af0d2c
#fyi devon.penney

[CL 20375476 by matt johnson in ue5-main branch]
2022-05-25 22:29:50 -04:00
matt johnson
3691a0cfe0 Blosc: remove build products for old 1.5.0 version
#jira UE-139647
#rb michael.balzer
#preflight 627d8f68545ef59331eea3af

[CL 20226629 by matt johnson in ue5-main branch]
2022-05-16 12:44:34 -04:00
matt johnson
8f9f777821 OpenVDB: activate Blosc 1.21.0 and rebuild OpenVDB as a static library that uses it
This avoids issues where if OpenVDB is dynamically linked, objects
allocated using the instance of the CRT in OpenVDB might be passed
across a shared library boundary where they could then be attempted to
be freed using the UE deallocator, leading to crashes.

Note that OpenVDB makes use of both RTTI and C++ exceptions, so
client modules of OpenVDB should likely enable both of those features
as well.

#jira UE-139647
#rb brandon.schaefer, michael.balzer
#preflight 627ab3ece713fc6e2c581250
#fyi devon.penney

[CL 20173502 by matt johnson in ue5-main branch]
2022-05-12 18:48:55 -04:00
matt johnson
b2eea0f448 Blosc: update build script and add build products for Blosc version 1.21.0
Note that because the engine already embeds its own version(s) of LZ4
which is bundled with Blosc, we apply a patch to the Blosc source that
prepends a prefix to all of the non-static and non-inlined functions in Blosc's
embedded version of LZ4. This ensures that the LZ4 symbols introduced by
Blosc do not collide with those in the engine when building monolithically.

A subsequent change will activate this new version of Blosc and include a
rebuild of OpenVDB which uses it, followed by another change that removes
the old build products for version 1.5.0.

#jira UE-139647
#rb josh.adams
#preflight 627978609c764d1f1e7c11c2

[CL 20127234 by matt johnson in ue5-main branch]
2022-05-10 14:43:11 -04:00
matt johnson
e0c31d5091 Blosc: add source for Blosc version 1.21.0
This change includes just the source code pulled directly from the
Blosc c-blosc project on GitHub. A subsequent change will update
the build script, add the build products, and update the module rules
for using this new version of Blosc in the engine.

#jira UE-139647
#rb michael.balzer
#preflight 627603d63e2a7841b514099a

[CL 20106120 by matt johnson in ue5-main branch]
2022-05-09 13:45:10 -04:00
michael balzer
4007bd01f5 OpenVDB: Fix linker error in ClangEditor Win64 builds
#jira UE-130979
#preflight 61608f3851b6340001ff7702, 61608f14635a7a0001a712ef
#rnx

#ROBOMERGE-OWNER: michael.balzer
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-COMMAND: _robomerge[starship] UE5-Main
#ROBOMERGE-SOURCE: CL 17763550 in //UE5/Release-5.0/... via CL 17763551
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17763569 by michael balzer in ue5-release-engine-test branch]
2021-10-08 18:25:31 -04:00
michael balzer
41e04f752e ThirdPartySoftware: Add Blosc-1.5.0; this is a required dependency for OpenVDB.
#jira UETOOL-3456
#rb sebastien.lussier
#preflight 615b3e08e3b24d000165fdfd
#rnx

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17711951 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17711973 by michael balzer in ue5-release-engine-test branch]
2021-10-04 15:09:35 -04:00