Jelajahi Sumber

Merged OpenMesh addition

Signed-off-by: Chris Galvan <[email protected]>
Chris Galvan 3 tahun lalu
induk
melakukan
5c3f29f85d

+ 29 - 0
package-system/OpenMesh/FindOpenMesh.cmake.NonWindows

@@ -0,0 +1,29 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+# 
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(LIB_NAME "OpenMesh")
+ 
+set(TARGET_WITH_NAMESPACE "3rdParty::${LIB_NAME}")
+if (TARGET ${TARGET_WITH_NAMESPACE})
+    return()
+endif()
+ 
+set(${LIB_NAME}_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/${LIB_NAME}/include)
+
+set(${LIB_NAME}_LIBS_DIR ${CMAKE_CURRENT_LIST_DIR}/${LIB_NAME}/lib)
+ 
+set(${LIB_NAME}_LIBRARY ${${LIB_NAME}_LIBS_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}OpenMeshCore${CMAKE_STATIC_LIBRARY_SUFFIX})
+ 
+add_library(${TARGET_WITH_NAMESPACE} STATIC IMPORTED GLOBAL)
+ 
+set_target_properties(${TARGET_WITH_NAMESPACE} PROPERTIES IMPORTED_LOCATION "${${LIB_NAME}_LIBRARY}")
+ 
+ly_target_include_system_directories(
+    TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${${LIB_NAME}_INCLUDE_DIR})
+ 
+set(${LIB_NAME}_FOUND True)

+ 28 - 0
package-system/OpenMesh/FindOpenMesh.cmake.Windows

@@ -0,0 +1,28 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+# 
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(TARGET_WITH_NAMESPACE "3rdParty::OpenMesh")
+if (TARGET ${TARGET_WITH_NAMESPACE})
+    return()
+endif()
+
+set(OpenMesh_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/OpenMesh/include)
+set(OpenMesh_LIBS_DIR ${CMAKE_CURRENT_LIST_DIR}/OpenMesh/lib)
+
+set(OpenMesh_LIBRARY_DEBUG   ${OpenMesh_LIBS_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}OpenMeshCored${CMAKE_STATIC_LIBRARY_SUFFIX})
+set(OpenMesh_LIBRARY_RELEASE ${OpenMesh_LIBS_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}OpenMeshCore${CMAKE_STATIC_LIBRARY_SUFFIX})
+
+add_library(${TARGET_WITH_NAMESPACE} STATIC IMPORTED GLOBAL)
+
+set_target_properties(${TARGET_WITH_NAMESPACE} PROPERTIES IMPORTED_LOCATION "${OpenMesh_LIBRARY_RELEASE}")
+set_target_properties(${TARGET_WITH_NAMESPACE} PROPERTIES IMPORTED_LOCATION_DEBUG "${OpenMesh_LIBRARY_DEBUG}")
+
+ly_target_include_system_directories(
+    TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${OpenMesh_INCLUDE_DIR})
+
+set(OpenMesh_FOUND True)

+ 66 - 0
package-system/OpenMesh/build_config.json

@@ -0,0 +1,66 @@
+{
+   "git_url":"https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh.git",
+   "git_tag":"OpenMesh-8.1",
+   "patch_file":"openmesh-o3de.patch",
+   "package_name":"OpenMesh",
+   "package_version":"8.1-rev3",
+   "package_url":"https://www.graphics.rwth-aachen.de/software/openmesh/",
+   "package_license":"BSD-3-Clause",
+   "package_license_file":"LICENSE",
+   "cmake_find_target": "FindOpenMesh.cmake",
+   "Platforms":{
+      "Windows":{
+         "Windows":{
+            "cmake_find_source":"FindOpenMesh.cmake.Windows",
+            "custom_build_cmd": [
+               "build_openmesh_windows.cmd"
+            ],
+            "custom_install_cmd": [
+               "install_openmesh_windows.cmd"
+            ]
+         }
+      },
+      "Darwin":{
+         "Mac":{
+            "build_configs": ["Release"],
+            "cmake_find_source":"FindOpenMesh.cmake.NonWindows",
+            "cmake_generate_args":[
+               "-DDISABLE_QMAKE_BUILD=ON",
+               "-DBUILD_APPS=OFF",
+               "-DOPENMESH_DOCS=OFF",
+               "-DOPENMESH_BUILD_UNIT_TESTS=OFF",
+               "-DCMAKE_TOOLCHAIN_FILE=../../../../Scripts/cmake/Platform/Mac/Toolchain_mac.cmake",
+               "-DCMAKE_CXX_FLAGS=\"-fPIC -fno-aligned-allocation\"",
+               "-DCMAKE_CXX_STANDARD=17",
+               "-DCMAKE_BUILD_TYPE=Release"
+            ],
+            "cmake_build_args":[
+               "-j"
+            ]
+         }
+      },
+      "Linux":{
+         "Linux":{
+            "build_configs": ["Release"],
+            "cmake_find_source":"FindOpenMesh.cmake.NonWindows",
+            "cmake_generate_args":[
+               "-G",
+               "Unix\\ Makefiles",
+               "-DDISABLE_QMAKE_BUILD=ON",
+               "-DBUILD_APPS=OFF",
+               "-DOPENMESH_DOCS=OFF",
+               "-DOPENMESH_BUILD_SHARED=OFF",
+               "-DOPENMESH_BUILD_UNIT_TESTS=OFF",
+               "-DCMAKE_C_COMPILER=clang-12",
+               "-DCMAKE_CXX_COMPILER=clang++-12",
+               "-DCMAKE_CXX_FLAGS=\"-fPIC -fno-aligned-allocation\"",
+               "-DCMAKE_CXX_STANDARD=17",
+               "-DCMAKE_BUILD_TYPE=Release"
+            ],
+            "cmake_build_args":[
+               "-j"
+            ]
+         }
+      }
+   }
+}

