From 15f07d14b5f048dc355536cbdf5cf9c10291b13b Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 10 Feb 2022 13:57:59 -0500 Subject: Fix MacOSX build issues (#2124) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes. Added compiler crash with generic defined in a function. Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint. * Add comment about crash. * Disable crashing test. * Fixes to make compile on OSX. * Add github build for OSX. * Make premake generator a utility. * Fix osx compilation issue. * More fixes for OSX build. * OSX fix due to ambiguity around size_t and integer types. * Disable xlib on build on osx. * Use 'prebuildcommands' to make prebuild make utility projects do something. * Small fixes for premake so utility works on linux/osx. * Another hack to try and make generators run when 'utility' * Fix typo in macos.yml. * Revert premake to old style, and disable stdlib embedding on OSX. --- examples/model-viewer/main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/model-viewer/main.cpp b/examples/model-viewer/main.cpp index 3b278fede..121e3fc4b 100644 --- a/examples/model-viewer/main.cpp +++ b/examples/model-viewer/main.cpp @@ -314,7 +314,7 @@ struct DirectionalLight : Light static const char* getTypeName() { return "DirectionalLight"; } - virtual void writeTo(ShaderCursor const& cursor) + virtual void writeTo(ShaderCursor const& cursor) override { cursor["direction"].setData(&direction, sizeof(direction)); cursor["intensity"].setData(&intensity, sizeof(intensity)); @@ -333,7 +333,7 @@ struct PointLight : Light static const char* getTypeName() { return "PointLight"; } - virtual void writeTo(ShaderCursor const& cursor) + virtual void writeTo(ShaderCursor const& cursor) override { cursor["position"].setData(&position, sizeof(position)); cursor["intensity"].setData(&intensity, sizeof(intensity)); @@ -594,7 +594,7 @@ struct LightEnv : public RefObject // The more interesting case is when we have a `LightArray`, // in which case we need to fill in the first field (the light count)... // - uint32_t lightCount = uint32_t(lightTypeArray->lights.size()); + int32_t lightCount = int32_t(lightTypeArray->lights.size()); lightTypeCursor["count"].setData(&lightCount, sizeof(lightCount)); // // ... followed by an array of values of type `L` in the second field. @@ -603,7 +603,7 @@ struct LightEnv : public RefObject // not access the entries past that point. // auto arrayCursor = lightTypeCursor["lights"]; - for (size_t ii = 0; ii < lightCount; ++ii) + for (int32_t ii = 0; ii < lightCount; ++ii) { lightTypeArray->lights[ii]->writeTo(arrayCursor[ii]); } -- cgit v1.2.3