From 2fc8c946a78e79b2cd77a0744402b496b12667b3 Mon Sep 17 00:00:00 2001 From: Gordon McCann Date: Fri, 31 Dec 2021 14:48:18 -0500 Subject: [PATCH] Added beginnings of analysis stack --- .../NavProject.xcodeproj/project.pbxproj | 318 ++++++++ .../xcschemes/xcschememanagement.plist | 14 + .../contents.xcworkspacedata | 19 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 51036 bytes Navigator/Navigator.xcodeproj/project.pbxproj | 683 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 14 + Navigator/src/Navigator/ImGui/ImGuiBuild.cpp | 3 +- Navigator/src/Navigator/ImGui/ImGuiLayer.cpp | 2 +- Navigator/src/Navigator/NavCore.h | 5 +- .../src/Navigator/Physics/AnalysisStack.cpp | 36 + .../src/Navigator/Physics/AnalysisStack.h | 35 + .../Navigator/Physics/PhysicsEventBuilder.cpp | 11 +- .../Navigator/Physics/PhysicsEventBuilder.h | 11 +- .../glad/GLAD.xcodeproj/project.pbxproj | 283 ++++++++ .../xcschemes/xcschememanagement.plist | 14 + Navigator/vendor/glad/premake5.lua | 2 + premake5.lua | 34 +- 18 files changed, 1464 insertions(+), 28 deletions(-) create mode 100644 NavProject/NavProject.xcodeproj/project.pbxproj create mode 100644 NavProject/NavProject.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Navigator.xcworkspace/contents.xcworkspacedata create mode 100644 Navigator.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Navigator.xcworkspace/xcuserdata/gordonmccann.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Navigator/Navigator.xcodeproj/project.pbxproj create mode 100644 Navigator/Navigator.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Navigator/src/Navigator/Physics/AnalysisStack.cpp create mode 100644 Navigator/src/Navigator/Physics/AnalysisStack.h create mode 100644 Navigator/vendor/glad/GLAD.xcodeproj/project.pbxproj create mode 100644 Navigator/vendor/glad/GLAD.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/NavProject/NavProject.xcodeproj/project.pbxproj b/NavProject/NavProject.xcodeproj/project.pbxproj new file mode 100644 index 0000000..f9a3e19 --- /dev/null +++ b/NavProject/NavProject.xcodeproj/project.pbxproj @@ -0,0 +1,318 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 8FDD36BDC9A7ED6F7F033CFD /* libNavigator.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9596FA655A4C50D70EBAF8A5 /* libNavigator.dylib */; }; + B68AC1CC0D182C3EE591400C /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E21F5234E590246666FCC874 /* main.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 7358306DA2E9FF5F7DF73EAD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E6C1EE3B5B1C332DD8FFBC7B /* Navigator.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 794B5D0DCFD8C77FA851DB4D; + remoteInfo = libNavigator.dylib; + }; + C592A306F52471F8D031B146 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E6C1EE3B5B1C332DD8FFBC7B /* Navigator.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 72654753BAD62B85FF74FD93; + remoteInfo = libNavigator.dylib; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 4FE76385C1727BF77073A1C5 /* NavProject */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = NavProject; sourceTree = BUILT_PRODUCTS_DIR; }; + E21F5234E590246666FCC874 /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; + E6C1EE3B5B1C332DD8FFBC7B /* Navigator.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Navigator.xcodeproj; path = ../Navigator/Navigator.xcodeproj; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2FB25E753C6F0DE7B1597CB5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8FDD36BDC9A7ED6F7F033CFD /* libNavigator.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 31301F7C1D212B2E6F58C5BC /* NavProject */ = { + isa = PBXGroup; + children = ( + E21F5234E590246666FCC874 /* main.cpp */, + A6C936B49B3FADE6EA134CF4 /* Products */, + 9D968EAA920D05DCE0E0A4EA /* Projects */, + ); + name = NavProject; + sourceTree = ""; + }; + 9D968EAA920D05DCE0E0A4EA /* Projects */ = { + isa = PBXGroup; + children = ( + E6C1EE3B5B1C332DD8FFBC7B /* Navigator.xcodeproj */, + ); + name = Projects; + sourceTree = ""; + }; + A6C936B49B3FADE6EA134CF4 /* Products */ = { + isa = PBXGroup; + children = ( + 4FE76385C1727BF77073A1C5 /* NavProject */, + ); + name = Products; + sourceTree = ""; + }; + DA3CE40D02779CBFEA132A4D /* Products */ = { + isa = PBXGroup; + children = ( + 9596FA655A4C50D70EBAF8A5 /* libNavigator.dylib */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 59DE5ECB5D4F30FDDEBBD50B /* NavProject */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEDA6D42AAA56469F94C514 /* Build configuration list for PBXNativeTarget "NavProject" */; + buildPhases = ( + 9F99DF15AC568E872140FD55 /* Resources */, + 0946F86C1603A7DE8AEE16AC /* Sources */, + 2FB25E753C6F0DE7B1597CB5 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + C7F52116F02FD9C8D7CB6756 /* PBXTargetDependency */, + ); + name = NavProject; + productInstallPath = "$(HOME)/bin"; + productName = NavProject; + productReference = 4FE76385C1727BF77073A1C5 /* NavProject */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1250; + }; + buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "NavProject" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + en, + Base, + ); + mainGroup = 31301F7C1D212B2E6F58C5BC /* NavProject */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = DA3CE40D02779CBFEA132A4D /* Products */; + ProjectRef = E6C1EE3B5B1C332DD8FFBC7B /* Navigator.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 59DE5ECB5D4F30FDDEBBD50B /* NavProject */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 9596FA655A4C50D70EBAF8A5 /* libNavigator.dylib */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.dylib"; + path = libNavigator.dylib; + remoteRef = 7358306DA2E9FF5F7DF73EAD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 9F99DF15AC568E872140FD55 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 0946F86C1603A7DE8AEE16AC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B68AC1CC0D182C3EE591400C /* main.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + C7F52116F02FD9C8D7CB6756 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libNavigator.dylib; + targetProxy = C592A306F52471F8D031B146 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 0C0E999A629C040C3B1517DA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "-"; + CONFIGURATION_BUILD_DIR = "../bin/Debug-macosx-x86_64/NavProject"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_DYNAMIC_NO_PIC = NO; + INSTALL_PATH = /usr/local/bin; + MACOSX_DEPLOYMENT_TARGET = latest; + PRODUCT_NAME = NavProject; + }; + name = Debug; + }; + 2A03A4859B8EBCF74A8FE2C5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + CONFIGURATION_TEMP_DIR = "$(OBJROOT)"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = NAV_RELEASE; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = "../bin-int/Release-macosx-x86_64/NavProject"; + ONLY_ACTIVE_ARCH = NO; + SYMROOT = "../bin/Release-macosx-x86_64/NavProject"; + SYSTEM_HEADER_SEARCH_PATHS = "../Navigator/vendor/spdlog/include ../Navigator/vendor/glfw/include ../Navigator/vendor/imgui ../Navigator/vendor/glad/include ../Navigator/vendor/implot $(inherited)"; + USER_HEADER_SEARCH_PATHS = "../Navigator/src ../Navigator/src/Navigator ../Navigator/vendor/spdlog/include ../Navigator/vendor/implot ../Navigator/vendor"; + }; + name = Release; + }; + 7AFEBB8BA9A50F7D02E669CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + CONFIGURATION_TEMP_DIR = "$(OBJROOT)"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = NAV_DEBUG; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = "../bin-int/Debug-macosx-x86_64/NavProject"; + ONLY_ACTIVE_ARCH = YES; + SYMROOT = "../bin/Debug-macosx-x86_64/NavProject"; + SYSTEM_HEADER_SEARCH_PATHS = "../Navigator/vendor/spdlog/include ../Navigator/vendor/glfw/include ../Navigator/vendor/imgui ../Navigator/vendor/glad/include ../Navigator/vendor/implot $(inherited)"; + USER_HEADER_SEARCH_PATHS = "../Navigator/src ../Navigator/src/Navigator ../Navigator/vendor/spdlog/include ../Navigator/vendor/implot ../Navigator/vendor"; + }; + name = Debug; + }; + 90DE8314C07052069B7D9154 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "-"; + CONFIGURATION_BUILD_DIR = "../bin/Release-macosx-x86_64/NavProject"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_DYNAMIC_NO_PIC = NO; + INSTALL_PATH = /usr/local/bin; + MACOSX_DEPLOYMENT_TARGET = latest; + PRODUCT_NAME = NavProject; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "NavProject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7AFEBB8BA9A50F7D02E669CB /* Debug */, + 2A03A4859B8EBCF74A8FE2C5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 1DEDA6D42AAA56469F94C514 /* Build configuration list for PBXNativeTarget "NavProject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0C0E999A629C040C3B1517DA /* Debug */, + 90DE8314C07052069B7D9154 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/NavProject/NavProject.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist b/NavProject/NavProject.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..4fdb146 --- /dev/null +++ b/NavProject/NavProject.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + NavProject.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Navigator.xcworkspace/contents.xcworkspacedata b/Navigator.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..11bb031 --- /dev/null +++ b/Navigator.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Navigator.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Navigator.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Navigator.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Navigator.xcworkspace/xcuserdata/gordonmccann.xcuserdatad/UserInterfaceState.xcuserstate b/Navigator.xcworkspace/xcuserdata/gordonmccann.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..ce982e340d21274ce3df0a8a4aac00b84e3d7dd2 GIT binary patch literal 51036 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 hy$QSe1JXzJ>n$#8U2YVcH$P;g@ZtY=!(1H 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"; }; + 0580CF270523B2593F786567 /* AnalysisStage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnalysisStage.h; path = src/Navigator/Physics/AnalysisStage.h; sourceTree = ""; }; + 0A138CADA260725FD0A772ED /* CompassRun.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompassRun.h; path = src/Navigator/Physics/CompassRun.h; sourceTree = ""; }; + 0A501CF1E96D3723C5769331 /* GraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphicsContext.h; path = src/Navigator/GraphicsContext.h; sourceTree = ""; }; + 0BACC980CF188B320DBC2FC0 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + 14816FDCF8C8780E7CB5A61C /* GLFW.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GLFW.xcodeproj; path = vendor/glfw/GLFW.xcodeproj; sourceTree = SOURCE_ROOT; }; + 19352E0A6698243CDCB7244A /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 21EE32FF8F16417190A9313F /* KeyEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyEvent.h; path = src/Navigator/Events/KeyEvent.h; sourceTree = ""; }; + 2243D9633D10481540E0DFA3 /* CompassRun.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CompassRun.cpp; path = src/Navigator/Physics/CompassRun.cpp; sourceTree = ""; }; + 22849F7501A1B9A7DDAB15B5 /* ImGuiLayer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ImGuiLayer.cpp; path = src/Navigator/ImGui/ImGuiLayer.cpp; sourceTree = ""; }; + 2969CB2D0DB0D35F919E016D /* Application.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Application.h; path = src/Navigator/Application.h; sourceTree = ""; }; + 2C269E230B43B855E74D1463 /* CompassFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompassFile.h; path = src/Navigator/Physics/CompassFile.h; sourceTree = ""; }; + 2E239DC32222E735A70DFC03 /* RendererAPI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RendererAPI.cpp; path = src/Navigator/Renderer/RendererAPI.cpp; sourceTree = ""; }; + 2F511FBD3F364BEF2BA9D5FD /* AnalysisStage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AnalysisStage.cpp; path = src/Navigator/Physics/AnalysisStage.cpp; sourceTree = ""; }; + 31F6FB2D1114155FED1D716D /* OpenGLWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenGLWindow.h; path = src/Platform/OpenGL/OpenGLWindow.h; sourceTree = ""; }; + 338EC755F6FA8907359E2D95 /* Window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Window.h; path = src/Navigator/Window.h; sourceTree = ""; }; + 4D1B476532B24E97F5F75DA5 /* PhysicsEventBuilder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsEventBuilder.cpp; path = src/Navigator/Physics/PhysicsEventBuilder.cpp; sourceTree = ""; }; + 4F425CBF12AE1E715151C2FF /* implot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = implot.h; path = vendor/implot/implot.h; sourceTree = ""; }; + 539FDDE9479F275BCC8A3C29 /* RenderCommand.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RenderCommand.h; path = src/Navigator/Renderer/RenderCommand.h; sourceTree = ""; }; + 5B9901B12778E20B004FD168 /* AnalysisStack.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AnalysisStack.cpp; path = src/Navigator/Physics/AnalysisStack.cpp; sourceTree = ""; }; + 5B9901B32778E28C004FD168 /* AnalysisStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnalysisStack.h; path = src/Navigator/Physics/AnalysisStack.h; sourceTree = ""; }; + 5BCAEEEB72DD8A1D62F9852B /* navpch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = navpch.h; path = src/navpch.h; sourceTree = ""; }; + 5C8D8DF73BAAA82917B40437 /* implot_internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = implot_internal.h; path = vendor/implot/implot_internal.h; sourceTree = ""; }; + 5D0477F58EFDC2A708DCFE35 /* implot.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = implot.cpp; path = vendor/implot/implot.cpp; sourceTree = ""; }; + 5EDF908DF72C763F257376CD /* CompassHit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompassHit.h; path = src/Navigator/Physics/CompassHit.h; sourceTree = ""; }; + 606C44802E8F9832B59DEAC0 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; + 6511A78FADB0E5C1D0DC9DCF /* PhysicsEventBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PhysicsEventBuilder.h; path = src/Navigator/Physics/PhysicsEventBuilder.h; sourceTree = ""; }; + 672568FF2DB360719BB5873F /* MouseEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MouseEvent.h; path = src/Navigator/Events/MouseEvent.h; sourceTree = ""; }; + 6E027AAD0BE37B5FE361C0ED /* PhysicsHitSort.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsHitSort.cpp; path = src/Navigator/Physics/PhysicsHitSort.cpp; sourceTree = ""; }; + 794B5D0DCFD8C77FA851DB4D /* libNavigator.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libNavigator.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + 7A6F6B8B4892BF3DCFA111CB /* LayerStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LayerStack.h; path = src/Navigator/LayerStack.h; sourceTree = ""; }; + 8505BA7984A89DABBEFD50B9 /* CompassFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CompassFile.cpp; path = src/Navigator/Physics/CompassFile.cpp; sourceTree = ""; }; + 8C20E29BBE1A2D4D37F968DB /* Logger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Logger.cpp; path = src/Navigator/Logger.cpp; sourceTree = ""; }; + 8D6BC6AA50D7885C8F7B2CEA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 956D9C27B03A0AD9B40AA267 /* OpenGLContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenGLContext.h; path = src/Platform/OpenGL/OpenGLContext.h; sourceTree = ""; }; + 9B6CA621E3DD8A53287C5C61 /* navpch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = navpch.cpp; path = src/navpch.cpp; sourceTree = ""; }; + 9E13C62AEB76BC5C6195BC6A /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + A15A9C8539A7823767EE82C5 /* ShiftMap.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ShiftMap.cpp; path = src/Navigator/Physics/ShiftMap.cpp; sourceTree = ""; }; + A209C463A1ACA795DC015AA3 /* OpenGLWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLWindow.cpp; path = src/Platform/OpenGL/OpenGLWindow.cpp; sourceTree = ""; }; + A340E0B717295869397706F7 /* PhysicsHitSort.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PhysicsHitSort.h; path = src/Navigator/Physics/PhysicsHitSort.h; sourceTree = ""; }; + A870141FB4FAC6912FDF925F /* RenderCommand.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RenderCommand.cpp; path = src/Navigator/Renderer/RenderCommand.cpp; sourceTree = ""; }; + AA4D82B48E948AE61281B8F4 /* GLAD.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GLAD.xcodeproj; path = vendor/glad/GLAD.xcodeproj; sourceTree = SOURCE_ROOT; }; + B08421BFF497F2F1E86977FF /* ImGuiLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ImGuiLayer.h; path = src/Navigator/ImGui/ImGuiLayer.h; sourceTree = ""; }; + B9AC4E7751F93429804034B7 /* implot_items.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = implot_items.cpp; path = vendor/implot/implot_items.cpp; sourceTree = ""; }; + BAECECCD7DAD4D3FDAE22B0D /* RendererAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RendererAPI.h; path = src/Navigator/Renderer/RendererAPI.h; sourceTree = ""; }; + BC2B69CFCE5546810246300F /* ShiftMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ShiftMap.h; path = src/Navigator/Physics/ShiftMap.h; sourceTree = ""; }; + C92D21D9209294CBD2A0B019 /* Renderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Renderer.h; path = src/Navigator/Renderer/Renderer.h; sourceTree = ""; }; + CEF8225BAE153C8D8A1E989B /* ImGuiBuild.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ImGuiBuild.cpp; path = src/Navigator/ImGui/ImGuiBuild.cpp; sourceTree = ""; }; + D4D8E8FF72B9E9B14A382F3F /* OpenGLRendererAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenGLRendererAPI.h; path = src/Platform/OpenGL/OpenGLRendererAPI.h; sourceTree = ""; }; + D8034E7D4BEBC62F6E3974BD /* OpenGLContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLContext.cpp; path = src/Platform/OpenGL/OpenGLContext.cpp; sourceTree = ""; }; + D8E260F5264557279C645735 /* Layer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Layer.cpp; path = src/Navigator/Layer.cpp; sourceTree = ""; }; + DA35718102702A33EA0BB7C1 /* Navigator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Navigator.h; path = src/Navigator.h; sourceTree = ""; }; + DB43A66128A69C939EC59CA1 /* NavCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NavCore.h; path = src/Navigator/NavCore.h; sourceTree = ""; }; + E19C4EDD3901C1CFEB0FDD1D /* ImGui.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ImGui.xcodeproj; path = vendor/imgui/ImGui.xcodeproj; sourceTree = SOURCE_ROOT; }; + E50363AF522B722153BE61EF /* AppEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppEvent.h; path = src/Navigator/Events/AppEvent.h; sourceTree = ""; }; + E600C6832A1497B51DE61CC3 /* Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Application.cpp; path = src/Navigator/Application.cpp; sourceTree = ""; }; + EA4BD5DD2E5FA70F22312C1D /* implot_demo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = implot_demo.cpp; path = vendor/implot/implot_demo.cpp; sourceTree = ""; }; + EAC6031F0C91B0514946D95F /* Layer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Layer.h; path = src/Navigator/Layer.h; sourceTree = ""; }; + EC7C5FED5D9F00DF1365AE2D /* Event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Event.h; path = src/Navigator/Events/Event.h; sourceTree = ""; }; + EDFAC373B0BB23E50DF001B3 /* PhysicsEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PhysicsEvent.h; path = src/Navigator/Events/PhysicsEvent.h; sourceTree = ""; }; + F9F00EC10C19EB73400AD501 /* LayerStack.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LayerStack.cpp; path = src/Navigator/LayerStack.cpp; sourceTree = ""; }; + FE658725C1D148D70074ED65 /* Logger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Logger.h; path = src/Navigator/Logger.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E046D3FDD9ACD56FCD48323D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F8E8DBA28B76A594F44F49E2 /* Cocoa.framework in Frameworks */, + 9223EFD8340D8BCA2B349E18 /* CoreVideo.framework in Frameworks */, + 713678D803C442CA6C9CE718 /* IOKit.framework in Frameworks */, + 840EA602F136B474F2C9A442 /* OpenGL.framework in Frameworks */, + 925A5022FF825E9401154E62 /* Carbon.framework in Frameworks */, + 2CD491F9126B992BD5B0A839 /* libGLFW.a in Frameworks */, + 987713197E0E1A4B41532959 /* libGLAD.a in Frameworks */, + EA0614A5455164D733834AE5 /* libImGui.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 014014D2FAA61644EE417312 /* Products */ = { + isa = PBXGroup; + children = ( + E36F50613D70675304B75EA1 /* libGLFW.a */, + ); + name = Products; + sourceTree = ""; + }; + 1DF602E4C1418C16DC125924 /* vendor */ = { + isa = PBXGroup; + children = ( + 6109DB6F61BCD861D59EA9AF /* implot */, + ); + name = vendor; + sourceTree = ""; + }; + 1F36FB4BA27C58BDCBC3D98B /* Navigator */ = { + isa = PBXGroup; + children = ( + 5775D4184366DFCA959E7A58 /* src */, + 1DF602E4C1418C16DC125924 /* vendor */, + BBF76781A7E87333FA200DC1 /* Frameworks */, + A6C936B49B3FADE6EA134CF4 /* Products */, + 9D968EAA920D05DCE0E0A4EA /* Projects */, + ); + name = Navigator; + sourceTree = ""; + }; + 204F551A19B5568C0D50B35A /* Products */ = { + isa = PBXGroup; + children = ( + 4FD2A081A9D3B773711AAEC1 /* libGLAD.a */, + ); + name = Products; + sourceTree = ""; + }; + 3684523D5CAA81EFC3B1787D /* Products */ = { + isa = PBXGroup; + children = ( + B70ACDADC8C20D9F3E2FFBED /* libImGui.a */, + ); + name = Products; + sourceTree = ""; + }; + 3E940E9564BA3E47CBC134D5 /* Navigator */ = { + isa = PBXGroup; + children = ( + E600C6832A1497B51DE61CC3 /* Application.cpp */, + 2969CB2D0DB0D35F919E016D /* Application.h */, + 749EC6E39CD97F9584750D23 /* Events */, + 0A501CF1E96D3723C5769331 /* GraphicsContext.h */, + BBB120AF042204E148C0D6EF /* ImGui */, + D8E260F5264557279C645735 /* Layer.cpp */, + EAC6031F0C91B0514946D95F /* Layer.h */, + F9F00EC10C19EB73400AD501 /* LayerStack.cpp */, + 7A6F6B8B4892BF3DCFA111CB /* LayerStack.h */, + 8C20E29BBE1A2D4D37F968DB /* Logger.cpp */, + FE658725C1D148D70074ED65 /* Logger.h */, + DB43A66128A69C939EC59CA1 /* NavCore.h */, + F79B27BF1966D4F1561BFDFF /* Physics */, + 4AA54EE70E1110994CB4B527 /* Renderer */, + 338EC755F6FA8907359E2D95 /* Window.h */, + ); + name = Navigator; + sourceTree = ""; + }; + 4AA54EE70E1110994CB4B527 /* Renderer */ = { + isa = PBXGroup; + children = ( + A870141FB4FAC6912FDF925F /* RenderCommand.cpp */, + 539FDDE9479F275BCC8A3C29 /* RenderCommand.h */, + C92D21D9209294CBD2A0B019 /* Renderer.h */, + 2E239DC32222E735A70DFC03 /* RendererAPI.cpp */, + BAECECCD7DAD4D3FDAE22B0D /* RendererAPI.h */, + ); + name = Renderer; + sourceTree = ""; + }; + 5775D4184366DFCA959E7A58 /* src */ = { + isa = PBXGroup; + children = ( + 3E940E9564BA3E47CBC134D5 /* Navigator */, + DA35718102702A33EA0BB7C1 /* Navigator.h */, + A19930C9B8ABCBFBA8C7C709 /* Platform */, + 9B6CA621E3DD8A53287C5C61 /* navpch.cpp */, + 5BCAEEEB72DD8A1D62F9852B /* navpch.h */, + ); + name = src; + sourceTree = ""; + }; + 6109DB6F61BCD861D59EA9AF /* implot */ = { + isa = PBXGroup; + children = ( + 5D0477F58EFDC2A708DCFE35 /* implot.cpp */, + 4F425CBF12AE1E715151C2FF /* implot.h */, + EA4BD5DD2E5FA70F22312C1D /* implot_demo.cpp */, + 5C8D8DF73BAAA82917B40437 /* implot_internal.h */, + B9AC4E7751F93429804034B7 /* implot_items.cpp */, + ); + name = implot; + sourceTree = ""; + }; + 749EC6E39CD97F9584750D23 /* Events */ = { + isa = PBXGroup; + children = ( + E50363AF522B722153BE61EF /* AppEvent.h */, + EC7C5FED5D9F00DF1365AE2D /* Event.h */, + 21EE32FF8F16417190A9313F /* KeyEvent.h */, + 672568FF2DB360719BB5873F /* MouseEvent.h */, + EDFAC373B0BB23E50DF001B3 /* PhysicsEvent.h */, + ); + name = Events; + sourceTree = ""; + }; + 7772E77DCE0051EFA67965BD /* OpenGL */ = { + isa = PBXGroup; + children = ( + D8034E7D4BEBC62F6E3974BD /* OpenGLContext.cpp */, + 956D9C27B03A0AD9B40AA267 /* OpenGLContext.h */, + 00DBA1D5B3D1AB8704F40815 /* OpenGLRendererAPI.cpp */, + D4D8E8FF72B9E9B14A382F3F /* OpenGLRendererAPI.h */, + A209C463A1ACA795DC015AA3 /* OpenGLWindow.cpp */, + 31F6FB2D1114155FED1D716D /* OpenGLWindow.h */, + ); + name = OpenGL; + sourceTree = ""; + }; + 9D968EAA920D05DCE0E0A4EA /* Projects */ = { + isa = PBXGroup; + children = ( + 14816FDCF8C8780E7CB5A61C /* GLFW.xcodeproj */, + AA4D82B48E948AE61281B8F4 /* GLAD.xcodeproj */, + E19C4EDD3901C1CFEB0FDD1D /* ImGui.xcodeproj */, + ); + name = Projects; + sourceTree = ""; + }; + A19930C9B8ABCBFBA8C7C709 /* Platform */ = { + isa = PBXGroup; + children = ( + 7772E77DCE0051EFA67965BD /* OpenGL */, + ); + name = Platform; + sourceTree = ""; + }; + A6C936B49B3FADE6EA134CF4 /* Products */ = { + isa = PBXGroup; + children = ( + 794B5D0DCFD8C77FA851DB4D /* libNavigator.dylib */, + ); + name = Products; + sourceTree = ""; + }; + BBB120AF042204E148C0D6EF /* ImGui */ = { + isa = PBXGroup; + children = ( + CEF8225BAE153C8D8A1E989B /* ImGuiBuild.cpp */, + 22849F7501A1B9A7DDAB15B5 /* ImGuiLayer.cpp */, + B08421BFF497F2F1E86977FF /* ImGuiLayer.h */, + ); + name = ImGui; + sourceTree = ""; + }; + BBF76781A7E87333FA200DC1 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8D6BC6AA50D7885C8F7B2CEA /* Cocoa.framework */, + 606C44802E8F9832B59DEAC0 /* CoreVideo.framework */, + 0BACC980CF188B320DBC2FC0 /* IOKit.framework */, + 19352E0A6698243CDCB7244A /* OpenGL.framework */, + 9E13C62AEB76BC5C6195BC6A /* Carbon.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + F79B27BF1966D4F1561BFDFF /* Physics */ = { + isa = PBXGroup; + children = ( + 5B9901B32778E28C004FD168 /* AnalysisStack.h */, + 2F511FBD3F364BEF2BA9D5FD /* AnalysisStage.cpp */, + 0580CF270523B2593F786567 /* AnalysisStage.h */, + 8505BA7984A89DABBEFD50B9 /* CompassFile.cpp */, + 2C269E230B43B855E74D1463 /* CompassFile.h */, + 5EDF908DF72C763F257376CD /* CompassHit.h */, + 2243D9633D10481540E0DFA3 /* CompassRun.cpp */, + 0A138CADA260725FD0A772ED /* CompassRun.h */, + 4D1B476532B24E97F5F75DA5 /* PhysicsEventBuilder.cpp */, + 6511A78FADB0E5C1D0DC9DCF /* PhysicsEventBuilder.h */, + 6E027AAD0BE37B5FE361C0ED /* PhysicsHitSort.cpp */, + A340E0B717295869397706F7 /* PhysicsHitSort.h */, + A15A9C8539A7823767EE82C5 /* ShiftMap.cpp */, + BC2B69CFCE5546810246300F /* ShiftMap.h */, + 5B9901B12778E20B004FD168 /* AnalysisStack.cpp */, + ); + name = Physics; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 72654753BAD62B85FF74FD93 /* Navigator */ = { + isa = PBXNativeTarget; + buildConfigurationList = CE821C5CC7E81DCEBB837A9C /* Build configuration list for PBXNativeTarget "Navigator" */; + buildPhases = ( + 502E549D4994560F3D2FB2DD /* Resources */, + B9DB6DF4B3416F66A6DCCC34 /* Sources */, + E046D3FDD9ACD56FCD48323D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + EEF851DBE85E534DDBF9B01B /* PBXTargetDependency */, + 0E079223076D9395FB08F063 /* PBXTargetDependency */, + 243C8F464A62BEF8B169B586 /* PBXTargetDependency */, + ); + name = Navigator; + productName = Navigator; + productReference = 794B5D0DCFD8C77FA851DB4D /* libNavigator.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1250; + }; + buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "Navigator" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + en, + Base, + ); + mainGroup = 1F36FB4BA27C58BDCBC3D98B /* Navigator */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 204F551A19B5568C0D50B35A /* Products */; + ProjectRef = AA4D82B48E948AE61281B8F4 /* GLAD.xcodeproj */; + }, + { + ProductGroup = 014014D2FAA61644EE417312 /* Products */; + ProjectRef = 14816FDCF8C8780E7CB5A61C /* GLFW.xcodeproj */; + }, + { + ProductGroup = 3684523D5CAA81EFC3B1787D /* Products */; + ProjectRef = E19C4EDD3901C1CFEB0FDD1D /* ImGui.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 72654753BAD62B85FF74FD93 /* Navigator */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 4FD2A081A9D3B773711AAEC1 /* libGLAD.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libGLAD.a; + remoteRef = 7BB8C31AA1DEF2CC08E5E95A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B70ACDADC8C20D9F3E2FFBED /* libImGui.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libImGui.a; + remoteRef = 588D649D43798A8F8B5F52DD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + E36F50613D70675304B75EA1 /* libGLFW.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libGLFW.a; + remoteRef = 7AC179D2A0E7A98407EEA012 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 502E549D4994560F3D2FB2DD /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B9DB6DF4B3416F66A6DCCC34 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4C2FE1FB402F2B6DC51A403B /* Application.cpp in Sources */, + 92F29AB39F7D4D251A6218F3 /* ImGuiBuild.cpp in Sources */, + FD89C26D0A1474DF84F940AD /* ImGuiLayer.cpp in Sources */, + 09A5308D76CD3EFF78602ECD /* Layer.cpp in Sources */, + 3B784A19AFD28F0B2DB61859 /* LayerStack.cpp in Sources */, + 8EB56C93E61ADF859828FAD3 /* Logger.cpp in Sources */, + 325449B58EDB4E27177E07F5 /* AnalysisStage.cpp in Sources */, + 3DA2FC311C4597A3D1279A71 /* CompassFile.cpp in Sources */, + 5B9901B22778E20B004FD168 /* AnalysisStack.cpp in Sources */, + 3269CBBB8C6AE2AD53B1D9FB /* CompassRun.cpp in Sources */, + 489A11DD7C19514F9413301D /* PhysicsEventBuilder.cpp in Sources */, + 4CB0E2A5E70ACB97234330E5 /* PhysicsHitSort.cpp in Sources */, + 9635D3FD872D41EFF330C23D /* ShiftMap.cpp in Sources */, + A6E9B8F794514BA9314B3F37 /* RenderCommand.cpp in Sources */, + DDCFBCDB90C5C68DE1E8231B /* RendererAPI.cpp in Sources */, + 4FE61EB5619D5EA7D70B4CF5 /* OpenGLContext.cpp in Sources */, + B4CF978D4AF8A97F0C5F05CD /* OpenGLRendererAPI.cpp in Sources */, + AD4A02FB8BEC9E6D40CEA13B /* OpenGLWindow.cpp in Sources */, + 51A19A194B63568B85625859 /* navpch.cpp in Sources */, + 3A493D8D91AEB07F43BCCBCD /* implot.cpp in Sources */, + 0A2D6EF5FE2CB8678317CD35 /* implot_demo.cpp in Sources */, + 8EEA2F2F7FE19D21EBE51D6F /* implot_items.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 0E079223076D9395FB08F063 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libGLAD.a; + targetProxy = CDF335B3F41965655B205BF3 /* PBXContainerItemProxy */; + }; + 243C8F464A62BEF8B169B586 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libImGui.a; + targetProxy = AAC7D73695B3FD28DD99C576 /* PBXContainerItemProxy */; + }; + EEF851DBE85E534DDBF9B01B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libGLFW.a; + targetProxy = CCFBEC6BF3221C1D5A2912AB /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 178E069C88B0A78E3E7754DC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CONFIGURATION_BUILD_DIR = "../lib/Release-macosx-x86_64/Navigator"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + GCC_DYNAMIC_NO_PIC = NO; + INSTALL_PATH = /usr/local/lib; + MACOSX_DEPLOYMENT_TARGET = latest; + PRODUCT_NAME = Navigator; + }; + name = Release; + }; + 4DF420F45164F326D2D19734 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + CONFIGURATION_TEMP_DIR = "$(OBJROOT)"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = src/navpch.h; + GCC_PREPROCESSOR_DEFINITIONS = ( + _CRT_SECURE_NO_WARNINGS, + GLFW_INCLUDE_NONE, + NAV_APPLE, + NAV_RELEASE, + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = "../bin-int/Release-macosx-x86_64/Navigator"; + ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = ( + "-ldl", + "-pthread", + "-undefined", + dynamic_lookup, + ); + SYMROOT = "../lib/Release-macosx-x86_64/Navigator"; + SYSTEM_HEADER_SEARCH_PATHS = "vendor/spdlog/include vendor/glfw/include vendor/imgui vendor/glad/include vendor/implot $(inherited)"; + USER_HEADER_SEARCH_PATHS = "src vendor/spdlog/include vendor/glfw/include vendor/imgui vendor/glad/include vendor/implot"; + }; + name = Release; + }; + D4779B22CE39579408385962 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CONFIGURATION_BUILD_DIR = "../lib/Debug-macosx-x86_64/Navigator"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + GCC_DYNAMIC_NO_PIC = NO; + INSTALL_PATH = /usr/local/lib; + MACOSX_DEPLOYMENT_TARGET = latest; + PRODUCT_NAME = Navigator; + }; + name = Debug; + }; + DE77503A82C9EDEC9502367A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + CONFIGURATION_TEMP_DIR = "$(OBJROOT)"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = src/navpch.h; + GCC_PREPROCESSOR_DEFINITIONS = ( + _CRT_SECURE_NO_WARNINGS, + GLFW_INCLUDE_NONE, + NAV_APPLE, + NAV_DEBUG, + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = "../bin-int/Debug-macosx-x86_64/Navigator"; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-ldl", + "-pthread", + "-undefined", + dynamic_lookup, + ); + SYMROOT = "../lib/Debug-macosx-x86_64/Navigator"; + SYSTEM_HEADER_SEARCH_PATHS = "vendor/spdlog/include vendor/glfw/include vendor/imgui vendor/glad/include vendor/implot $(inherited)"; + USER_HEADER_SEARCH_PATHS = "src vendor/spdlog/include vendor/glfw/include vendor/imgui vendor/glad/include vendor/implot"; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "Navigator" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE77503A82C9EDEC9502367A /* Debug */, + 4DF420F45164F326D2D19734 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + CE821C5CC7E81DCEBB837A9C /* Build configuration list for PBXNativeTarget "Navigator" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D4779B22CE39579408385962 /* Debug */, + 178E069C88B0A78E3E7754DC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/Navigator/Navigator.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist b/Navigator/Navigator.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..59fa104 --- /dev/null +++ b/Navigator/Navigator.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + Navigator.xcscheme_^#shared#^_ + + orderHint + 2 + + + + diff --git a/Navigator/src/Navigator/ImGui/ImGuiBuild.cpp b/Navigator/src/Navigator/ImGui/ImGuiBuild.cpp index f4b50e5..c477126 100644 --- a/Navigator/src/Navigator/ImGui/ImGuiBuild.cpp +++ b/Navigator/src/Navigator/ImGui/ImGuiBuild.cpp @@ -1,4 +1,3 @@ - #include "backends/imgui_impl_opengl3.cpp" -#include "backends/imgui_impl_glfw.cpp" \ No newline at end of file +#include "backends/imgui_impl_glfw.cpp" diff --git a/Navigator/src/Navigator/ImGui/ImGuiLayer.cpp b/Navigator/src/Navigator/ImGui/ImGuiLayer.cpp index 0f4a52b..0940b53 100644 --- a/Navigator/src/Navigator/ImGui/ImGuiLayer.cpp +++ b/Navigator/src/Navigator/ImGui/ImGuiLayer.cpp @@ -96,4 +96,4 @@ namespace Navigator { ImGui::ShowDemoWindow(&show); ImPlot::ShowDemoWindow(); } -} \ No newline at end of file +} diff --git a/Navigator/src/Navigator/NavCore.h b/Navigator/src/Navigator/NavCore.h index 4ae4e08..30bc817 100644 --- a/Navigator/src/Navigator/NavCore.h +++ b/Navigator/src/Navigator/NavCore.h @@ -5,13 +5,10 @@ #error "Navigator is not compatible with Windows!" #endif -#ifdef NAV_APPLE - #error "Navigator is not compatible with MacOS!" -#endif //Bit field setter #define BIT(x) (1<::iterator begin() { return m_stack.begin(); } + std::vector::iterator end() { return m_stack.end(); } + private: + std::vector m_stack; //The analysis stack owns the analysis stages + unsigned int m_insertIndex=0; + }; + +} + + +#endif /* AnalysisStack_h */ diff --git a/Navigator/src/Navigator/Physics/PhysicsEventBuilder.cpp b/Navigator/src/Navigator/Physics/PhysicsEventBuilder.cpp index 309176a..df23dae 100644 --- a/Navigator/src/Navigator/Physics/PhysicsEventBuilder.cpp +++ b/Navigator/src/Navigator/Physics/PhysicsEventBuilder.cpp @@ -30,14 +30,9 @@ namespace Navigator { m_runFlag = false; } - void PhysicsEventBuilder::PushLayer(Layer* layer) + void PhysicsEventBuilder::PushStage(AnalysisStage* stage) { - m_physStack.PushLayer(layer); - } - - void PhysicsEventBuilder::PushOverlay(Layer* layer) - { - m_physStack.PushOverlay(layer); + m_physStack.PushStage(stage); } void PhysicsEventBuilder::Run() @@ -67,4 +62,4 @@ namespace Navigator { } } -} \ No newline at end of file +} diff --git a/Navigator/src/Navigator/Physics/PhysicsEventBuilder.h b/Navigator/src/Navigator/Physics/PhysicsEventBuilder.h index b8e5d29..7fde135 100644 --- a/Navigator/src/Navigator/Physics/PhysicsEventBuilder.h +++ b/Navigator/src/Navigator/Physics/PhysicsEventBuilder.h @@ -2,8 +2,8 @@ #define PHYSICS_EVENT_BUILDER_H #include "Navigator/NavCore.h" -#include "Navigator/LayerStack.h" -#include "Navigator/Layer.h" +#include "AnalysisStack.h" +#include "AnalysisStage.h" #include "PhysicsHitSort.h" #include #include @@ -22,14 +22,13 @@ namespace Navigator { void DetachDataSource(); void SetCoincidenceWindow(uint64_t window) { m_rawSort.SetCoincidenceWindow(window); } - void PushLayer(Layer* layer); - void PushOverlay(Layer* layer); + void PushStage(AnalysisStage* stage); bool IsRunning() { return m_runFlag; } inline static PhysicsEventBuilder& Get() { return *s_instance; } private: - LayerStack m_physStack; + AnalysisStack m_physStack; std::atomic m_runFlag; //ensures defined read/write across threads static PhysicsEventBuilder* s_instance; PhysicsHitSort m_rawSort; @@ -40,4 +39,4 @@ namespace Navigator { } -#endif \ No newline at end of file +#endif diff --git a/Navigator/vendor/glad/GLAD.xcodeproj/project.pbxproj b/Navigator/vendor/glad/GLAD.xcodeproj/project.pbxproj new file mode 100644 index 0000000..211e9a3 --- /dev/null +++ b/Navigator/vendor/glad/GLAD.xcodeproj/project.pbxproj @@ -0,0 +1,283 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 75021EC9CB8F893BA4089D09 /* glad.c in Sources */ = {isa = PBXBuildFile; fileRef = B60713D1B977E6033AE48A11 /* glad.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 6C88ACDEC31617509B8F2B1E /* glad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = glad.h; path = include/glad/glad.h; sourceTree = ""; }; + 9E78136F6C9B6721F3A9B9AF /* khrplatform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = khrplatform.h; path = include/KHR/khrplatform.h; sourceTree = ""; }; + B60713D1B977E6033AE48A11 /* glad.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = glad.c; path = src/glad.c; sourceTree = ""; }; + DB42B1E7DEB3841960202827 /* libGLAD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libGLAD.a; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D831CBD77B7D5509964E2217 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 50141638C15AC46A4F4D0C78 /* GLAD */ = { + isa = PBXGroup; + children = ( + 5E8C725002DF100215175890 /* include */, + 5775D4184366DFCA959E7A58 /* src */, + A6C936B49B3FADE6EA134CF4 /* Products */, + ); + name = GLAD; + sourceTree = ""; + }; + 5775D4184366DFCA959E7A58 /* src */ = { + isa = PBXGroup; + children = ( + B60713D1B977E6033AE48A11 /* glad.c */, + ); + name = src; + sourceTree = ""; + }; + 5E8C725002DF100215175890 /* include */ = { + isa = PBXGroup; + children = ( + F17967A595CC0557A8044DE5 /* KHR */, + A091580BA4022A3D256ECE4B /* glad */, + ); + name = include; + sourceTree = ""; + }; + A091580BA4022A3D256ECE4B /* glad */ = { + isa = PBXGroup; + children = ( + 6C88ACDEC31617509B8F2B1E /* glad.h */, + ); + name = glad; + sourceTree = ""; + }; + A6C936B49B3FADE6EA134CF4 /* Products */ = { + isa = PBXGroup; + children = ( + DB42B1E7DEB3841960202827 /* libGLAD.a */, + ); + name = Products; + sourceTree = ""; + }; + F17967A595CC0557A8044DE5 /* KHR */ = { + isa = PBXGroup; + children = ( + 9E78136F6C9B6721F3A9B9AF /* khrplatform.h */, + ); + name = KHR; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E1F868ED109EBCDF69E0172D /* GLAD */ = { + isa = PBXNativeTarget; + buildConfigurationList = C66D143669B89D6884896A76 /* Build configuration list for PBXNativeTarget "GLAD" */; + buildPhases = ( + 48194C77EB64D5A90635A2B7 /* Resources */, + B1C665CE5511EF006FE2BC0E /* Sources */, + D831CBD77B7D5509964E2217 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = GLAD; + productName = GLAD; + productReference = DB42B1E7DEB3841960202827 /* libGLAD.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1250; + }; + buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "GLAD" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + en, + Base, + ); + mainGroup = 50141638C15AC46A4F4D0C78 /* GLAD */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E1F868ED109EBCDF69E0172D /* GLAD */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 48194C77EB64D5A90635A2B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B1C665CE5511EF006FE2BC0E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 75021EC9CB8F893BA4089D09 /* glad.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 237A6DC1760098B34844FC01 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + CONFIGURATION_TEMP_DIR = "$(OBJROOT)"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = "bin-int/Release-macosx-x86_64/GLAD"; + ONLY_ACTIVE_ARCH = NO; + SYMROOT = "bin/Release-macosx-x86_64/GLAD"; + SYSTEM_HEADER_SEARCH_PATHS = "include $(inherited)"; + USER_HEADER_SEARCH_PATHS = include; + }; + name = Release; + }; + 287A05C76134CC39F0CC0407 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + CONFIGURATION_TEMP_DIR = "$(OBJROOT)"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = "bin-int/Debug-macosx-x86_64/GLAD"; + ONLY_ACTIVE_ARCH = YES; + SYMROOT = "bin/Debug-macosx-x86_64/GLAD"; + SYSTEM_HEADER_SEARCH_PATHS = "include $(inherited)"; + USER_HEADER_SEARCH_PATHS = include; + }; + name = Debug; + }; + 447B29FC8CEC0E2ED18AE03C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CONFIGURATION_BUILD_DIR = "bin/Debug-macosx-x86_64/GLAD"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_DYNAMIC_NO_PIC = NO; + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = GLAD; + }; + name = Debug; + }; + 96B0B3F6BEEB6CA8A686FA36 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CONFIGURATION_BUILD_DIR = "bin/Release-macosx-x86_64/GLAD"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_DYNAMIC_NO_PIC = NO; + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = GLAD; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "GLAD" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 287A05C76134CC39F0CC0407 /* Debug */, + 237A6DC1760098B34844FC01 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + C66D143669B89D6884896A76 /* Build configuration list for PBXNativeTarget "GLAD" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 447B29FC8CEC0E2ED18AE03C /* Debug */, + 96B0B3F6BEEB6CA8A686FA36 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/Navigator/vendor/glad/GLAD.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist b/Navigator/vendor/glad/GLAD.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..6a2b5f1 --- /dev/null +++ b/Navigator/vendor/glad/GLAD.xcodeproj/xcuserdata/gordonmccann.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + GLAD.xcscheme_^#shared#^_ + + orderHint + 4 + + + + diff --git a/Navigator/vendor/glad/premake5.lua b/Navigator/vendor/glad/premake5.lua index 22f7912..d0e26fc 100644 --- a/Navigator/vendor/glad/premake5.lua +++ b/Navigator/vendor/glad/premake5.lua @@ -20,8 +20,10 @@ project "GLAD" filter "system:windows" systemversion "latest" filter "system:linux or macosx" + systemversion "latest" pic "on" filter "system:macosx" + systemversion "latest" sysincludedirs { "include" } filter "configurations:Debug" diff --git a/premake5.lua b/premake5.lua index a883da0..0ed77be 100644 --- a/premake5.lua +++ b/premake5.lua @@ -36,6 +36,16 @@ project "Navigator" filter "system:linux or macosx" pchheader "%{prj.name}/src/navpch.h" + filter "system:macosx" + pchheader "src/navpch.h" + sysincludedirs { + "%{prj.name}/vendor/spdlog/include/", + "%{IncludeDirs.glfw}", + "%{IncludeDirs.ImGui}", + "%{IncludeDirs.glad}", + "%{IncludeDirs.ImPlot}" + } + filter {} includedirs { "%{prj.name}/src/", @@ -46,7 +56,6 @@ project "Navigator" "%{IncludeDirs.ImPlot}" } - filter {} files { "%{prj.name}/src/**.h", @@ -86,14 +95,16 @@ project "Navigator" filter "system:macosx" defines "NAV_APPLE" links { - "GL", - "GLU", - "glut", - "X11", + "Cocoa.framework", + "CoreVideo.framework", + "IOKit.framework", + "OpenGL.framework", + "Carbon.framework", "dl", } linkoptions{ - "-pthread" + "-pthread", + "-undefined dynamic_lookup" } filter "configurations:Debug" @@ -135,6 +146,15 @@ project "NavProject" systemversion "latest" + filter "system:macosx" + sysincludedirs { + "Navigator/vendor/spdlog/include/", + "%{IncludeDirs.glfw}", + "%{IncludeDirs.ImGui}", + "%{IncludeDirs.glad}", + "%{IncludeDirs.ImPlot}" + } + filter "configurations:Debug" @@ -150,4 +170,4 @@ project "NavProject" filter "configurations:Dist" defines "NAV_DIST" runtime "Release" - optimize "on" \ No newline at end of file + optimize "on"