+ 31 - 0
package-system/OpenMesh/build_openmesh_windows.cmd

@@ -0,0 +1,31 @@
+ @echo off
+
+REM Copyright (c) Contributors to the Open 3D Engine Project.
+REM For complete copyright and license terms please see the LICENSE at the root of this distribution.
+REM 
+REM SPDX-License-Identifier: Apache-2.0 OR MIT
+REM
+
+SET SRC_PATH=temp\src
+SET BLD_PATH=temp\build
+
+cmake -S %SRC_PATH% -B %BLD_PATH% -G "Visual Studio 16 2019" -A x64 -T host=x64 -DDISABLE_QMAKE_BUILD=ON -DBUILD_APPS=OFF -DOPENMESH_DOCS=OFF -DOPENMESH_BUILD_SHARED=OFF -DOPENMESH_BUILD_UNIT_TESTS=OFF
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO CMake Configuration Error
+    exit /b 1
+)
+
+cmake --build %BLD_PATH% --config Debug
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO CMake Build Debug Error
+    exit /b 1
+)
+
+cmake --build %BLD_PATH% --config Release
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO CMake Build Release Error
+    exit /b 1
+)
+
+exit /b 0
+

+ 53 - 0
package-system/OpenMesh/install_openmesh_windows.cmd

@@ -0,0 +1,53 @@
+ @echo off
+
+REM Copyright (c) Contributors to the Open 3D Engine Project.
+REM For complete copyright and license terms please see the LICENSE at the root of this distribution.
+REM 
+REM SPDX-License-Identifier: Apache-2.0 OR MIT
+REM
+
+
+REM Use a custom install script which does the same as using the normal cmake install parameters
+REM but also add the pdb file for OpenMeshCored.lib into the installed lib folder as well
+
+SET BLD_PATH=temp\build
+SET SRC_PATH=temp\src
+SET LIB_PATH=%TARGET_INSTALL_ROOT%\lib
+
+echo cmake --install %BLD_PATH% --prefix %TARGET_INSTALL_ROOT% --config Debug
+cmake --install %BLD_PATH% --prefix %TARGET_INSTALL_ROOT% --config Debug
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO Unable to cmake install OpenMesh for Debug
+    exit /b 1
+)
+
+echo cmake --install %BLD_PATH% --prefix %TARGET_INSTALL_ROOT% --config Release
+cmake --install %BLD_PATH% --prefix %TARGET_INSTALL_ROOT% --config Release
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO Unable to cmake install OpenMesh for Release
+    exit /b 1
+)
+
+REM Prepare and copy the pdb files for Core
+copy /Y %BLD_PATH%\src\OpenMesh\Core\Debug\OpenMeshCored.pdb %LIB_PATH%\OpenMeshCored.pdb
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO Unable to copy OpenMeshCored.pdb
+    exit /b 1
+)
+
+echo Copying LICENSE to %TARGET_INSTALL_ROOT%
+copy /Y %SRC_PATH%\\LICENSE %TARGET_INSTALL_ROOT%\
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO Unable to copy LICENSE
+    exit /b 1
+)
+
+echo Copying VERSION to %TARGET_INSTALL_ROOT%
+copy /Y %SRC_PATH%\\VERSION %TARGET_INSTALL_ROOT%\
+IF %ERRORLEVEL% NEQ 0 (
+    ECHO Unable to copy VERSION
+    exit /b 1
+)
+
+exit /b 0
+

+ 193 - 0
package-system/OpenMesh/openmesh-o3de.patch

@@ -0,0 +1,193 @@
+diff --git a/src/OpenMesh/Core/IO/exporter/ExporterT.hh b/src/OpenMesh/Core/IO/exporter/ExporterT.hh
+index 8f9dde90..c5a50ac4 100644
+--- a/src/OpenMesh/Core/IO/exporter/ExporterT.hh
++++ b/src/OpenMesh/Core/IO/exporter/ExporterT.hh
+@@ -102,12 +102,16 @@ public:
+ 
+   bool is_point_double() const override
+   {
+-    return OMFormat::is_double(typename Mesh::Point()[0]);
++// o3de change begin
++    return OMFormat::is_double(typename Mesh::Point().GetX());
++// o3de change end
+   }
+ 
+   bool is_normal_double() const override
+   {
+-    return OMFormat::is_double(typename Mesh::Normal()[0]);
++// o3de change begin
++    return OMFormat::is_double(typename Mesh::Normal().GetX());
++// o3de change end
+   }
+ 
+   Vec3f  normal(VertexHandle _vh)   const override
+diff --git a/src/OpenMesh/Core/IO/reader/OMReader.cc b/src/OpenMesh/Core/IO/reader/OMReader.cc
+index 66d4e819..c57ba5c3 100644
+--- a/src/OpenMesh/Core/IO/reader/OMReader.cc
++++ b/src/OpenMesh/Core/IO/reader/OMReader.cc
+@@ -679,6 +679,23 @@ bool _OMReader_::read_binary_halfedge_chunk(std::istream &_is, BaseImporter &_bi
+       break;
+     }
+ 
++    // o3de change begin
++    case Chunk::Type_Texcoord:
++    {
++      assert(OMFormat::dimensions(chunk_header_) == 2);
++
++      fileOptions_ += Options::FaceTexCoord;
++
++      OpenMesh::Vec2f v2f;
++      for (size_t hidx = 0; hidx < header_.n_edges_ * 2 && !_is.eof(); ++hidx) {
++        bytes_ += restore(_is, v2f, _swap);
++        if (fileOptions_.face_has_texcoord() && _opt.face_has_texcoord())
++          _bi.set_texcoord(HalfedgeHandle(int(hidx)), v2f);
++      }
++      break;
++    }
++    // o3de change end
++
+     default:
+       // skip unknown chunk
+       omerr() << "Unknown chunk type ignored!\n";
+diff --git a/src/OpenMesh/Core/IO/writer/OMWriter.cc b/src/OpenMesh/Core/IO/writer/OMWriter.cc
+index 78dfd6d3..a4e0289b 100644
+--- a/src/OpenMesh/Core/IO/writer/OMWriter.cc
++++ b/src/OpenMesh/Core/IO/writer/OMWriter.cc
+@@ -336,6 +336,30 @@ bool _OMWriter_::write_binary(std::ostream& _os, BaseExporter& _be,
+     }
+   }
+ 
++  // o3de change begin
++  // ---------- write halfedge texture coords
++  if (_be.n_edges() && _be.n_faces() && _opt.check(Options::FaceTexCoord)) {
++
++    t = _be.texcoord(HalfedgeHandle(0));
++
++    chunk_header.name_ = false;
++    chunk_header.entity_ = OMFormat::Chunk::Entity_Halfedge;
++    chunk_header.type_ = OMFormat::Chunk::Type_Texcoord;
++    chunk_header.signed_ = OMFormat::is_signed(t[0]);
++    chunk_header.float_ = OMFormat::is_float(t[0]);
++    chunk_header.dim_ = OMFormat::dim(t);
++    chunk_header.bits_ = OMFormat::bits(t[0]);
++
++    // std::clog << chunk_header << std::endl;
++    bytes += store(_os, chunk_header, swap);
++
++    auto nHE=header.n_edges_*2;
++    for (i = 0; i < nHE; ++i)
++      bytes += vector_store(_os, _be.texcoord(HalfedgeHandle(i)), swap);
++  }
++  // o3de change end
++
++
+   // ---------- write vertex topology (outgoing halfedge)
+   if (_be.n_vertices())
+   {
+diff --git a/src/OpenMesh/Core/Mesh/PolyMeshT_impl.hh b/src/OpenMesh/Core/Mesh/PolyMeshT_impl.hh
+index dabdacfe..75c60109 100644
+--- a/src/OpenMesh/Core/Mesh/PolyMeshT_impl.hh
++++ b/src/OpenMesh/Core/Mesh/PolyMeshT_impl.hh
+@@ -103,13 +103,24 @@ PolyMeshT<Kernel>::calc_face_normal(FaceHandle _fh) const
+   >::Result());
+ }
+ 
++// o3de change begin
++template<typename Point, typename Normal>
++void newell_norm(
++    Normal& n, const Point& a, const Point& b)
++{
++    n[0] += static_cast<typename vector_traits<Normal>::value_type>(a[1] * b[2]);
++    n[1] += static_cast<typename vector_traits<Normal>::value_type>(a[2] * b[0]);
++    n[2] += static_cast<typename vector_traits<Normal>::value_type>(a[0] * b[1]);
++}
++// o3de change end
++
+ template <class Kernel>
+ typename PolyMeshT<Kernel>::Normal
+ PolyMeshT<Kernel>::calc_face_normal_impl(FaceHandle _fh, PointIs3DTag) const
+ {
+   assert(this->halfedge_handle(_fh).is_valid());
+   ConstFaceVertexIter fv_it(this->cfv_iter(_fh));
+-  
++
+   // Safeguard for 1-gons
+   if (!(++fv_it).is_valid()) return Normal(0, 0, 0);
+ 
+@@ -131,16 +142,13 @@ PolyMeshT<Kernel>::calc_face_normal_impl(FaceHandle _fh, PointIs3DTag) const
+     const Point a = this->point(*fv_it) - this->point(*fv_itn);
+     const Point b = this->point(*fv_it) + this->point(*fv_itn);
+ 
+-
+     // Due to traits, the value types of normals and points can be different.
+     // Therefore we cast them here.
+-    n[0] += static_cast<typename vector_traits<Normal>::value_type>(a[1] * b[2]);
+-    n[1] += static_cast<typename vector_traits<Normal>::value_type>(a[2] * b[0]);
+-    n[2] += static_cast<typename vector_traits<Normal>::value_type>(a[0] * b[1]);
++    newell_norm(n, a, b); // o3de change
+   }
+ 
+   const typename vector_traits<Normal>::value_type length = norm(n);
+-  
++
+   // The expression ((n *= (1.0/norm)),n) is used because the OpenSG
+   // vector class does not return self after component-wise
+   // self-multiplication with a scalar!!!
+@@ -161,7 +169,7 @@ PolyMeshT<Kernel>::calc_face_normal_impl(FaceHandle, PointIsNot3DTag) const
+   assert(false);
+ 
+   Normal normal;
+-  vectorize(normal,Scalar(0));
++  vectorize(normal, Scalar(0.0)); // o3de fix
+   return normal;
+ }
+ 
+@@ -237,7 +245,7 @@ PolyMeshT<Kernel>::calc_face_normal_impl(const Point&, const Point&, const Point
+   assert(false);
+ 
+   Normal normal;
+-  vectorize(normal,Scalar(0));
++  vectorize(normal, Scalar(0.0)); // o3de fix
+   return normal;
+ }
+ 
+@@ -249,7 +257,7 @@ PolyMeshT<Kernel>::
+ calc_face_centroid(FaceHandle _fh) const
+ {
+   Point _pt;
+-  vectorize(_pt, Scalar(0));
++  vectorize(_pt, Scalar(0.0)); // o3de fix
+   Scalar valence = 0.0;
+   for (ConstFaceVertexIter cfv_it = this->cfv_iter(_fh); cfv_it.is_valid(); ++cfv_it, valence += 1.0)
+   {
+@@ -474,7 +482,7 @@ template <class Kernel>
+ void PolyMeshT<Kernel>::
+ calc_vertex_normal_fast(VertexHandle _vh, Normal& _n) const
+ {
+-  vectorize(_n, Scalar(0));
++  vectorize(_n, Scalar(0.0)); // o3de fix
+   for (ConstVertexFaceIter vf_it = this->cvf_iter(_vh); vf_it.is_valid(); ++vf_it)
+     _n += this->normal(*vf_it);
+ }
+@@ -484,7 +492,7 @@ template <class Kernel>
+ void PolyMeshT<Kernel>::
+ calc_vertex_normal_correct(VertexHandle _vh, Normal& _n) const
+ {
+-  vectorize(_n, Scalar(0));
++  vectorize(_n, Scalar(0.0)); // o3de fix
+   ConstVertexIHalfedgeIter cvih_it = this->cvih_iter(_vh);
+   if (! cvih_it.is_valid() )
+   {//don't crash on isolated vertices
+diff --git a/src/OpenMesh/Core/Mesh/TriConnectivity.cc b/src/OpenMesh/Core/Mesh/TriConnectivity.cc
+index c0ec6d45..89331d8a 100644
+--- a/src/OpenMesh/Core/Mesh/TriConnectivity.cc
++++ b/src/OpenMesh/Core/Mesh/TriConnectivity.cc
+@@ -494,7 +494,7 @@ void TriConnectivity::split_copy(EdgeHandle _eh, VertexHandle _vh)
+   const VertexHandle v0 = to_vertex_handle(halfedge_handle(_eh, 0));
+   const VertexHandle v1 = to_vertex_handle(halfedge_handle(_eh, 1));
+ 
+-  const int nf = n_faces();
++  const auto nf = n_faces(); // o3de change
+ 
+   // Split the halfedge ( handle will be preserved)
+   split(_eh, _vh);

+ 2 - 0
package_build_list_host_darwin.json

@@ -20,6 +20,7 @@
         "libpng-1.6.37-rev1-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name iOS --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Mac --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name iOS --package-root ../../package-system --clean",
+        "OpenMesh-8.1-rev3-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/OpenMesh --platform-name Mac --package-root ../../package-system --clean",
         "OpenSSL-1.1.1b-rev2-mac": "package-system/OpenSSL/build_package_image.py",
         "OpenSSL-1.1.1b-rev2-ios": "package-system/OpenSSL/build_package_image.py --platform ios",
         "ilmbase-2.3.0-rev4-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/OpenEXR --platform-name Mac --package-root ../../package-system --clean",
@@ -62,6 +63,7 @@
         "libpng-1.6.37-rev1-ios": "package-system/libpng-ios",
         "libsamplerate-0.2.1-rev2-mac": "package-system/libsamplerate-mac",
         "libsamplerate-0.2.1-rev2-ios": "package-system/libsamplerate-ios",
+        "OpenMesh-8.1-rev3-mac": "package-system/OpenMesh-mac",
         "OpenSSL-1.1.1b-rev2-mac": "package-system/OpenSSL-mac",
         "OpenSSL-1.1.1b-rev2-ios": "package-system/OpenSSL-ios",
         "ilmbase-2.3.0-rev4-mac": "package-system/ilmbase-mac",

+ 4 - 2
package_build_list_host_linux.json

@@ -13,7 +13,8 @@
         "ISPCTexComp-36b80aa-rev1-linux": "package-system/ISPCTexComp/build_package_image.py",
         "libpng-1.6.37-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name Linux --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Linux --package-root ../../package-system --clean",
-        "mcpp-2.7.2_az.2-rev1-linux": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.2-rev1",
+        "mcpp-2.7.2_az.1-rev1-linux": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
+        "OpenMesh-8.1-rev3-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/OpenMesh --platform-name Linux --package-root ../../package-system --clean",
         "OpenSSL-1.1.1b-rev2-linux": "package-system/OpenSSL/build_package_image.py",
         "ilmbase-2.3.0-rev4-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/OpenEXR --platform-name Linux --package-root ../../package-system --clean",
         "PhysX-4.1.2.29882248-rev3-linux": "package-system/PhysX/build_package_image.py --platform-name linux",
@@ -42,7 +43,8 @@
         "ISPCTexComp-36b80aa-rev1-linux": "package-system/ISPCTexComp-linux",
         "libpng-1.6.37-rev1-linux": "package-system/libpng-linux",
         "libsamplerate-0.2.1-rev2-linux": "package-system/libsamplerate-linux",
-        "mcpp-2.7.2_az.2-rev1-linux": "package-system/mcpp-linux",
+        "mcpp-2.7.2_az.1-rev1-linux": "package-system/mcpp-linux",
+        "OpenMesh-8.1-rev3-linux": "package-system/OpenMesh-linux",
         "OpenSSL-1.1.1b-rev2-linux": "package-system/OpenSSL-linux",
         "ilmbase-2.3.0-rev4-linux": "package-system/ilmbase-linux",
         "SPIRVCross-2021.04.29-rev1-linux": "package-system/SPIRVCross-linux",

+ 73 - 74
package_build_list_host_windows.json

@@ -23,7 +23,8 @@
         "libpng-1.6.37-rev1-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name Android --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Windows --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Android --package-root ../../package-system --custom-toolchain-file ../../Scripts/cmake/Platform/Android/Toolchain_android.cmake --clean",
-        "mcpp-2.7.2_az.2-rev1-windows": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.2-rev1",
+        "mcpp-2.7.2_az.1-rev1-windows": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
+        "OpenMesh-8.1-rev3-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/OpenMesh --platform-name Windows --package-root ../../package-system --clean",
         "OpenSSL-1.1.1b-rev2-windows": "package-system/OpenSSL/build_package_image.py",
         "OpenSSL-1.1.1b-rev1-android": "package-system/OpenSSL/build_package_image.py --platform-name android",
         "ilmbase-2.3.0-rev4-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/OpenEXR --platform-name Windows --package-root ../../package-system --clean",
@@ -43,77 +44,75 @@
         "mikkelsen-1.0.0.4-windows": "package-system/mikkelsen/build_package_image.py",
         "mikkelsen-1.0.0.4-android": "package-system/mikkelsen/build_package_image.py --platform android",
         "qt-5.15.2-rev4-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Qt --platform-name Windows --package-root ../../package-system --clean",
-        "zlib-1.2.11-rev5-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Windows --package-root ../../package-system --clean",
-        "zlib-1.2.11-rev5-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Android --package-root ../../package-system --clean",
-        "lz4-1.9.3-vcpkg-rev4-windows": "package-system/lz4/build_package_image.py --platform-name windows",
-        "lz4-1.9.3-vcpkg-rev4-android": "package-system/lz4/build_package_image.py --platform-name android",
-        "tiff-4.2.0.15-rev3-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/tiff --platform-name Windows --package-root ../../package-system --clean",
-        "tiff-4.2.0.15-rev4-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/tiff --platform-name Android --package-root ../../package-system --clean"
-    },
-    "build_from_folder": {
-        "AWSGameLiftServerSDK-3.4.1-rev1-windows": "package-system/AWSGameLiftServerSDK/windows",
-        "AWSNativeSDK-1.7.167-rev4-windows": "package-system/AWSNativeSDK-windows",
-        "AWSNativeSDK-1.7.167-rev6-android": "package-system/AWSNativeSDK-android",
-        "Blast-v1.1.7_rc2-9-geb169fe-rev2-windows": "package-system/Blast-windows",
-        "Crashpad-0.8.0-rev1-windows": "package-system/Crashpad-windows",
-        "Lua-5.3.5-rev5-windows": "package-system/Lua-windows",
-        "Lua-5.3.5-rev5-android": "package-system/Lua-android",
-        "AwsIotDeviceSdkCpp-1.12.2-rev1-windows": "package-system/AwsIotDeviceSdkCpp-windows",
-        "AwsIotDeviceSdkCpp-1.12.2-rev1-android": "package-system/AwsIotDeviceSdkCpp-android",
-        "freetype-2.10.4.16-windows": "package-system/freetype-windows",
-        "freetype-2.10.4.16-android": "package-system/freetype-android",
-        "googlebenchmark-1.5.0-rev2-windows": "package-system/googlebenchmark-windows",
-        "googlebenchmark-1.5.0-rev2-android": "package-system/googlebenchmark-android",
-        "googletest-1.8.1-rev4-windows": "package-system/googletest-windows",
-        "googletest-1.8.1-rev4-android": "package-system/googletest-android",
-        "libpng-1.6.37-rev1-windows": "package-system/libpng-windows",
-        "libpng-1.6.37-rev1-android": "package-system/libpng-android",
-        "libsamplerate-0.2.1-rev2-windows": "package-system/libsamplerate-windows",
-        "libsamplerate-0.2.1-rev2-android": "package-system/libsamplerate-android",
-        "OpenSSL-1.1.1b-rev2-windows": "package-system/OpenSSL-windows",
-        "OpenSSL-1.1.1b-rev1-android": "package-system/OpenSSL-android",
-        "tiff-4.2.0.15-rev4-android": "package-system/tiff-android",
-        "tiff-4.2.0.15-rev3-windows": "package-system/tiff-windows",
-        "lux_core-2.2-rev5-multiplatform": "package-system/luxcore-multiplatform",
-        "python-3.7.10-rev2-windows": "package-system/python/win_x64/package",
-        "pybind11-2.4.3-rev1-multiplatform": "package-system/pybind11-multiplatform",
-        "alembic-1.7.11-rev3-multiplatform": "package-system/alembic-multiplatform",
-        "ilmbase-2.3.0-rev4-windows": "package-system/ilmbase-windows",
-        "assimp-5.0.1-rev11-multiplatform": "package-system/assimp-multiplatform",
-        "md5-2.0-multiplatform": "package-system/md5-multiplatform",
-        "RapidJSON-1.1.0-rev1-multiplatform": "package-system/RapidJSON-multiplatform",
-        "RapidXML-1.13-rev1-multiplatform": "package-system/RapidXML-multiplatform",
-        "PhysX-4.1.2.29882248-rev3-windows": "package-system/PhysX-windows",
-        "PhysX-4.1.2.29882248-rev3-android": "package-system/PhysX-android",
-        "NvCloth-v1.1.6-4-gd243404-pr58-rev1-windows": "package-system/NvCloth-windows",
-        "NvCloth-v1.1.6-4-gd243404-pr58-rev1-android": "package-system/NvCloth-android",
-        "mikkelsen-1.0.0.4-windows": "package-system/mikkelsen-windows",
-        "mikkelsen-1.0.0.4-android": "package-system/mikkelsen-android",
-        "OpenMesh-8.1-rsv1-windows": "package-system/OpenMesh-windows",
-        "pyside2-qt-5.15.1-rev2-windows": "package-system/pyside2-windows",
-        "d3dx12-headers-rev1-windows": "package-system/d3dx12-windows",
-        "mcpp-2.7.2_az.2-rev1-windows": "package-system/mcpp-windows",
-        "cityhash-1.1-multiplatform": "package-system/cityhash-multiplatform",
-        "civetweb-1.8-rev1-windows": "package-system/civetweb-windows",
-        "expat-2.1.0-multiplatform": "package-system/expat-multiplatform",
-        "poly2tri-7f0487a-rev1-windows": "package-system/poly2tri-windows",
-        "openimageio-2.1.16.0-rev2-windows": "package-system/openimageio-windows",
-        "v-hacd-2.3-1a49edf-rev1-windows": "package-system/v-hacd-windows",
-        "SPIRVCross-2021.04.29-rev1-windows": "package-system/SPIRVCross-windows",
-        "squish-ccr-deb557d-rev1-windows": "package-system/squish-ccr-windows",
-        "astc-encoder-3.2-rev1-windows": "package-system/astc-encoder-windows",
-        "DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-windows": "package-system/DirectXShaderCompilerDxc-windows",
-        "azslc-1.7.34-rev1-windows": "package-system/azslc-windows",
-        "zstd-1.35-multiplatform": "package-system/zstd-multiplatform",
-        "SQLite-3.32.2-rev3-multiplatform": "package-system/SQLite-multiplatform",
-        "glad-2.0.0-beta-rev2-multiplatform": "package-system/glad-multiplatform",
-        "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
-        "ISPCTexComp-36b80aa-rev1-windows": "package-system/ISPCTexComp-windows",
-        "qt-5.15.2-rev4-windows": "package-system/qt-windows",
-        "Wwise-2021.1.0.7575-rev1-multiplatform": "package-system/Wwise-multiplatform",
-        "zlib-1.2.11-rev5-android": "package-system/zlib-android",
-        "zlib-1.2.11-rev5-windows": "package-system/zlib-windows",
-        "lz4-1.9.3-vcpkg-rev4-windows": "package-system/lz4-windows",
-        "lz4-1.9.3-vcpkg-rev4-android": "package-system/lz4-android"
-    }
+        "zlib-1.2.11-rev1-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Windows --package-root ../../package-system --clean",
+        "zlib-1.2.11-rev1-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Android --package-root ../../package-system --clean"
+      },
+  "build_from_folder": {
+    "AWSGameLiftServerSDK-3.4.1-rev1-windows" : "package-system/AWSGameLiftServerSDK/windows",
+    "AWSNativeSDK-1.7.167-rev3-windows": "package-system/AWSNativeSDK-windows",
+    "AWSNativeSDK-1.7.167-rev6-android": "package-system/AWSNativeSDK-android",
+    "Blast-v1.1.7_rc2-9-geb169fe-rev1-windows": "package-system/Blast-windows",
+    "Crashpad-0.8.0-rev1-windows" : "package-system/Crashpad-windows",
+    "Lua-5.3.5-rev5-windows": "package-system/Lua-windows",
+    "Lua-5.3.5-rev5-android": "package-system/Lua-android",
+    "AwsIotDeviceSdkCpp-1.12.2-rev1-windows": "package-system/AwsIotDeviceSdkCpp-windows",
+    "AwsIotDeviceSdkCpp-1.12.2-rev1-android": "package-system/AwsIotDeviceSdkCpp-android",
+    "etc2comp-9cd0f9cae0-rev1-windows": "package-system/etc2comp-windows",
+    "freetype-2.10.4.9-windows": "package-system/FreeType2-windows",
+    "freetype-2.10.4.9-android": "package-system/FreeType2-android",
+    "googlebenchmark-1.5.0-rev2-windows": "package-system/googlebenchmark-windows",
+    "googlebenchmark-1.5.0-rev2-android": "package-system/googlebenchmark-android",
+    "googletest-1.8.1-rev4-windows": "package-system/googletest-windows",
+    "googletest-1.8.1-rev4-android": "package-system/googletest-android",
+    "libsamplerate-0.2.1-rev2-windows": "package-system/libsamplerate-windows",
+    "libsamplerate-0.2.1-rev2-android": "package-system/libsamplerate-android",
+    "OpenMesh-8.1-rev3-windows": "package-system/OpenMesh-windows",
+    "OpenSSL-1.1.1b-rev2-windows": "package-system/OpenSSL-windows",
+    "OpenSSL-1.1.1b-rev1-android": "package-system/OpenSSL-android",
+    "tiff-4.2.0.14-android": "package-system/tiff-android",
+    "tiff-4.2.0.15-linux": "package-system/tiff-linux",
+    "tiff-4.2.0.15-mac-ios": "package-system/tiff-mac-ios",
+    "tiff-4.2.0.14-windows": "package-system/tiff-windows",
+    "lux_core-2.2-rev5-multiplatform": "package-system/luxcore-multiplatform",
+    "python-3.7.10-rev1-windows": "package-system/python/win_x64/package",
+    "pybind11-2.4.3-rev1-multiplatform": "package-system/pybind11-multiplatform",
+    "alembic-1.7.11-rev3-multiplatform": "package-system/alembic-multiplatform",
+    "hdf5-1.0.11-rev2-multiplatform": "package-system/hdf5-multiplatform",
+    "ilmbase-2.3.0-rev4-multiplatform": "package-system/ilmbase-multiplatform",
+    "assimp-5.0.1-rev11-multiplatform": "package-system/assimp-multiplatform",
+    "squish-ccr-20150601-rev3-multiplatform": "package-system/squish-ccr-multiplatform",
+    "md5-2.0-multiplatform": "package-system/md5-multiplatform",
+    "RapidJSON-1.1.0-multiplatform": "package-system/RapidJSON-multiplatform",
+    "RapidXML-1.13-multiplatform": "package-system/RapidXML-multiplatform",
+    "PhysX-4.1.2.29882248-rev3-windows" : "package-system/PhysX-windows",
+    "PhysX-4.1.2.29882248-rev3-android" : "package-system/PhysX-android",
+    "NvCloth-v1.1.6-4-gd243404-pr58-rev1-windows": "package-system/NvCloth-windows",
+    "NvCloth-v1.1.6-4-gd243404-pr58-rev1-android": "package-system/NvCloth-android",
+    "mikkelsen-1.0.0.4-windows": "package-system/mikkelsen-windows",
+    "mikkelsen-1.0.0.4-android": "package-system/mikkelsen-android",
+    "OpenMesh-8.1-rsv1-windows": "package-system/OpenMesh-windows",
+    "pyside2-qt-5.15.1-rev2-windows": "package-system/pyside2-windows",
+    "d3dx12-headers-rev1-windows": "package-system/d3dx12-windows",
+    "mcpp-2.7.2_az.1-rev1-windows": "package-system/mcpp-windows",
+    "cityhash-1.1-multiplatform": "package-system/cityhash-multiplatform",
+    "civetweb-1.8-rev1-windows": "package-system/civetweb-windows",
+    "lz4-r128-multiplatform": "package-system/lz4-multiplatform",
+    "expat-2.1.0-multiplatform": "package-system/expat-multiplatform",
+    "poly2tri-7f0487a-rev1-windows": "package-system/poly2tri-windows",
+    "openimageio-2.1.16.0-rev2-windows": "package-system/openimageio-windows",
+    "v-hacd-2.3-1a49edf-rev1-windows": "package-system/v-hacd-windows",
+    "SPIRVCross-2021.04.29-rev1-windows": "package-system/SPIRVCross-windows",
+    "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-windows": "package-system/DirectXShaderCompilerDxc-windows",
+    "azslc-1.7.23-rev2-windows": "package-system/azslc-windows",
+    "zstd-1.35-multiplatform": "package-system/zstd-multiplatform",
+    "SQLite-3.32.2-rev3-multiplatform": "package-system/SQLite-multiplatform",
+    "glad-2.0.0-beta-rev2-multiplatform": "package-system/glad-multiplatform",
+    "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
+    "PVRTexTool-4.24.0-rev4-multiplatform": "package-system/PVRTexTool-multiplatform",
+    "ISPCTexComp-2021.3-rev1-windows": "package-system/ISPCTexComp-windows",
+    "qt-5.15.2-rev4-windows": "package-system/qt-windows",
+    "Wwise-2021.1.0.7575-rev1-multiplatform": "package-system/Wwise-multiplatform",
+    "zlib-1.2.11-rev1-android": "package-system/zlib-android",
+    "zlib-1.2.11-rev1-windows": "package-system/zlib-windows"
+  }
 }