Compare commits

..

13 Commits

137 changed files with 2362 additions and 7726 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@
.externalNativeBuild
.cxx
local.properties
out/*

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,6 +6,16 @@ if (NOT WIN32)
message(FATAL_ERROR "Only windows builds from top-level CMakeLists.txt")
endif()
include(FetchContent)
FetchContent_Declare(
tracy
GIT_REPOSITORY https://github.com/wolfpld/tracy.git
GIT_TAG master
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_MakeAvailable(tracy)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)

View File

@ -0,0 +1,466 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 56;
objects = {
/* Begin PBXBuildFile section */
FB239F6B2A51983C0084874D /* IOSAssetManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = FB239F6A2A51983C0084874D /* IOSAssetManager.mm */; };
FB239F6F2A519BE00084874D /* assets in Resources */ = {isa = PBXBuildFile; fileRef = FB239F6E2A519BE00084874D /* assets */; };
FBA9A7502A50790A00F960DA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A74F2A50790A00F960DA /* AppDelegate.m */; };
FBA9A7532A50790A00F960DA /* MetalViewDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A7522A50790A00F960DA /* MetalViewDelegate.mm */; };
FBA9A7562A50790A00F960DA /* GameViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A7552A50790A00F960DA /* GameViewController.mm */; };
FBA9A7582A50790A00F960DA /* Shaders.metal in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A7572A50790A00F960DA /* Shaders.metal */; };
FBA9A75C2A50790A00F960DA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FBA9A75A2A50790A00F960DA /* Main.storyboard */; };
FBA9A75E2A50790A00F960DA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FBA9A75D2A50790A00F960DA /* Assets.xcassets */; };
FBA9A7612A50790A00F960DA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FBA9A75F2A50790A00F960DA /* LaunchScreen.storyboard */; };
FBA9A7632A50790A00F960DA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A7622A50790A00F960DA /* main.m */; };
FBA9A7682A50795000F960DA /* StringRepository.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A7432A5078D800F960DA /* StringRepository.cpp */; };
FBA9A7692A50795400F960DA /* AssetManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A73D2A5078B800F960DA /* AssetManager.cpp */; };
FBA9A76A2A50795700F960DA /* Hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A73A2A5078B800F960DA /* Hash.cpp */; };
FBA9A76B2A5079BC00F960DA /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A73F2A5078D800F960DA /* Texture.cpp */; };
FBA9A7702A5098E800F960DA /* MetalGfxInterface.mm in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A76F2A5098E800F960DA /* MetalGfxInterface.mm */; };
FBA9A7762A50A58000F960DA /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBA9A7722A509C6500F960DA /* Renderer.cpp */; };
FBA9A7802A50A82500F960DA /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBA9A77E2A50A82400F960DA /* Metal.framework */; };
FBA9A7812A50A82500F960DA /* MetalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBA9A77F2A50A82400F960DA /* MetalKit.framework */; };
FBA9A7832A50A82D00F960DA /* ModelIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBA9A7822A50A82C00F960DA /* ModelIO.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
FB239F692A5197830084874D /* IOSAssetManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = IOSAssetManager.h; sourceTree = "<group>"; };
FB239F6A2A51983C0084874D /* IOSAssetManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = IOSAssetManager.mm; sourceTree = "<group>"; };
FB239F6E2A519BE00084874D /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = assets; sourceTree = "<group>"; };
FBA9A7342A5078B800F960DA /* AssetManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AssetManager.h; path = cpp/AssetManager.h; sourceTree = "<group>"; };
FBA9A7352A5078B800F960DA /* Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Font.cpp; path = cpp/Font.cpp; sourceTree = "<group>"; };
FBA9A7372A5078B800F960DA /* Hash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Hash.h; path = cpp/Hash.h; sourceTree = "<group>"; };
FBA9A7382A5078B800F960DA /* Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Font.h; path = cpp/Font.h; sourceTree = "<group>"; };
FBA9A7392A5078B800F960DA /* Profiling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Profiling.h; path = cpp/Profiling.h; sourceTree = "<group>"; };
FBA9A73A2A5078B800F960DA /* Hash.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Hash.cpp; path = cpp/Hash.cpp; sourceTree = "<group>"; };
FBA9A73B2A5078B800F960DA /* Position.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Position.h; path = cpp/Position.h; sourceTree = "<group>"; };
FBA9A73C2A5078B800F960DA /* GameState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GameState.h; path = cpp/GameState.h; sourceTree = "<group>"; };
FBA9A73D2A5078B800F960DA /* AssetManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AssetManager.cpp; path = cpp/AssetManager.cpp; sourceTree = "<group>"; };
FBA9A73E2A5078D800F960DA /* StringRepository.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringRepository.h; path = cpp/StringRepository.h; sourceTree = "<group>"; };
FBA9A73F2A5078D800F960DA /* Texture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Texture.cpp; path = cpp/Texture.cpp; sourceTree = "<group>"; };
FBA9A7402A5078D800F960DA /* stb_truetype.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stb_truetype.h; path = cpp/stb_truetype.h; sourceTree = "<group>"; };
FBA9A7412A5078D800F960DA /* stb_image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stb_image.h; path = cpp/stb_image.h; sourceTree = "<group>"; };
FBA9A7422A5078D800F960DA /* Texture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Texture.h; path = cpp/Texture.h; sourceTree = "<group>"; };
FBA9A7432A5078D800F960DA /* StringRepository.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = StringRepository.cpp; path = cpp/StringRepository.cpp; sourceTree = "<group>"; };
FBA9A7452A5078D800F960DA /* TouchInput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TouchInput.h; path = cpp/TouchInput.h; sourceTree = "<group>"; };
FBA9A74B2A50790A00F960DA /* KDE.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KDE.app; sourceTree = BUILT_PRODUCTS_DIR; };
FBA9A74E2A50790A00F960DA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
FBA9A74F2A50790A00F960DA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
FBA9A7512A50790A00F960DA /* MetalViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MetalViewDelegate.h; sourceTree = "<group>"; };
FBA9A7522A50790A00F960DA /* MetalViewDelegate.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalViewDelegate.mm; sourceTree = "<group>"; };
FBA9A7542A50790A00F960DA /* GameViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameViewController.h; sourceTree = "<group>"; };
FBA9A7552A50790A00F960DA /* GameViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = GameViewController.mm; sourceTree = "<group>"; };
FBA9A7572A50790A00F960DA /* Shaders.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Shaders.metal; sourceTree = "<group>"; };
FBA9A7592A50790A00F960DA /* ShaderTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShaderTypes.h; sourceTree = "<group>"; };
FBA9A75B2A50790A00F960DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
FBA9A75D2A50790A00F960DA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
FBA9A7602A50790A00F960DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
FBA9A7622A50790A00F960DA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
FBA9A76C2A5096C500F960DA /* MetalGfxInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MetalGfxInterface.h; sourceTree = "<group>"; };
FBA9A76D2A5096DF00F960DA /* Renderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Renderer.h; path = cpp/Renderer.h; sourceTree = "<group>"; };
FBA9A76F2A5098E800F960DA /* MetalGfxInterface.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalGfxInterface.mm; sourceTree = "<group>"; };
FBA9A7712A509A4400F960DA /* Gfx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Gfx.h; path = cpp/Gfx.h; sourceTree = "<group>"; };
FBA9A7722A509C6500F960DA /* Renderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Renderer.cpp; path = cpp/Renderer.cpp; sourceTree = "<group>"; };
FBA9A77A2A50A65400F960DA /* OpenGLGFXInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLGFXInterface.cpp; path = cpp/OpenGLGFXInterface.cpp; sourceTree = "<group>"; };
FBA9A77B2A50A65400F960DA /* OpenGLGFXInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OpenGLGFXInterface.h; path = cpp/OpenGLGFXInterface.h; sourceTree = "<group>"; };
FBA9A77E2A50A82400F960DA /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/System/Library/Frameworks/Metal.framework; sourceTree = DEVELOPER_DIR; };
FBA9A77F2A50A82400F960DA /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/System/Library/Frameworks/MetalKit.framework; sourceTree = DEVELOPER_DIR; };
FBA9A7822A50A82C00F960DA /* ModelIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ModelIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/System/Library/Frameworks/ModelIO.framework; sourceTree = DEVELOPER_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
FBA9A7482A50790A00F960DA /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FBA9A7832A50A82D00F960DA /* ModelIO.framework in Frameworks */,
FBA9A7802A50A82500F960DA /* Metal.framework in Frameworks */,
FBA9A7812A50A82500F960DA /* MetalKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
FBA9A7332A50789900F960DA /* cpp */ = {
isa = PBXGroup;
children = (
FBA9A77A2A50A65400F960DA /* OpenGLGFXInterface.cpp */,
FBA9A77B2A50A65400F960DA /* OpenGLGFXInterface.h */,
FBA9A7722A509C6500F960DA /* Renderer.cpp */,
FBA9A7712A509A4400F960DA /* Gfx.h */,
FBA9A76D2A5096DF00F960DA /* Renderer.h */,
FBA9A7412A5078D800F960DA /* stb_image.h */,
FBA9A7402A5078D800F960DA /* stb_truetype.h */,
FBA9A7432A5078D800F960DA /* StringRepository.cpp */,
FBA9A73E2A5078D800F960DA /* StringRepository.h */,
FBA9A73F2A5078D800F960DA /* Texture.cpp */,
FBA9A7422A5078D800F960DA /* Texture.h */,
FBA9A7452A5078D800F960DA /* TouchInput.h */,
FBA9A73D2A5078B800F960DA /* AssetManager.cpp */,
FBA9A7342A5078B800F960DA /* AssetManager.h */,
FBA9A7352A5078B800F960DA /* Font.cpp */,
FBA9A7382A5078B800F960DA /* Font.h */,
FBA9A73C2A5078B800F960DA /* GameState.h */,
FBA9A73A2A5078B800F960DA /* Hash.cpp */,
FBA9A7372A5078B800F960DA /* Hash.h */,
FBA9A73B2A5078B800F960DA /* Position.h */,
FBA9A7392A5078B800F960DA /* Profiling.h */,
);
name = cpp;
sourceTree = "<group>";
};
FBA9A7462A5078DC00F960DA /* m */ = {
isa = PBXGroup;
children = (
FBA9A74E2A50790A00F960DA /* AppDelegate.h */,
FBA9A74F2A50790A00F960DA /* AppDelegate.m */,
FBA9A7512A50790A00F960DA /* MetalViewDelegate.h */,
FBA9A7522A50790A00F960DA /* MetalViewDelegate.mm */,
FBA9A7542A50790A00F960DA /* GameViewController.h */,
FBA9A7552A50790A00F960DA /* GameViewController.mm */,
FBA9A7572A50790A00F960DA /* Shaders.metal */,
FBA9A7592A50790A00F960DA /* ShaderTypes.h */,
FBA9A75A2A50790A00F960DA /* Main.storyboard */,
FBA9A75D2A50790A00F960DA /* Assets.xcassets */,
FBA9A75F2A50790A00F960DA /* LaunchScreen.storyboard */,
FBA9A7622A50790A00F960DA /* main.m */,
FBA9A76C2A5096C500F960DA /* MetalGfxInterface.h */,
FBA9A76F2A5098E800F960DA /* MetalGfxInterface.mm */,
FB239F692A5197830084874D /* IOSAssetManager.h */,
FB239F6A2A51983C0084874D /* IOSAssetManager.mm */,
);
path = m;
sourceTree = "<group>";
};
FBA9A74C2A50790A00F960DA /* Products */ = {
isa = PBXGroup;
children = (
FBA9A74B2A50790A00F960DA /* KDE.app */,
);
name = Products;
sourceTree = "<group>";
};
FBA9A77D2A50A82400F960DA /* Frameworks */ = {
isa = PBXGroup;
children = (
FBA9A7822A50A82C00F960DA /* ModelIO.framework */,
FBA9A77E2A50A82400F960DA /* Metal.framework */,
FBA9A77F2A50A82400F960DA /* MetalKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
FBC6DF7A2A50782C00CA10E7 = {
isa = PBXGroup;
children = (
FB239F6E2A519BE00084874D /* assets */,
FBA9A7462A5078DC00F960DA /* m */,
FBA9A7332A50789900F960DA /* cpp */,
FBA9A74C2A50790A00F960DA /* Products */,
FBA9A77D2A50A82400F960DA /* Frameworks */,
);
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
FBA9A74A2A50790A00F960DA /* KDE */ = {
isa = PBXNativeTarget;
buildConfigurationList = FBA9A7642A50790A00F960DA /* Build configuration list for PBXNativeTarget "KDE" */;
buildPhases = (
FBA9A7472A50790A00F960DA /* Sources */,
FBA9A7482A50790A00F960DA /* Frameworks */,
FBA9A7492A50790A00F960DA /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = KDE;
productName = KDE;
productReference = FBA9A74B2A50790A00F960DA /* KDE.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
FBC6DF7B2A50782C00CA10E7 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastUpgradeCheck = 1430;
TargetAttributes = {
FBA9A74A2A50790A00F960DA = {
CreatedOnToolsVersion = 14.3.1;
};
};
};
buildConfigurationList = FBC6DF7E2A50782C00CA10E7 /* Build configuration list for PBXProject "KDE" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = FBC6DF7A2A50782C00CA10E7;
productRefGroup = FBA9A74C2A50790A00F960DA /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
FBA9A74A2A50790A00F960DA /* KDE */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
FBA9A7492A50790A00F960DA /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FBA9A7612A50790A00F960DA /* LaunchScreen.storyboard in Resources */,
FB239F6F2A519BE00084874D /* assets in Resources */,
FBA9A75E2A50790A00F960DA /* Assets.xcassets in Resources */,
FBA9A75C2A50790A00F960DA /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
FBA9A7472A50790A00F960DA /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FBA9A7692A50795400F960DA /* AssetManager.cpp in Sources */,
FBA9A7632A50790A00F960DA /* main.m in Sources */,
FBA9A7582A50790A00F960DA /* Shaders.metal in Sources */,
FBA9A76B2A5079BC00F960DA /* Texture.cpp in Sources */,
FBA9A7762A50A58000F960DA /* Renderer.cpp in Sources */,
FBA9A7682A50795000F960DA /* StringRepository.cpp in Sources */,
FB239F6B2A51983C0084874D /* IOSAssetManager.mm in Sources */,
FBA9A7702A5098E800F960DA /* MetalGfxInterface.mm in Sources */,
FBA9A7532A50790A00F960DA /* MetalViewDelegate.mm in Sources */,
FBA9A76A2A50795700F960DA /* Hash.cpp in Sources */,
FBA9A7562A50790A00F960DA /* GameViewController.mm in Sources */,
FBA9A7502A50790A00F960DA /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
FBA9A75A2A50790A00F960DA /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
FBA9A75B2A50790A00F960DA /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
FBA9A75F2A50790A00F960DA /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
FBA9A7602A50790A00F960DA /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
FBA9A7652A50790A00F960DA /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
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_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR;
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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UIRequiredDeviceCapabilities = metal;
INFOPLIST_KEY_UIStatusBarHidden = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.fumblegames.KDE;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_EMIT_LOC_STRINGS = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
FBA9A7662A50790A00F960DA /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
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_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR;
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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UIRequiredDeviceCapabilities = metal;
INFOPLIST_KEY_UIStatusBarHidden = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.fumblegames.KDE;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_EMIT_LOC_STRINGS = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
FBC6DF7F2A50782C00CA10E7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Debug;
};
FBC6DF802A50782C00CA10E7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
FBA9A7642A50790A00F960DA /* Build configuration list for PBXNativeTarget "KDE" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FBA9A7652A50790A00F960DA /* Debug */,
FBA9A7662A50790A00F960DA /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FBC6DF7E2A50782C00CA10E7 /* Build configuration list for PBXProject "KDE" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FBC6DF7F2A50782C00CA10E7 /* Debug */,
FBC6DF802A50782C00CA10E7 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = FBC6DF7B2A50782C00CA10E7 /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
uuid = "E5173B6F-DE97-46BD-BCEC-CF001AD0A836"
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0B1FCEA3-648A-47DA-9B17-82B7BCCE8D60"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OpenGLGFXInterface.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "70"
endingLineNumber = "70"
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "230CC0C2-A8D1-4213-8AE3-3C387755A129"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "m/MetalViewDelegate.mm"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "55"
endingLineNumber = "55"
landmarkName = "-_loadMetalWithView:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "FB626E75-87DB-404F-90BE-27B364652473"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "m/MetalViewDelegate.mm"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "63"
endingLineNumber = "63"
landmarkName = "-_loadMetalWithView:"
landmarkType = "7">
<Locations>
<Location
uuid = "FB626E75-87DB-404F-90BE-27B364652473 - 54c402e8093d4dff"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[MetalViewDelegate _loadMetalWithView:]"
moduleName = "KDE"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/ronjaenseleit/Documents/KDE/app/src/main/m/MetalViewDelegate.mm"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "70"
endingLineNumber = "70"
offsetFromSymbolStart = "132">
</Location>
<Location
uuid = "FB626E75-87DB-404F-90BE-27B364652473 - 54c402e8093d4dff"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[MetalViewDelegate _loadMetalWithView:]"
moduleName = "KDE"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/ronjaenseleit/Documents/KDE/app/src/main/m/MetalViewDelegate.mm"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "70"
endingLineNumber = "70"
offsetFromSymbolStart = "116">
</Location>
<Location
uuid = "FB626E75-87DB-404F-90BE-27B364652473 - 54c402e8093d4cd4"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[MetalViewDelegate _loadMetalWithView:]"
moduleName = "KDE"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/ronjaenseleit/Documents/KDE/app/src/main/m/MetalViewDelegate.mm"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "63"
endingLineNumber = "63"
offsetFromSymbolStart = "116">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "ABBF5C68-10CF-4FF5-BB6F-D86C5D352BB2"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "cpp/AssetManager.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "20"
endingLineNumber = "20"
landmarkName = "AssetManager::loadTexture(path, p_texture)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "7C88C504-1B41-4373-879B-61403D971D39"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "m/MetalViewDelegate.mm"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "281"
endingLineNumber = "281"
landmarkName = "-mtkView:drawableSizeWillChange:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>KDE.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>

View File

@ -1,5 +1,8 @@
#include "AndroidAssetManager.h"
#include "Log.h"
#include "NativeEngine.h"
#include <iostream>
#include <fstream>
#include <game-activity/native_app_glue/android_native_app_glue.h>
@ -26,15 +29,114 @@ bool AndroidAssetManager::loadFile(const char* path, FileBuffer* p_file_buffer)
return false;
}
auto length = static_cast<size_t>(AAsset_getLength64(asset));
p_file_buffer->data = buffer, p_file_buffer->size = length;
p_file_buffer->data = buffer;
p_file_buffer->size = length;
p_file_buffer->internal = asset;
return true;
}
void AndroidAssetManager::releaseFileBuffer(FileBuffer& fb)
{
AAsset_close(reinterpret_cast<AAsset*>(fb.internal));
if (fb.internal != nullptr){
AAsset_close(reinterpret_cast<AAsset*>(fb.internal));
}
fb.internal = nullptr;
fb.data = nullptr;
fb.size = 0;
}
bool AndroidAssetManager::writeFile(const char* path, const void* data, size_t size)
{
std::string pfad_komplett = "data/data/tech.recreational.kde/" + std::string(path);
std::ofstream file;
file.open(pfad_komplett, std::fstream::in | std::fstream::out | std::fstream::trunc);
if (file.is_open()) {
//file << data;
if (!file.good()){
return false;
}
if (file.bad()){
return false;
}
if (file.fail()){
return false;
}
if (file.eof()){
return false;
}
file.clear();
file.write((const char*)data, size);
auto flags = file.flags();
if (!file.good()){
return false;
}
if (file.bad()){
return false;
}
if (file.fail()){
return false;
}
if (file.eof()){
return false;
}
std::streamsize size = file.width();
file.close();
std::cout << "Datei erfolgreich erstellt und beschrieben." << std::endl;
} else {
std::cout << "Fehler beim Erstellen der Datei." << std::endl;
}
return true;
}
size_t AndroidAssetManager::getInternFileSize(const char* path){
std::string dir = "data/data/tech.recreational.kde/" + std::string(path);
std::ifstream myfile(dir);
std::string line;
size_t size = 0;
if (myfile.is_open()) {
while (std::getline(myfile, line)) {
size += line.size();
}
myfile.close();
}
return size;
}
bool AndroidAssetManager::loadInternFile(const char* path, FileBuffer* p_file_buffer)
{
p_file_buffer->internal = nullptr;
p_file_buffer->data = nullptr;
p_file_buffer->size = 0;
size_t size = getInternFileSize(path);
if (size == 0){
return false;
}
std::string dir = "data/data/tech.recreational.kde/" + std::string(path);
std::ifstream myfile(dir);
//std::string line;
if (myfile.is_open())
{
p_file_buffer->size = size;
char* data = (char*)malloc(size + 1);
if (data == nullptr){
myfile.clear();
myfile.close();
return false;
}
//myfile.get(data, size);
std::string line;
int pos = 0;
while (std::getline(myfile, line)) {
size_t line_size = line.size();
const char* line_text = line.c_str();
memcpy(&data[pos], line_text, line_size);
pos += line_size;
}
data[pos] = '\0';
p_file_buffer->data = data;
myfile.clear();
myfile.close();
return true;
}
return false;
}

View File

@ -16,6 +16,16 @@ public:
void releaseFileBuffer(FileBuffer& fb) override;
/// @brief Write data to a file.
/// @param path Path relative to the asset root directory
/// @param data Data buffer
/// @param size Number of bytes
/// @return @c true if writing the file was successfull, @c false otherwise
bool writeFile(const char* path, const void* data, size_t size);
bool loadInternFile(const char* path, FileBuffer* p_file_buffer);
size_t getInternFileSize(const char* path);
private:
AndroidAssetManager();
~AndroidAssetManager();

View File

@ -1,20 +1,24 @@
#include "AssetManager.h"
#include "Log.h"
#include "Profiling.h"
#include "StringRepository.h"
#define STBI_NO_STDIO
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
#define STB_TRUETYPE_IMPLEMENTATION
#include "stb_truetype.h"
AssetManager* AssetManager::ptr = nullptr;
constexpr int PADDING = 3;
bool AssetManager::loadTexture(const char* path, Texture* p_texture)
{
ZoneScoped;
FileBuffer texture_data = {};
if (!loadFile(path, &texture_data))
return false;
int width, height, channels;
const auto* raw_data = reinterpret_cast<const stbi_uc*>(texture_data.data);
stbi_uc* data = stbi_load_from_memory(raw_data, static_cast<int>(texture_data.size), &width, &height, &channels, 4);
@ -24,32 +28,51 @@ bool AssetManager::loadTexture(const char* path, Texture* p_texture)
return false;
}
*p_texture = Texture(width, height, data);
return true;
}
/* Calculate required bitmap size for a given font bounding box, scale factor and glyph count */
static size_t getBitmapSize(int x0, int y0, int x1, int y1, float scale_factor, int glyph_count)
{
float w = scale_factor * (x1 - x0);
float h = scale_factor * (y1 - y0);
float glyph_size = ceilf((w > h) ? w : h);
float glyphs_per_row = ceilf(sqrtf((float)glyph_count));
size_t size = static_cast<size_t>((glyph_size + PADDING) * glyphs_per_row);
/* Round up to nearest power of two, iff it's smaller than 4096 */
for (size_t bit = 0; bit < 12 /* => 4096 */; ++bit) {
if ((1uLL << bit) >= size) {
return 1uLL << bit;
}
}
return size;
}
bool AssetManager::loadFontData(const char* path, float char_height, FontData* p_font)
{
ZoneScoped;
auto lookup_pair = std::make_pair(StringRepository::global->internString(path), char_height);
if (m_font_cache.count(lookup_pair) != 0) {
*p_font = m_font_cache[lookup_pair];
return true;
}
FileBuffer ttf_data = {};
if (!loadFile(path, &ttf_data))
return false;
static unsigned char bitmap_memory[STBTT_PH_VALUE * STBTT_PH_VALUE];
FontData font_data = {};
auto* data = reinterpret_cast<const unsigned char*>(ttf_data.data);
stbtt_BakeFontBitmap(data,
0,
char_height,
bitmap_memory,
STBTT_PH_VALUE, STBTT_PH_VALUE,
32, 225, // latin-1 printable characters range
font_data.char_data);
font_data.char_height = char_height;
int off = stbtt_GetFontOffsetForIndex(data,0);
int off = stbtt_GetFontOffsetForIndex(data, 0);
if (off < 0) {
releaseFileBuffer(ttf_data);
return false;
}
stbtt_fontinfo info;
if (!stbtt_InitFont(&info, data, off)) {
releaseFileBuffer(ttf_data);
@ -57,33 +80,67 @@ bool AssetManager::loadFontData(const char* path, float char_height, FontData* p
}
font_data.scale_factor = stbtt_ScaleForPixelHeight(&info, char_height);
stbtt_GetFontVMetrics(&info, &font_data.ascent, &font_data.descent, &font_data.line_gap);
int x0, y0, x1, y1;
stbtt_GetFontBoundingBox(&info, &x0, &y0, &x1, &y1);
font_data.baseline_adjust = font_data.scale_factor * static_cast<float>(-y0);
const int GLYPH_COUNT = (225 - 32) + 1;
font_data.bitmap_size = getBitmapSize(x0, y0, x1, y1, font_data.scale_factor, GLYPH_COUNT);
unsigned char* bitmap_memory = (unsigned char*)malloc(font_data.bitmap_size * font_data.bitmap_size);
stbtt_pack_context context;
stbtt_PackBegin(&context, bitmap_memory, font_data.bitmap_size, font_data.bitmap_size, 0, PADDING, nullptr);
stbtt_PackSetOversampling(&context, 1, 1);
stbtt_PackFontRange(&context,
reinterpret_cast<const unsigned char*>(ttf_data.data),
0,
STBTT_POINT_SIZE(char_height),
32,
225,
font_data.char_data);
stbtt_PackFontRange(&context,
reinterpret_cast<const unsigned char*>(ttf_data.data),
0,
STBTT_POINT_SIZE(char_height),
8364,
1,
font_data.char_data + 225);
stbtt_PackEnd(&context);
free(bitmap_memory);
*p_font = font_data;
releaseFileBuffer(ttf_data);
m_font_cache[lookup_pair] = font_data;
return true;
}
bool AssetManager::loadFontBitmap(const char *path, float char_height, Texture* p_texture)
bool AssetManager::loadFontBitmap(const char* path, float char_height, Texture* p_texture)
{
ZoneScoped;
FontData font_data;
if (!loadFontData(path, char_height, &font_data))
return false;
FileBuffer ttf_data = {};
if (!loadFile(path, &ttf_data))
return false;
static unsigned char bitmap_memory[STBTT_PH_VALUE * STBTT_PH_VALUE];
stbtt_bakedchar char_data[225];
stbtt_BakeFontBitmap(reinterpret_cast<const unsigned char*>(ttf_data.data),
0,
char_height,
bitmap_memory,
STBTT_PH_VALUE, STBTT_PH_VALUE,
32, 225, // latin-1 printable characters range
char_data);
*p_texture = Texture(STBTT_PH_VALUE, STBTT_PH_VALUE, bitmap_memory, GL_R8);
unsigned char* bitmap_memory = (unsigned char *)malloc(font_data.bitmap_size * font_data.bitmap_size);
stbtt_packedchar char_data[226];
stbtt_pack_context context;
stbtt_PackBegin(&context, bitmap_memory, font_data.bitmap_size, font_data.bitmap_size, 0, PADDING, nullptr);
stbtt_PackSetOversampling(&context, 1, 1);
stbtt_PackFontRange(&context, reinterpret_cast<const unsigned char*>(ttf_data.data),
0, STBTT_POINT_SIZE(char_height), 32, 225, char_data);
stbtt_PackFontRange(&context, reinterpret_cast<const unsigned char*>(ttf_data.data),
0, STBTT_POINT_SIZE(char_height), 8364, 1, char_data + 225);
stbtt_PackEnd(&context);
*p_texture = Texture(font_data.bitmap_size, font_data.bitmap_size, bitmap_memory, 0);
releaseFileBuffer(ttf_data);
free(bitmap_memory);
return true;
}

View File

@ -5,8 +5,10 @@
/// @brief Access to asset files
#include "Texture.h"
#include "Renderer.h"
#include "Font.h"
#include "StringRepository.h"
#include <map>
// Predefine, because that saves us from including android headers here
struct AAssetManager;
@ -61,8 +63,10 @@ protected:
virtual ~AssetManager() = default;
AssetManager(const AssetManager&) = delete;
AssetManager& operator=(const AssetManager&) = delete;
private:
// FIXME(Kevin): Temporary workaround
std::map<std::pair<KDEStringHandle, float>, FontData> m_font_cache;
};
const int STBTT_PH_VALUE = 1024;
#endif

View File

@ -1,8 +1,11 @@
cmake_minimum_required(VERSION 3.18.1)
project("kde")
set(CMAKE_CXX_STANDARD 14)
# INTEGRATION Füge deine CPP/H Dateien hier hinzu
set(kde_SRCS
Profiling.h
Renderer.cpp
Renderer.h
Texture.cpp
@ -47,6 +50,6 @@ elseif (WIN32)
glad.h
Win32AssetManager.cpp
Win32AssetManager.h)
target_link_libraries(kde glfw)
target_include_directories(kde PRIVATE ${PROJECT_SOURCE_DIR}/../../../glfw/include)
target_link_libraries(kde glfw TracyClient)
target_include_directories(kde PRIVATE ${Tracy_SOURCE_DIR}/public)
endif()

View File

@ -3,23 +3,19 @@
#include "stb_truetype.h"
#ifdef _WIN32
#include "glad.h"
#else
#include <GLES3/gl3.h>
#endif
#include <stddef.h>
/// Data that defines a font
struct FontData
{
stbtt_bakedchar char_data[225];
stbtt_packedchar char_data[226];
float char_height;
float scale_factor;
int ascent;
int descent;
int line_gap;
float baseline_adjust;
size_t bitmap_size;
};
#endif

15
app/src/main/cpp/Gfx.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef KRIMI_DINNER_ENGINE_GFX_H
#define KRIMI_DINNER_ENGINE_GFX_H
struct KDERect
{
float dst_p0_x, dst_p0_y;
float dst_p1_x, dst_p1_y;
float src_p0_x, src_p0_y;
float src_p1_x, src_p1_y;
float r, g, b, a;
int expand_r;
};
#endif

View File

@ -1,21 +1,16 @@
#include "Hash.h"
#include "Profiling.h"
#include <stdlib.h>
#include <string.h>
Hash::Hash()
: m_bucket_count(0),
m_used_buckets(0),
m_keys(nullptr),
m_values(nullptr)
Hash::Hash() : m_bucket_count(0), m_used_buckets(0), m_keys(nullptr), m_values(nullptr)
{
ZoneScoped;
}
Hash::Hash(uint32_t bucket_count)
: m_bucket_count(0),
m_used_buckets(0),
m_keys(nullptr),
m_values(nullptr)
Hash::Hash(uint32_t bucket_count) : m_bucket_count(0), m_used_buckets(0), m_keys(nullptr), m_values(nullptr)
{
ZoneScoped;
auto* mem = reinterpret_cast<uint64_t*>(malloc(sizeof(uint64_t) * 2 * bucket_count));
if (!mem)
return;
@ -31,6 +26,7 @@ Hash::Hash(const Hash& copy)
m_keys(nullptr),
m_values(nullptr)
{
ZoneScoped;
auto* mem = reinterpret_cast<uint64_t*>(malloc(sizeof(uint64_t) * 2 * m_bucket_count));
if (!mem)
return;
@ -41,6 +37,7 @@ Hash::Hash(const Hash& copy)
Hash& Hash::operator=(const Hash& rhs)
{
ZoneScoped;
if (m_keys)
free(m_keys);
m_bucket_count = rhs.m_bucket_count;
@ -60,6 +57,7 @@ Hash& Hash::operator=(const Hash& rhs)
Hash::~Hash()
{
ZoneScoped;
free(m_keys);
m_used_buckets = 0;
m_bucket_count = 0;
@ -69,6 +67,7 @@ Hash::~Hash()
uint64_t Hash::lookup(uint64_t key, uint64_t default_value)
{
ZoneScoped;
if (m_bucket_count == 0)
return default_value;
uint64_t i = key % m_bucket_count;
@ -84,6 +83,7 @@ uint64_t Hash::lookup(uint64_t key, uint64_t default_value)
bool Hash::insert(uint64_t key, uint64_t value)
{
ZoneScoped;
if (key == HASH_EMPTY_KEY || key == HASH_TOMBSTONE_KEY) {
return false;
}
@ -138,6 +138,7 @@ bool Hash::insert(uint64_t key, uint64_t value)
void Hash::remove(uint64_t key)
{
ZoneScoped;
if (m_bucket_count == 0)
return;
uint64_t i = key % m_bucket_count;

View File

@ -0,0 +1,285 @@
#include "OpenGLGfxInterface.h"
#include "Log.h"
#include "AssetManager.h"
#include "Texture.h"
#include "Profiling.h"
#ifdef _WIN32
#include "glad.h"
#elif defined(__ANDROID__)
#include <GLES3/gl3.h>
#else
#pragma error "Don't compile this!"
#endif
#include <unordered_map>
#include <vector>
#include <assert.h>
static const char* g_vert_src = "#version 300 es \n"
"precision mediump float; \n"
"uniform vec2 res; // resolution \n"
"layout (location = 0) in vec2 v_p0; // top left corner on screen \n"
"layout (location = 1) in vec2 v_p1; // top right corner on screen \n"
"layout (location = 2) in vec2 v_src_p0; \n"
"layout (location = 3) in vec2 v_src_p1; \n"
"layout (location = 4) in vec4 v_color; // color \n"
"layout (location = 5) in int v_expand_r; // \n"
"out vec4 f_color; \n"
"out vec2 f_uv; \n"
"flat out int f_expand_r; \n"
"const vec2 vertices[6] = vec2[6]( \n"
" vec2(-1,-1), \n"
" vec2(+1, -1), \n"
" vec2(-1, +1), \n"
" vec2(+1, -1), \n"
" vec2(+1, +1), \n"
" vec2(-1, +1) \n"
"); \n"
"void main() \n"
"{ \n"
" vec2 v = vertices[gl_VertexID]; \n"
" // destination on screen \n"
" //vec2 dst_half_size = (v_p1 - v_p0) / 2.0; \n"
" //vec2 dst_center = (v_p1 + v_p0) / 2.0; \n"
" vec2 dst_pos = v * ((v_p1 - v_p0) / 2.0) + ((v_p1 + v_p0) / 2.0); \n"
" dst_pos.y = res.y - dst_pos.y; \n"
" vec2 src = v * ((v_src_p1 - v_src_p0) / 2.0) + ((v_src_p1 + v_src_p0) / 2.0); \n"
" gl_Position = vec4(2.0 * dst_pos.x / res.x - 1.0, \n"
" 2.0 * dst_pos.y / res.y - 1.0, \n"
" 0.0, \n"
" 1.0); \n"
" f_color = v_color; \n"
" f_uv = src; \n"
" f_expand_r = v_expand_r; \n"
"} \n";
static const char* g_frag_src = "#version 300 es \n"
"precision mediump float; \n"
"in vec2 f_uv; \n"
"in vec4 f_color; \n"
"flat in int f_expand_r; \n"
"layout (location = 0) out vec4 frag_color; \n"
"uniform sampler2D s_texture; \n"
"void main() \n"
"{ \n"
" vec4 tex_color = texture(s_texture, f_uv); \n"
" if (f_expand_r == 1) \n"
" tex_color = tex_color.rrrr; \n"
" frag_color = tex_color * f_color; \n"
"} \n";
struct OpenGLGfx
{
GLuint m_shader;
GLuint m_vao;
GLuint m_vbo;
KDEStringHandle m_dummy_texture;
std::vector<KDERect> m_rects;
std::vector<KDEStringHandle> m_draw_textures;
std::unordered_map<KDEStringHandle, Texture> m_textures;
}
OpenGLGfx* createOpenGLGfx();
{
ZoneScoped;
OpenGLGFX* gfx = new OpenGLGFX;
GLuint vertex = 0, fragment = 0;
vertex = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertex, 1, &g_vert_src, nullptr);
glCompileShader(vertex);
int status = 0;
glGetShaderiv(vertex, GL_COMPILE_STATUS, &status);
if (status != GL_TRUE) {
char info[512];
glGetShaderInfoLog(vertex, 512, nullptr, info);
ALOGE("Failed to compile ui vertex shader: %s", info);
}
fragment = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragment, 1, &g_frag_src, nullptr);
glCompileShader(fragment);
glGetShaderiv(fragment, GL_COMPILE_STATUS, &status);
if (status != GL_TRUE) {
char info[512];
glGetShaderInfoLog(fragment, 512, nullptr, info);
ALOGE("Failed to compile ui fragment shader: %s", info);
}
gfx->m_shader = glCreateProgram();
glAttachShader(gfx->m_shader, vertex);
glAttachShader(gfx->m_shader, fragment);
glLinkProgram(gfx->m_shader);
glGetProgramiv(gfx->m_shader, GL_LINK_STATUS, &status);
if (status != GL_TRUE) {
char info[512];
glGetProgramInfoLog(gfx->m_shader, 512, nullptr, info);
ALOGE("Failed to link ui shader: %s", info);
}
glDeleteShader(vertex);
glDeleteShader(fragment);
glGenBuffers(1, &gfx->m_vbo);
glGenVertexArrays(1, &gfx->m_vao);
glBindVertexArray(gfx->m_vao);
glBindBuffer(GL_ARRAY_BUFFER, gfx->m_vbo);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)0);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, dst_p1_x));
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, src_p0_x));
glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, src_p1_x));
glVertexAttribPointer(4, 4, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, r));
glVertexAttribIPointer(5, 1, GL_INT, sizeof(Rect), (GLvoid*)offsetof(Rect, expand_r));
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glEnableVertexAttribArray(2);
glEnableVertexAttribArray(3);
glEnableVertexAttribArray(4);
glEnableVertexAttribArray(5);
glVertexAttribDivisor(0, 1);
glVertexAttribDivisor(1, 1);
glVertexAttribDivisor(2, 1);
glVertexAttribDivisor(3, 1);
glVertexAttribDivisor(4, 1);
glVertexAttribDivisor(5, 1);
glBindVertexArray(0);
// Dummy texture (1x1px white)
unsigned char tex[] = {255, 255, 255, 255};
Texture dummy_texture(1, 1, tex);
gfx->m_textures.insert(std::make_pair(0, dummy_texture));
m_dummy_texture = 0;
}
void destroyOpenGLGfx(OpenGLGFX* gfx)
{
ZoneScoped;
for (auto texture : gfx->m_textures)
texture.second.destroy();
glDeleteProgram(gfx->m_shader);
glDeleteVertexArrays(1, &gfx->m_vao);
glDeleteBuffers(1, &gfx->m_vbo);
delete gfx;
}
void openGLGfxPushRect(OpenGLGfx* gfx, KDERect rect, KDEStringHandle texture)
{
if (gfx->m_textures.find(texture) == gfx->m_textures.end()) {
Texture tex;
if (!AssetManager::ptr->loadTexture(StringRepository::global->getString(texture), &tex)) {
ALOGE("Failed to load texture");
return;
}
gfx->m_textures.insert(std::make_pair(texture, tex));
}
gfx->m_rects.push_back(rect);
gfx->m_draw_textures.push_back(texture);
}
void openGLGfxPushFontRect(OpenGLGfx* gfx, KDERect rect,
float char_height,
KDEStringHandle font,
KDEStringHandle id)
{
if (gfx->m_textures.find(id) == gfx->m_textures.end()) {
Texture tex;
if (!AssetManager::ptr->loadFontBitmap(StringRepository::global->getString(font), char_height, &tex)) {
ALOGE("Failed to load font");
return;
}
gfx->m_textures.insert(std::make_pair(id, tex));
}
gfx->m_rects.push_back(rect);
gfx->m_draw_textures.push_back(texture);
}
void openGLGetTextureSize(OpenGLGfx* gfx, KDEStringHandle texture, unsigned int* w, unsigned int* h)
{
ZoneScoped;
if (gfx->m_textures.find(texture) == gfx->m_textures.end()) {
Texture tex;
if (!AssetManager::ptr->loadTexture(StringRepository::global->getString(texture), &tex)) {
ALOGE("Failed to load texture");
return;
}
gfx->m_textures.insert(std::make_pair(texture, tex));
}
Texture tex = gfx->m_textures[texture];
tex.getTextureSize(w, h);
}
void openGLRenderFrame(OpenGLGfx* gfx, float width, float height)
{
ZoneScoped;
assert(gfx->m_rects.size() == gfx->m_draw_textures.size());
glViewport(0, 0, static_cast<int>(width), static_cast<int>(height));
// glClearColor(0.8f, 0.3f, 0.3f, 1.f);
glClearColor(0.0f, 0.0f, 0.0f, 1.f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
const auto rect_count = static_cast<GLsizei>(gfx->m_rects.size());
if (rect_count == 0)
return;
glDisable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);
glEnable(GL_BLEND);
glBlendEquation(GL_FUNC_ADD);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindVertexArray(gfx->m_vao);
glUseProgram(gfx->m_shader);
glUniform2f(glGetUniformLocation(gfx->m_shader, "res"), width, height);
glUniform1i(glGetUniformLocation(gfx->m_shader, "s_texture"), 0);
glBindBuffer(GL_ARRAY_BUFFER, gfx->m_vbo);
size_t start = 0;
StringHandle current_texture = gfx->m_draw_textures[0];
while (start < rect_count) {
glActiveTexture(GL_TEXTURE0);
gfx->m_textures[current_texture].bind();
for (size_t i = start; i < rect_count; ++i) {
StringHandle texture = gfx->m_draw_textures[i];
if ((texture != current_texture)) {
// Draw everything in [start, i - 1]
const size_t count = i - start;
glBufferData(GL_ARRAY_BUFFER,
static_cast<GLsizeiptr>(sizeof(Rect) * count),
&gfx->m_rects[start],
GL_STREAM_DRAW);
glDrawArraysInstanced(GL_TRIANGLES, 0, 6, static_cast<GLsizei>(count));
start = i;
current_texture = texture;
break;
}
if (i == rect_count - 1) {
// just draw it
const size_t count = rect_count - start;
glBufferData(GL_ARRAY_BUFFER,
static_cast<GLsizeiptr>(sizeof(Rect) * count),
&gfx->m_rects[start],
GL_STREAM_DRAW);
glDrawArraysInstanced(GL_TRIANGLES, 0, 6, static_cast<GLsizei>(count));
start = rect_count;
current_texture = texture;
}
}
}
gfx->m_rects.clear();
gfx->m_draw_textures.clear();
}

View File

@ -0,0 +1,25 @@
#ifndef KRIMI_DINNER_GFX_INTERFACE_H
#define KRIMI_DINNER_GFX_INTERFACE_H
#include "Gfx.h"
#include "StringRepository.h"
struct OpenGLGfx;
OpenGLGfx* createOpenGLGfx();
void destroyOpenGLGfx(OpenGLGfx* gfx);
void openGLGfxPushRect(OpenGLGfx* gfx, KDERect rect, KDEStringHandle texture);
void openGLGfxPushFontRect(OpenGLGfx* gfx, KDERect rect,
float char_height,
KDEStringHandle font,
KDEStringHandle id);
void openGLRenderFrame(OpenGLGfx* gfx, float width, float height);
void openGLGetTextureSize(OpenGLGfx* gfx, KDEStringHandle texture, unsigned int* w, unsigned int* h);
#endif

View File

@ -0,0 +1,16 @@
#ifndef KRIMI_DINNER_ENGINE_PROFILING_H
#define KRIMI_DINNER_ENGINE_PROFILING_H
#ifdef _WIN32
#include <tracy/Tracy.hpp>
#else
#define FrameMark
#define ZoneScoped
#endif
#endif

View File

@ -1,172 +1,63 @@
#include "Renderer.h"
#include "Log.h"
#include "AssetManager.h"
#include "Texture.h"
#include "Profiling.h"
#ifdef __APPLE__
#include "../m/MetalGfxInterface.h"
#else
#include "OpenGLGFXInterface.h"
#endif
#include <assert.h>
Renderer* Renderer::ptr = nullptr;
static const char* g_vert_src = "#version 300 es \n"
"precision mediump float; \n"
"uniform vec2 res; // resolution \n"
"layout (location = 0) in vec2 v_p0; // top left corner on screen \n"
"layout (location = 1) in vec2 v_p1; // top right corner on screen \n"
"layout (location = 2) in vec2 v_src_p0; \n"
"layout (location = 3) in vec2 v_src_p1; \n"
"layout (location = 4) in vec4 v_color; // color \n"
"layout (location = 5) in int v_expand_r; // \n"
"out vec4 f_color; \n"
"out vec2 f_uv; \n"
"flat out int f_expand_r; \n"
"const vec2 vertices[6] = vec2[6]( \n"
" vec2(-1,-1), \n"
" vec2(+1, -1), \n"
" vec2(-1, +1), \n"
" vec2(+1, -1), \n"
" vec2(+1, +1), \n"
" vec2(-1, +1) \n"
"); \n"
"void main() \n"
"{ \n"
" vec2 v = vertices[gl_VertexID]; \n"
" // destination on screen \n"
" //vec2 dst_half_size = (v_p1 - v_p0) / 2.0; \n"
" //vec2 dst_center = (v_p1 + v_p0) / 2.0; \n"
" vec2 dst_pos = v * ((v_p1 - v_p0) / 2.0) + ((v_p1 + v_p0) / 2.0); \n"
" dst_pos.y = res.y - dst_pos.y; \n"
" vec2 src = v * ((v_src_p1 - v_src_p0) / 2.0) + ((v_src_p1 + v_src_p0) / 2.0); \n"
" gl_Position = vec4(2.0 * dst_pos.x / res.x - 1.0, \n"
" 2.0 * dst_pos.y / res.y - 1.0, \n"
" 0.0, \n"
" 1.0); \n"
" f_color = v_color; \n"
" f_uv = src; \n"
" f_expand_r = v_expand_r; \n"
"} \n";
#define DUMMY_TEXTURE 0
static const char* g_frag_src = "#version 300 es \n"
"precision mediump float; \n"
"in vec2 f_uv; \n"
"in vec4 f_color; \n"
"flat in int f_expand_r; \n"
"layout (location = 0) out vec4 frag_color; \n"
"uniform sampler2D s_texture; \n"
"void main() \n"
"{ \n"
" vec4 tex_color = texture(s_texture, f_uv); \n"
" if (f_expand_r == 1) \n"
" tex_color = tex_color.rrrr; \n"
" frag_color = tex_color * f_color; \n"
"} \n";
void Renderer::create()
void Renderer::create(void* gfx)
{
Renderer::ptr = new Renderer;
ZoneScoped;
Renderer::ptr = new Renderer(gfx);
}
void Renderer::destroy()
{
ZoneScoped;
delete Renderer::ptr;
Renderer::ptr = nullptr;
}
Renderer::Renderer()
Renderer::Renderer(void* gfx)
: m_gfx(gfx)
{
GLuint vertex = 0, fragment = 0;
vertex = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertex, 1, &g_vert_src, nullptr);
glCompileShader(vertex);
int status = 0;
glGetShaderiv(vertex, GL_COMPILE_STATUS, &status);
if (status != GL_TRUE) {
char info[512];
glGetShaderInfoLog(vertex, 512, nullptr, info);
ALOGE("Failed to compile ui vertex shader: %s", info);
}
fragment = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragment, 1, &g_frag_src, nullptr);
glCompileShader(fragment);
glGetShaderiv(fragment, GL_COMPILE_STATUS, &status);
if (status != GL_TRUE) {
char info[512];
glGetShaderInfoLog(fragment, 512, nullptr, info);
ALOGE("Failed to compile ui fragment shader: %s", info);
}
m_shader = glCreateProgram();
glAttachShader(m_shader, vertex);
glAttachShader(m_shader, fragment);
glLinkProgram(m_shader);
glGetProgramiv(m_shader, GL_LINK_STATUS, &status);
if (status != GL_TRUE) {
char info[512];
glGetProgramInfoLog(m_shader, 512, nullptr, info);
ALOGE("Failed to link ui shader: %s", info);
}
glDeleteShader(vertex);
glDeleteShader(fragment);
glGenBuffers(1, &m_vbo);
glGenVertexArrays(1, &m_vao);
glBindVertexArray(m_vao);
glBindBuffer(GL_ARRAY_BUFFER, m_vbo);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)0);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, dst_p1_x));
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, src_p0_x));
glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, src_p1_x));
glVertexAttribPointer(4, 4, GL_FLOAT, GL_FALSE, sizeof(Rect), (GLvoid*)offsetof(Rect, r));
glVertexAttribIPointer(5, 1, GL_INT, sizeof(Rect), (GLvoid*)offsetof(Rect, expand_r));
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glEnableVertexAttribArray(2);
glEnableVertexAttribArray(3);
glEnableVertexAttribArray(4);
glEnableVertexAttribArray(5);
glVertexAttribDivisor(0, 1);
glVertexAttribDivisor(1, 1);
glVertexAttribDivisor(2, 1);
glVertexAttribDivisor(3, 1);
glVertexAttribDivisor(4, 1);
glVertexAttribDivisor(5, 1);
glBindVertexArray(0);
// Dummy texture (1x1px white)
unsigned char tex[] = {255, 255, 255, 255};
Texture dummy_texture(1, 1, tex);
m_textures.insert(std::make_pair(0, dummy_texture));
m_dummy_texture = 0;
ZoneScoped;
}
Renderer::~Renderer()
{
for (auto texture : m_textures)
texture.second.destroy();
glDeleteProgram(m_shader);
glDeleteVertexArrays(1, &m_vao);
glDeleteBuffers(1, &m_vbo);
ZoneScoped;
}
void Renderer::addRect(float x, float y, float w, float h)
{
addRect(x, y, w, h, 1.f, 1.f, 1.f, 1.f, m_dummy_texture, 0.f, 0.f, 1.f, 1.f);
ZoneScoped;
addRect(x, y, w, h, 1.f, 1.f, 1.f, 1.f, DUMMY_TEXTURE, 0.f, 0.f, 1.f, 1.f);
}
void Renderer::addRect(float x, float y, float w, float h, StringHandle texture)
void Renderer::addRect(float x, float y, float w, float h, KDEStringHandle texture)
{
ZoneScoped;
addRect(x, y, w, h, 1.f, 1.f, 1.f, 1.f, texture, 0.f, 0.f, 1.f, 1.f);
}
void Renderer::addRect(float x, float y, float w, float h, float r, float g, float b, float a)
{
addRect(x, y, w, h, r, g, b, a, m_dummy_texture, 0.f, 0.f, 1.f, 1.f);
ZoneScoped;
addRect(x, y, w, h, r, g, b, a, DUMMY_TEXTURE, 0.f, 0.f, 1.f, 1.f);
}
void Renderer::addRect(float x, float y, float w, float h, float r, float g, float b, float a, StringHandle texture)
void Renderer::addRect(float x, float y, float w, float h, float r, float g, float b, float a, KDEStringHandle texture)
{
ZoneScoped;
addRect(x, y, w, h, r, g, b, a, texture, 0.f, 0.f, 1.f, 1.f);
}
@ -174,12 +65,13 @@ void Renderer::addRect(float x,
float y,
float w,
float h,
StringHandle texture,
KDEStringHandle texture,
float src_x,
float src_y,
float src_w,
float src_h)
{
ZoneScoped;
addRect(x, y, w, h, 1.f, 1.f, 1.f, 1.f, texture, src_x, src_y, src_w, src_h);
}
@ -191,22 +83,15 @@ void Renderer::addRect(float x,
float g,
float b,
float a,
StringHandle texture,
KDEStringHandle texture,
float src_x,
float src_y,
float src_w,
float src_h)
{
if (m_textures.find(texture) == m_textures.end()) {
Texture tex;
if (!AssetManager::ptr->loadTexture(StringRepository::global->getString(texture), &tex)) {
ALOGE("Failed to load texture");
return;
}
m_textures.insert(std::make_pair(texture, tex));
}
ZoneScoped;
Rect rect = {};
KDERect rect = {};
rect.dst_p0_x = x;
rect.dst_p0_y = y;
rect.dst_p1_x = x + w;
@ -220,8 +105,12 @@ void Renderer::addRect(float x,
rect.b = b;
rect.a = a;
rect.expand_r = 0;
m_rects.push_back(rect);
m_draw_textures.push_back(texture);
#ifdef __APPLE__
metalGfxPushRect(m_gfx, rect, texture);
#else
openGLGfxPushRect((OpenGLGfx*)m_gfx, rect, texture);
#endif
}
void Renderer::addFontRect(float x,
@ -229,13 +118,14 @@ void Renderer::addFontRect(float x,
float w,
float h,
float char_height,
StringHandle font,
StringHandle id,
KDEStringHandle font,
KDEStringHandle id,
float src_x0,
float src_y0,
float src_x1,
float src_y1)
{
ZoneScoped;
addFontRect(x, y, w, h, 0.f, 0.f, 0.f, 1.f, char_height, font, id, src_x0, src_y0, src_x1, src_y1);
}
@ -248,23 +138,15 @@ void Renderer::addFontRect(float x,
float b,
float a,
float char_height,
StringHandle font,
StringHandle id,
KDEStringHandle font,
KDEStringHandle id,
float src_x0,
float src_y0,
float src_x1,
float src_y1)
{
if (m_textures.find(id) == m_textures.end()) {
Texture tex;
if (!AssetManager::ptr->loadFontBitmap(StringRepository::global->getString(font), char_height, &tex)) {
ALOGE("Failed to load texture");
return;
}
m_textures.insert(std::make_pair(id, tex));
}
Rect rect = {};
ZoneScoped;
KDERect rect = {};
rect.dst_p0_x = x;
rect.dst_p0_y = y;
rect.dst_p1_x = x + w;
@ -278,84 +160,28 @@ void Renderer::addFontRect(float x,
rect.b = b;
rect.a = a;
rect.expand_r = 1;
m_rects.push_back(rect);
m_draw_textures.push_back(id);
#ifdef __APPLE__
metalGfxPushFontRect(m_gfx, rect, char_height, font, id);
#else
openGLGfxPushFontRect((OpenGLGfx*)m_gfx, rect, char_height, font, id);
#endif
}
void Renderer::renderFrame(float width, float height)
{
assert(m_rects.size() == m_draw_textures.size());
glViewport(0, 0, static_cast<int>(width), static_cast<int>(height));
// glClearColor(0.8f, 0.3f, 0.3f, 1.f);
glClearColor(0.0f, 0.0f, 0.0f, 1.f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
const auto rect_count = static_cast<GLsizei>(m_rects.size());
if (rect_count == 0)
return;
glDisable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);
glEnable(GL_BLEND);
glBlendEquation(GL_FUNC_ADD);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindVertexArray(m_vao);
glUseProgram(m_shader);
glUniform2f(glGetUniformLocation(m_shader, "res"), width, height);
glUniform1i(glGetUniformLocation(m_shader, "s_texture"), 0);
glBindBuffer(GL_ARRAY_BUFFER, m_vbo);
size_t start = 0;
StringHandle current_texture = m_draw_textures[0];
while (start < rect_count) {
glActiveTexture(GL_TEXTURE0);
m_textures[current_texture].bind();
for (size_t i = start; i < rect_count; ++i) {
StringHandle texture = m_draw_textures[i];
if ((texture != current_texture)) {
// Draw everything in [start, i - 1]
const size_t count = i - start;
glBufferData(GL_ARRAY_BUFFER,
static_cast<GLsizeiptr>(sizeof(Rect) * count),
&m_rects[start],
GL_STREAM_DRAW);
glDrawArraysInstanced(GL_TRIANGLES, 0, 6, static_cast<GLsizei>(count));
start = i;
current_texture = texture;
break;
}
if (i == rect_count - 1) {
// just draw it
const size_t count = rect_count - start;
glBufferData(GL_ARRAY_BUFFER,
static_cast<GLsizeiptr>(sizeof(Rect) * count),
&m_rects[start],
GL_STREAM_DRAW);
glDrawArraysInstanced(GL_TRIANGLES, 0, 6, static_cast<GLsizei>(count));
start = rect_count;
current_texture = texture;
}
}
}
m_rects.clear();
m_draw_textures.clear();
// This is done automatically under iOS and does not require a call.
#if defined(_WIN32) || defined(__ANDROID__)
openGLGfxRenderFrame((OpenGLGfx*)m_gfx, width, height);
#endif
}
void Renderer::getTextureSize(StringHandle texture, unsigned int* w, unsigned int* h)
void Renderer::getTextureSize(KDEStringHandle texture, unsigned int* w, unsigned int* h)
{
if (m_textures.find(texture) == m_textures.end()) {
Texture tex;
if (!AssetManager::ptr->loadTexture(StringRepository::global->getString(texture), &tex)) {
ALOGE("Failed to load texture");
return;
}
m_textures.insert(std::make_pair(texture, tex));
}
Texture tex = m_textures[texture];
tex.getTextureSize(w, h);
}
#ifdef __APPLE__
// TODO
#else
openGLGfxGetTextureSize((OpenGLGfx*)m_gfx, texture, w, h);
#endif
}

View File

@ -2,15 +2,8 @@
#define KRIMI_DINNER_ENGINE_RENDERER_H
/// @file Renderer.h
/// @brief GLES3 renderer
/// @brief Platform independent renderer interface
#ifdef _WIN32
#include "glad.h"
#else
#include <GLES3/gl3.h>
#endif
#include <unordered_map>
#include <vector>
#include "Texture.h"
#include "StringRepository.h"
@ -23,7 +16,7 @@ public:
static Renderer* ptr;
/// @brief Creates the singleton and sets @ref Renderer::ptr
static void create();
static void create(void* gfx);
/// @brief Destroys the singleton, only call this if you know what you are doing.
static void destroy();
@ -41,7 +34,7 @@ public:
/// \param w width in pixels
/// \param h height in pixels
/// \param texture String handle in the global string repository of the texture file name
void addRect(float x, float y, float w, float h, StringHandle texture);
void addRect(float x, float y, float w, float h, KDEStringHandle texture);
/// @brief Adds a colored rectangle to the screen
/// \param x X-coordinate of the top-left corner
@ -64,7 +57,7 @@ public:
/// \param b blue [0,1]
/// \param a alpha [0,1]
/// \param texture String handle in the global string repository of the texture file name
void addRect(float x, float y, float w, float h, float r, float g, float b, float a, StringHandle texture);
void addRect(float x, float y, float w, float h, float r, float g, float b, float a, KDEStringHandle texture);
/// @brief Adds a textured rectangle to the screen
/// \param x X-coordinate of the top-left corner
@ -80,7 +73,7 @@ public:
float y,
float w,
float h,
StringHandle texture,
KDEStringHandle texture,
float src_x,
float src_y,
float src_w,
@ -108,7 +101,7 @@ public:
float g,
float b,
float a,
StringHandle texture,
KDEStringHandle texture,
float src_x,
float src_y,
float src_w,
@ -130,8 +123,8 @@ public:
float w,
float h,
float char_height,
StringHandle font,
StringHandle id,
KDEStringHandle font,
KDEStringHandle id,
float src_x0,
float src_y0,
float src_x1,
@ -161,8 +154,8 @@ public:
float b,
float a,
float char_height,
StringHandle font,
StringHandle id,
KDEStringHandle font,
KDEStringHandle id,
float src_x0,
float src_y0,
float src_x1,
@ -179,37 +172,20 @@ public:
/// \param w output width in pixels
/// \param h output height in pixels
void getTextureSize(
StringHandle texture,
KDEStringHandle texture,
unsigned int* w,
unsigned int* h);
void* getGfx() { return m_gfx; }
private:
Renderer();
Renderer(void* gfx);
~Renderer();
Renderer(const Renderer&) = delete;
Renderer& operator=(const Renderer&) = delete;
struct Rect
{
float dst_p0_x, dst_p0_y;
float dst_p1_x, dst_p1_y;
float src_p0_x, src_p0_y;
float src_p1_x, src_p1_y;
float r, g, b, a;
int expand_r;
};
GLuint m_shader;
GLuint m_vao;
GLuint m_vbo;
StringHandle m_dummy_texture;
std::vector<Rect> m_rects;
std::vector<StringHandle> m_draw_textures;
std::unordered_map<StringHandle, Texture> m_textures;
void *m_gfx;
};
#endif
#endif

View File

@ -1,12 +1,15 @@
#include "StringRepository.h"
#include "Profiling.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
static StringRepository g_global_repository;
StringRepository* StringRepository::global = &g_global_repository;
static uint64_t hashString(const char* string, unsigned int length)
{
ZoneScoped;
uint64_t hash = 0xcbf29ce484222325;
for (unsigned int i = 0; i < length; ++i) {
hash = hash ^ string[i];
@ -19,6 +22,7 @@ static uint64_t hashString(const char* string, unsigned int length)
StringRepository::StringRepository(const StringRepository& copy)
{
ZoneScoped;
if (m_buffer)
free(m_buffer);
m_one_past_last_char = copy.m_one_past_last_char;
@ -30,13 +34,15 @@ StringRepository::StringRepository(const StringRepository& copy)
StringRepository::~StringRepository()
{
ZoneScoped;
m_one_past_last_char = 0;
m_buffer_size = 0;
free(m_buffer);
}
StringHandle StringRepository::internStringLength(const char* string, unsigned int length)
KDEStringHandle StringRepository::internStringLength(const char* string, unsigned int length)
{
ZoneScoped;
uint64_t hash = hashString(string, length);
uint32_t offset = static_cast<uint32_t>(m_hash.lookup(hash, UINT32_MAX));
if (offset == UINT32_MAX) {
@ -56,29 +62,46 @@ StringHandle StringRepository::internStringLength(const char* string, unsigned i
if (!m_hash.insert(hash, offset))
return 0;
}
return static_cast<StringHandle>(offset + 1);
return static_cast<KDEStringHandle>(offset + 1);
}
StringHandle StringRepository::internString(const char* string)
KDEStringHandle StringRepository::internString(const char* string)
{
ZoneScoped;
return internStringLength(string, strlen(string));
}
const char* StringRepository::getString(StringHandle handle)
const char* StringRepository::getString(KDEStringHandle handle)
{
ZoneScoped;
if (handle == 0 || handle >= m_one_past_last_char)
return nullptr;
uint32_t offset = handle - 1;
return &m_buffer[offset];
}
void StringRepository::releaseString(StringHandle)
void StringRepository::releaseString(KDEStringHandle)
{
// do nothing
}
KDEStringHandle StringRepository::concatenateString(KDEStringHandle a, KDEStringHandle b)
{
ZoneScoped;
const char* texta = getString(a);
const char* textb = getString(b);
size_t length = strlen(texta) + strlen(textb);
char* textc = (char*)malloc(sizeof(char)*(length+1));
snprintf(textc, length + 1, "%s%s", texta, textb);
nt_string_handle c = internString(textc);
free(textc);
return c;
}
void StringRepository::freeAll()
{
ZoneScoped;
m_one_past_last_char = 0;
m_hash = Hash();
m_buffer_size = 0;

View File

@ -8,10 +8,10 @@
#include "Hash.h"
/// A string handle
using StringHandle = uint32_t;
using KDEStringHandle = uint32_t;
// Alias for compatibility
using nt_string_handle = StringHandle;
using nt_string_handle = KDEStringHandle;
/// @brief Stores strings
class StringRepository
@ -27,19 +27,24 @@ public:
/// @brief Adds a string to the string repository
/// @param string the string
/// @param length length in bytes
StringHandle internStringLength(const char* string, unsigned int length);
KDEStringHandle internStringLength(const char* string, unsigned int length);
/// @brief Adds a string to the string repository
/// @param string the string
StringHandle internString(const char* string);
KDEStringHandle internString(const char* string);
/// @brief Retrieves a string value
/// @param handle The string handle
/// @return The string
const char* getString(StringHandle handle);
const char* getString(KDEStringHandle handle);
/// @brief Frees a string
void releaseString(StringHandle handle);
void releaseString(KDEStringHandle handle);
/// @brief Adds a string to the string repository
/// @param a the first string
/// @param b the second string
KDEStringHandle concatenateString(KDEStringHandle a, KDEStringHandle b);
/// @brief Frees all strings inside the repository
void freeAll();
@ -51,4 +56,4 @@ private:
Hash m_hash;
};
#endif
#endif

View File

@ -1,7 +1,18 @@
#include "Texture.h"
#include "Profiling.h"
#include "Renderer.h"
#ifdef __APPLE__
#include "../m/MetalGfxInterface.h"
#endif
#if defined(__ANDROID__) || defined(_WIN32)
Texture::Texture() : m_texture(0) {}
Texture::Texture(unsigned int width, unsigned int height, const void* data) : m_texture(0)
{
ZoneScoped;
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1, &m_texture);
glBindTexture(GL_TEXTURE_2D, m_texture);
@ -26,6 +37,8 @@ Texture::Texture(unsigned int width, unsigned int height, const void* data) : m_
Texture::Texture(unsigned int width, unsigned int height, const void* data, GLint format) : m_texture(0)
{
ZoneScoped;
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1, &m_texture);
glBindTexture(GL_TEXTURE_2D, m_texture);
@ -51,20 +64,52 @@ Texture::Texture(unsigned int width, unsigned int height, const void* data, GLin
void Texture::destroy()
{
ZoneScoped;
glDeleteTextures(1, &m_texture);
}
void Texture::bind() const
{
ZoneScoped;
glBindTexture(GL_TEXTURE_2D, m_texture);
}
#else
Texture::Texture() : m_texture(nullptr) {}
Texture::Texture(unsigned int width, unsigned int height, const void* data)
: width_px(width), height_px(height)
{
m_texture = metalGfxCreateTexture(Renderer::ptr->getGfx(), data, width, height, MetalGfxTextureFormat_RGBA);
}
Texture::Texture(unsigned int width, unsigned int height, const void* data, int dummy)
: width_px(width), height_px(height)
{
m_texture = metalGfxCreateTexture(Renderer::ptr->getGfx(), data, width, height, MetalGfxTextureFormat_Red);
}
void Texture::destroy()
{
metalGfxDestroyTexture(m_texture);
m_texture = nullptr;
}
void Texture::bind() const
{
/* This is a no-op under metal? */
}
#endif
void Texture::getTextureSize(unsigned int* w, unsigned int* h)
{
ZoneScoped;
if (w != nullptr) {
*w = width_px;
}
if (h != nullptr) {
*h = height_px;
}
}
}

View File

@ -6,7 +6,7 @@
#ifdef _WIN32
#include "glad.h"
#else
#elif defined(__ANDROID__)
#include <GLES3/gl3.h>
#endif
@ -16,9 +16,9 @@ class Renderer;
class Texture
{
public:
Texture() : m_texture(0) {}
Texture();
Texture(unsigned int width, unsigned int height, const void* data);
Texture(unsigned int width, unsigned int height, const void* data, GLint format);
Texture(unsigned int width, unsigned int height, const void* data, int format);
Texture(const Texture&) = default;
Texture(Texture&&) = default;
@ -37,8 +37,16 @@ public:
unsigned int* w,
unsigned int* h);
#ifdef __APPLE__
void* getObj() { return m_texture; }
#endif
private:
#if defined(_WIN32) || defined(__ANDROID__)
GLuint m_texture;
#elif defined(__APPLE__)
void* m_texture;
#endif
int width_px;
int height_px;

View File

@ -1,10 +1,12 @@
#include "Win32AssetManager.h"
#include "Profiling.h"
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
void Win32AssetManager::create(const char* asset_root_dir)
{
ZoneScoped;
static Win32AssetManager mgr;
mgr.m_asset_root = asset_root_dir;
AssetManager::ptr = &mgr;
@ -12,6 +14,7 @@ void Win32AssetManager::create(const char* asset_root_dir)
bool Win32AssetManager::loadFile(const char* path, FileBuffer* p_file_buffer)
{
ZoneScoped;
// TODO(Kevin): We could totally optimize this via a custom allocator
char _cp[MAX_PATH];
strncpy(_cp, m_asset_root, MAX_PATH);
@ -62,6 +65,7 @@ bool Win32AssetManager::loadFile(const char* path, FileBuffer* p_file_buffer)
void Win32AssetManager::releaseFileBuffer(FileBuffer& fb)
{
ZoneScoped;
void* data = const_cast<void*>(fb.data);
VirtualFree(data, 0, MEM_RELEASE);
fb.data = nullptr;
@ -70,6 +74,7 @@ void Win32AssetManager::releaseFileBuffer(FileBuffer& fb)
bool Win32AssetManager::writeFile(const char* path, const void* data, size_t size)
{
ZoneScoped;
char _cp[MAX_PATH];
strncpy(_cp, m_asset_root, MAX_PATH);
strncat(_cp, "\\", MAX_PATH);
@ -104,5 +109,57 @@ bool Win32AssetManager::writeFile(const char* path, const void* data, size_t siz
bool Win32AssetManager::writeFile(const char* path, const FileBuffer& file_buffer)
{
ZoneScoped;
return writeFile(path, file_buffer.data, file_buffer.size);
}
Win32AssetManager::FileHandle Win32AssetManager::createFile(const char* path)
{
ZoneScoped;
char _cp[MAX_PATH];
strncpy(_cp, m_asset_root, MAX_PATH);
strncat(_cp, "\\", MAX_PATH);
strncat(_cp, path, MAX_PATH);
HANDLE h = CreateFileA(_cp, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
if (!h || h == INVALID_HANDLE_VALUE)
return nullptr;
return (h);
}
bool Win32AssetManager::writeToFile(FileHandle _file, const void* data, size_t size)
{
ZoneScoped;
HANDLE file = (HANDLE)_file;
const char* at = reinterpret_cast<const char*>(data);
while (size >= UINT32_MAX) {
DWORD bytes_written = 0;
if (!WriteFile(file, at, UINT32_MAX, &bytes_written, nullptr)) {
CloseHandle(file);
return false;
}
size -= bytes_written;
at += bytes_written;
}
if (size > 0) {
DWORD bytes_written = 0;
if (!WriteFile(file, at, size, &bytes_written, nullptr)) {
CloseHandle(file);
return false;
}
}
return true;
}
bool Win32AssetManager::writeToFile(FileHandle file, const FileBuffer& file_buffer)
{
ZoneScoped;
return writeToFile(file, file_buffer.data, file_buffer.size);
}
void Win32AssetManager::closeFile(FileHandle file)
{
ZoneScoped;
CloseHandle((HANDLE)file);
}

View File

@ -6,6 +6,8 @@
class Win32AssetManager : public AssetManager
{
public:
typedef void* FileHandle;
/// @brief Create the singleton instance
///
/// Sets @ref AssetManager::ptr to the singleton instance
@ -29,6 +31,30 @@ public:
/// @return @c true if writing the file was successfull, @c false otherwise
bool writeFile(const char* path, const FileBuffer& file_buffer);
/// @brief Creates a file and opens it for writing.
///
/// Overwrites an already existing file.
/// @param path Path realtive to the asset root directory
/// @return Handle to the open file, or @c nullptr if the file could not be created.
FileHandle createFile(const char* path);
/// @brief Writes data to an open file
/// @param file File handle
/// @param data Data buffer
/// @param size Number of bytes
/// @return @c true if writing to the file was successfull, @c false otherwise
bool writeToFile(FileHandle file, const void* data, size_t size);
/// @brief Write data to an open file.
/// @param file File handle
/// @param file_buffer Data buffer
/// @return @c true if writing to the file was successfull, @c false otherwise
bool writeToFile(FileHandle file, const FileBuffer& file_buffer);
/// @brief Closes an open file.
/// @param file The file handle
void closeFile(FileHandle file);
private:
const char* m_asset_root;
};

View File

@ -7,6 +7,7 @@
#include "TouchInput.h"
#include "Position.h"
#include "GameState.h"
#include "Profiling.h"
#undef APIENTRY
#define WIN32_LEAN_AND_MEAN
@ -34,6 +35,8 @@ static void errorCallback(int error, const char* desc)
static void charCallback(GLFWwindow* window, unsigned int cp)
{
ZoneScoped;
UserData* ud = reinterpret_cast<UserData*>(glfwGetWindowUserPointer(window));
assert(ud != nullptr);
if (ud->cp_array.count < ud->cp_array.cap)
@ -42,6 +45,8 @@ static void charCallback(GLFWwindow* window, unsigned int cp)
static void scrollCallback(GLFWwindow* window, double /* xoffset */, double yoffset)
{
ZoneScoped;
UserData* ud = reinterpret_cast<UserData*>(glfwGetWindowUserPointer(window));
assert(ud != nullptr);
ud->scroll_offset = yoffset;
@ -92,7 +97,7 @@ int main()
StringHandle smiley = StringRepository::global->internString("smiley_PNG42.png");
StringHandle ttf = StringRepository::global->internString("Milky Honey.ttf");
FontData fd;
AssetManager::ptr->loadFontData("Milky Honey.ttf", 24.f, &fd);
AssetManager::ptr->loadFontData("Milky Honey.ttf", 128.f, &fd);
// ENDE BEISPIELCODE
glfwSwapInterval(1);
@ -187,12 +192,13 @@ int main()
while (*text) {
if (*text >= 32 && *text < 128) {
stbtt_aligned_quad q;
stbtt_GetBakedQuad(fd.char_data, 1024, 1024, *text - 32, &tx, &ty, &q, 1);
stbtt_GetPackedQuad(fd.char_data, fd.bitmap_size, fd.bitmap_size, *text - 32, &tx, &ty, &q, 1);
float w = q.x1 - q.x0, h = q.y1 - q.y0;
Renderer::ptr->addFontRect(q.x0,
q.y0,
w,
h,
1.f, 0.f, 0.f, 1.f,
fd.char_height,
ttf,
StringRepository::global->internString("1"),
@ -209,6 +215,7 @@ int main()
Renderer::ptr->renderFrame(static_cast<float>(w), static_cast<float>(h));
glfwSwapBuffers(window);
FrameMark;
}
glfwDestroyWindow(window);

View File

@ -1,7 +1,16 @@
package tech.recreational.kde;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.view.View;
import android.view.Window;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsControllerCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.FragmentManager;
import com.google.androidgamesdk.GameActivity;
@ -10,14 +19,37 @@ public class KDEActivity extends GameActivity {
System.loadLibrary("kde");
}
static Window window;
public void openLink(String url){
try {
Uri uri = Uri.parse(url);
View view = window.getDecorView().getRootView();
Context context = view.getContext();
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setData(uri);
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PackageManager manager = context.getPackageManager();
// Verify that the intent will resolve to an activity
if (browserIntent.resolveActivity(manager) != null) {
// Here we use an intent without a Chooser unlike the next example
context.startActivity(browserIntent);
}
}
catch (Exception e){
}
}
protected void onResume() {
super.onResume();
hideSystemBars();
}
private void hideSystemBars() {
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(
getWindow().getDecorView());
window = getWindow();
View view = window.getDecorView();
WindowInsetsControllerCompat windowInsetsController = ViewCompat
.getWindowInsetsController(view);
if (windowInsetsController == null)
return;
windowInsetsController.setSystemBarsBehavior(WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);

View File

@ -0,0 +1,16 @@
//
// AppDelegate.h
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end

View File

@ -0,0 +1,44 @@
//
// AppDelegate.m
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
@end

View File

@ -0,0 +1,11 @@
{
"colors" : [
{
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,17 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"origin" : "bottom-left",
"interpretation" : "non-premultiplied-colors"
},
"textures" : [
{
"idiom" : "universal",
"filename" : "Universal.mipmapset"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -0,0 +1,12 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
},
"levels" : [
{
"filename" : "ColorMap.png",
"mipmap-level" : "base"
}
]
}

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BV1-FR-VrT">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Game View Controller-->
<scene sceneID="tXr-a1-R10">
<objects>
<viewController id="BV1-FR-VrT" customClass="GameViewController" customModuleProvider="" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="3se-qz-xqx" customClass="MTKView">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<viewLayoutGuide key="safeArea" id="rZh-zQ-HcR"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="SZV-WD-TEh" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>

View File

@ -0,0 +1,16 @@
//
// GameViewController.h
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
#import <UIKit/UIKit.h>
#import <Metal/Metal.h>
#import <MetalKit/MetalKit.h>
#import "Renderer.h"
// Our iOS view controller
@interface GameViewController : UIViewController
@end

View File

@ -0,0 +1,45 @@
//
// GameViewController.m
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
#import "GameViewController.h"
#import "MetalViewDelegate.h"
#include "../cpp/Renderer.h"
#include "IOSAssetManager.h"
@implementation GameViewController
{
MTKView *_view;
MetalViewDelegate *_renderer;
}
- (void)viewDidLoad
{
[super viewDidLoad];
_view = (MTKView *)self.view;
_view.device = MTLCreateSystemDefaultDevice();
_view.backgroundColor = UIColor.blackColor;
if(!_view.device)
{
NSLog(@"Metal is not supported on this device");
self.view = [[UIView alloc] initWithFrame:self.view.frame];
return;
}
IOSAssetManager::create();
_renderer = [[MetalViewDelegate alloc] initWithMetalKitView:_view];
_view.delegate = _renderer;
Renderer::create((__bridge void*)_renderer);
}
@end

View File

@ -0,0 +1,17 @@
#ifndef KRIMI_DINNER_ENGINE_IOSAssetManager_h
#define KRIMI_DINNER_ENGINE_IOSAssetManager_h
#include "../cpp/AssetManager.h"
class IOSAssetManager : public AssetManager
{
public:
static void create();
bool loadFile(const char* path, FileBuffer* p_file_buffer) override;
void releaseFileBuffer(FileBuffer& fb) override;
};
#endif

View File

@ -0,0 +1,35 @@
#include "IOSAssetManager.h"
#import <Foundation/Foundation.h>
#include <stdlib.h>
#include <string.h>
void IOSAssetManager::create()
{
ptr = new IOSAssetManager;
}
bool IOSAssetManager::loadFile(const char* path, FileBuffer* p_file_buf)
{
NSString* search_path = [NSString stringWithUTF8String:path];
NSString* full_path = [[NSBundle mainBundle] pathForResource:search_path ofType:@"" inDirectory:@"assets"];
NSData* content = [[NSFileManager defaultManager] contentsAtPath: full_path];
NSUInteger length = [content length];
void *buf = malloc((size_t)length);
if (!buf)
return false;
[content getBytes: buf length: length];
p_file_buf->data = buf;
p_file_buf->size = (size_t)length;
p_file_buf->internal = NULL;
return true;
}
void IOSAssetManager::releaseFileBuffer(FileBuffer& fb)
{
free((void*)fb.data);
memset(&fb, 0, sizeof(fb));
}

View File

@ -0,0 +1,21 @@
#ifndef KRIMI_DINNER_ENGINE_METAL_GFX_INTERFACE_H
#define KRIMI_DINNER_ENGINE_METAL_GFX_INTERFACE_H
#include "../cpp/Gfx.h"
#include "../cpp/StringRepository.h"
void metalGfxPushRect(void* metalGfxObj, KDERect rect, KDEStringHandle texture);
void metalGfxPushFontRect(void* metalGfxObj, KDERect rect, float char_height, KDEStringHandle font, KDEStringHandle key);
typedef enum MetalGfxTextureFormat
{
MetalGfxTextureFormat_RGBA,
MetalGfxTextureFormat_Red,
} MetalGfxTextureFormat;
void* metalGfxCreateTexture(void* metalGfxObj, const void* pixels, unsigned int width, unsigned int height, MetalGfxTextureFormat format);
void metalGfxDestroyTexture(void* textureObj);
#endif

View File

@ -0,0 +1,29 @@
#import <Foundation/Foundation.h>
#import "MetalViewDelegate.h"
#import <MetalKit/MetalKit.h>
#import "MetalGfxInterface.h"
void metalGfxPushRect(void* metalGfxObj, KDERect rect, KDEStringHandle texture)
{
[(__bridge id) metalGfxObj pushRect: rect withTexture: texture];
}
void metalGfxPushFontRect(void* metalGfxObj, KDERect rect, float char_height, KDEStringHandle font, KDEStringHandle key)
{
[(__bridge id)metalGfxObj pushRect:rect withFont:font withCharHeight:char_height withKey:key];
}
void* metalGfxCreateTexture(void* metalGfxObj, const void* pixels, unsigned int width, unsigned int height, MetalGfxTextureFormat format)
{
MTLPixelFormat pxFormat = (format == MetalGfxTextureFormat_RGBA)
? MTLPixelFormatRGBA8Uint
: MTLPixelFormatR8Uint;
return (__bridge_retained void*)[(__bridge id)metalGfxObj createTexture:pixels width:width height:height format:pxFormat];
}
void metalGfxDestroyTexture(void* textureObj)
{
id<MTLTexture> texture = (__bridge_transfer id)textureObj;
// Texture should be dropped here
}

View File

@ -0,0 +1,26 @@
//
// Renderer.h
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
#import <MetalKit/MetalKit.h>
#include "../cpp/Gfx.h"
#include "../cpp/StringRepository.h"
// Our platform independent renderer class. Implements the MTKViewDelegate protocol which
// allows it to accept per-frame update and drawable resize callbacks.
@interface MetalViewDelegate : NSObject <MTKViewDelegate>
-(nonnull instancetype)initWithMetalKitView:(nonnull MTKView *)view;
-(void)pushRect:(KDERect)rect withTexture:(KDEStringHandle)texture;
-(void)pushRect:(KDERect)rect withFont:(KDEStringHandle)font withCharHeight:(float)char_height withKey:(KDEStringHandle)key;
-(nonnull id<MTLTexture>)createTexture:(nonnull const void*)data width:(unsigned int)width height:(unsigned int)height format:(MTLPixelFormat)format;
@end

View File

@ -0,0 +1,343 @@
#import <simd/simd.h>
#import <ModelIO/ModelIO.h>
#include <vector>
#include <map>
#import "MetalViewDelegate.h"
// Include header shared between C code here, which executes Metal API commands, and .metal files
#import "ShaderTypes.h"
#include "../cpp/Renderer.h"
#include "IOSAssetManager.h"
static const NSUInteger MaxBuffersInFlight = 3;
@implementation MetalViewDelegate
{
dispatch_semaphore_t _inFlightSemaphore;
id <MTLDevice> _device;
id <MTLCommandQueue> _commandQueue;
id <MTLBuffer> _dynamicUniformBuffer[MaxBuffersInFlight];
id <MTLRenderPipelineState> _pipelineState;
id <MTLDepthStencilState> _depthState;
id <MTLTexture> _dummyTexture;
MTLVertexDescriptor *_mtlVertexDescriptor;
vector_float2 _resolution;
uint8_t _bufferIndex;
id<MTLBuffer> _vertexBuffers[MaxBuffersInFlight];
// In number of rects
size_t _vertexBufferCapacities[MaxBuffersInFlight];
std::vector<KDERect> _drawRects;
std::vector<id<MTLTexture>> _drawTextures;
std::map<KDEStringHandle, Texture> _textures;
}
-(nonnull instancetype)initWithMetalKitView:(nonnull MTKView *)view;
{
self = [super init];
if(self)
{
_device = view.device;
_inFlightSemaphore = dispatch_semaphore_create(MaxBuffersInFlight);
[self _loadMetalWithView:view];
}
return self;
}
- (void)_loadMetalWithView:(nonnull MTKView *)view;
{
/// Load Metal state objects and initialize renderer dependent view properties
view.depthStencilPixelFormat = MTLPixelFormatDepth32Float_Stencil8;
view.colorPixelFormat = MTLPixelFormatBGRA8Unorm_sRGB;
view.sampleCount = 1;
_resolution = vector2((float)[view drawableSize].width, (float)[view drawableSize].height);
_mtlVertexDescriptor = [[MTLVertexDescriptor alloc] init];
_mtlVertexDescriptor.attributes[VertexAttributeDstP0].format = MTLVertexFormatFloat2;
_mtlVertexDescriptor.attributes[VertexAttributeDstP0].offset = 0;
_mtlVertexDescriptor.attributes[VertexAttributeDstP0].bufferIndex = BufferIndexRects;
_mtlVertexDescriptor.attributes[VertexAttributeDstP1].format = MTLVertexFormatFloat2;
_mtlVertexDescriptor.attributes[VertexAttributeDstP1].offset = offsetof(KDERect, dst_p1_x);
_mtlVertexDescriptor.attributes[VertexAttributeDstP1].bufferIndex = BufferIndexRects;
_mtlVertexDescriptor.attributes[VertexAttributeSrcP0].format = MTLVertexFormatFloat2;
_mtlVertexDescriptor.attributes[VertexAttributeSrcP0].offset = offsetof(KDERect, src_p0_x);
_mtlVertexDescriptor.attributes[VertexAttributeSrcP0].bufferIndex = BufferIndexRects;
_mtlVertexDescriptor.attributes[VertexAttributeSrcP1].format = MTLVertexFormatFloat2;
_mtlVertexDescriptor.attributes[VertexAttributeSrcP1].offset = offsetof(KDERect, src_p1_x);
_mtlVertexDescriptor.attributes[VertexAttributeSrcP1].bufferIndex = BufferIndexRects;
_mtlVertexDescriptor.attributes[VertexAttributeColor].format = MTLVertexFormatFloat4;
_mtlVertexDescriptor.attributes[VertexAttributeColor].offset = offsetof(KDERect, r);
_mtlVertexDescriptor.attributes[VertexAttributeColor].bufferIndex = BufferIndexRects;
_mtlVertexDescriptor.attributes[VertexAttributeExpandR].format = MTLVertexFormatInt;
_mtlVertexDescriptor.attributes[VertexAttributeExpandR].offset = offsetof(KDERect, expand_r);
_mtlVertexDescriptor.attributes[VertexAttributeExpandR].bufferIndex = BufferIndexRects;
_mtlVertexDescriptor.layouts[BufferIndexRects].stride = sizeof(KDERect);
_mtlVertexDescriptor.layouts[BufferIndexRects].stepRate = 1;
_mtlVertexDescriptor.layouts[BufferIndexRects].stepFunction = MTLVertexStepFunctionPerInstance;
id<MTLLibrary> defaultLibrary = [_device newDefaultLibrary];
id <MTLFunction> vertexFunction = [defaultLibrary newFunctionWithName:@"vertexShader"];
id <MTLFunction> fragmentFunction = [defaultLibrary newFunctionWithName:@"fragmentShader"];
MTLRenderPipelineDescriptor *pipelineStateDescriptor = [[MTLRenderPipelineDescriptor alloc] init];
pipelineStateDescriptor.label = @"MyPipeline";
pipelineStateDescriptor.rasterSampleCount = view.sampleCount;
pipelineStateDescriptor.vertexFunction = vertexFunction;
pipelineStateDescriptor.fragmentFunction = fragmentFunction;
pipelineStateDescriptor.vertexDescriptor = _mtlVertexDescriptor;
pipelineStateDescriptor.colorAttachments[0].pixelFormat = view.colorPixelFormat;
pipelineStateDescriptor.depthAttachmentPixelFormat = view.depthStencilPixelFormat;
pipelineStateDescriptor.stencilAttachmentPixelFormat = view.depthStencilPixelFormat;
NSError *error = NULL;
_pipelineState = [_device newRenderPipelineStateWithDescriptor:pipelineStateDescriptor error:&error];
if (!_pipelineState)
{
NSLog(@"Failed to created pipeline state, error %@", error);
}
MTLDepthStencilDescriptor *depthStateDesc = [[MTLDepthStencilDescriptor alloc] init];
depthStateDesc.depthCompareFunction = MTLCompareFunctionLess;
depthStateDesc.depthWriteEnabled = NO;
_depthState = [_device newDepthStencilStateWithDescriptor:depthStateDesc];
for(NSUInteger i = 0; i < MaxBuffersInFlight; i++)
{
_dynamicUniformBuffer[i] = [_device newBufferWithLength:sizeof(Uniforms)
options:MTLResourceStorageModeShared];
_dynamicUniformBuffer[i].label = @"UniformBuffer";
_vertexBufferCapacities[i] = 256;
_vertexBuffers[i] = [_device newBufferWithLength:sizeof(Rect) * _vertexBufferCapacities[i]
options:MTLResourceStorageModeShared];
}
_commandQueue = [_device newCommandQueue];
// Create the dummy texture (1x1 px white)
uint8_t bytes[4] = { 255, 255, 255, 255 };
_dummyTexture = [self createTexture:bytes width:1 height:1 format:MTLPixelFormatRGBA8Uint];
}
- (NSUInteger)_updateGameState
{
// Demo code
static float x = 1.f;
static float d = -0.01f;
x += d;
if (x <= 0.f)
d *= -1.f;
else if (x >= 1.f)
d *= -1.f;
#if 0
if (input_event_count > 0) {
m_smiley_pos = input_events[input_event_count - 1].end;
m_smiley_pos.x -= 250;
m_smiley_pos.y -= 250;
}
#endif
Renderer::ptr->addRect(100, 100, 500, 500, 1.f, 1.f, 1.f, 1.f, StringRepository::global->internString("smiley_PNG42.png"));
//Renderer::ptr->addRect(m_smiley_pos.x, m_smiley_pos.y, 500, 500, 0.f, x * x, 1.f - x * x, 1.f, m_smiley);
// Upload rects
if (_drawRects.size() > _vertexBufferCapacities[_bufferIndex]) {
size_t newCap = ((_drawRects.size() + 63) / 64) * 64;
_vertexBuffers[_bufferIndex] = [_device newBufferWithLength:sizeof(KDERect) * newCap
options:MTLResourceStorageModeShared];
_vertexBufferCapacities[_bufferIndex] = newCap;
}
memcpy(_vertexBuffers[_bufferIndex].contents,
_drawRects.data(),
_drawRects.size() * sizeof(KDERect));
NSUInteger rectCount = (NSUInteger)_drawRects.size();
_drawRects.clear();
/// Update any game state before encoding renderint commands to our drawable
Uniforms * uniforms = (Uniforms*)_dynamicUniformBuffer[_bufferIndex].contents;
uniforms->resolution = _resolution;
return rectCount;
}
- (void)drawInMTKView:(nonnull MTKView *)view
{
/// Per frame updates here
dispatch_semaphore_wait(_inFlightSemaphore, DISPATCH_TIME_FOREVER);
_bufferIndex = (_bufferIndex + 1) % MaxBuffersInFlight;
id <MTLCommandBuffer> commandBuffer = [_commandQueue commandBuffer];
commandBuffer.label = @"MyCommand";
__block dispatch_semaphore_t block_sema = _inFlightSemaphore;
[commandBuffer addCompletedHandler:^(id<MTLCommandBuffer> buffer)
{
dispatch_semaphore_signal(block_sema);
}];
NSUInteger rectCount = [self _updateGameState];
/// Delay getting the currentRenderPassDescriptor until absolutely needed. This avoids
/// holding onto the drawable and blocking the display pipeline any longer than necessary
MTLRenderPassDescriptor* renderPassDescriptor = view.currentRenderPassDescriptor;
if(renderPassDescriptor != nil)
{
/// Final pass rendering code here
id <MTLRenderCommandEncoder> renderEncoder =
[commandBuffer renderCommandEncoderWithDescriptor:renderPassDescriptor];
renderEncoder.label = @"MyRenderEncoder";
[renderEncoder pushDebugGroup:@"DrawRects"];
[renderEncoder setFrontFacingWinding:MTLWindingCounterClockwise];
[renderEncoder setCullMode:MTLCullModeNone];
[renderEncoder setRenderPipelineState:_pipelineState];
[renderEncoder setDepthStencilState:_depthState];
[renderEncoder setVertexBuffer:_dynamicUniformBuffer[_bufferIndex]
offset:0
atIndex:BufferIndexUniforms];
[renderEncoder setFragmentBuffer:_dynamicUniformBuffer[_bufferIndex]
offset:0
atIndex:BufferIndexUniforms];
[renderEncoder setVertexBuffer:_vertexBuffers[_bufferIndex]
offset:0
atIndex:BufferIndexRects];
size_t start = 0;
id<MTLTexture> currentTexture = _drawTextures[0];
while (start < rectCount) {
for (size_t i = start; i < rectCount; ++i) {
id<MTLTexture> texture = _drawTextures[i];
if (texture != currentTexture) {
size_t count = i - start;
[renderEncoder setFragmentTexture:currentTexture
atIndex:TextureIndexColor];
[renderEncoder drawPrimitives:MTLPrimitiveTypeTriangle
vertexStart:0
vertexCount:6
instanceCount:count
baseInstance:start];
start = i;
currentTexture = texture;
break;
}
else if (i == rectCount - 1) {
// just draw it
const size_t count = rectCount - start;
[renderEncoder setFragmentTexture:currentTexture
atIndex:TextureIndexColor];
[renderEncoder drawPrimitives:MTLPrimitiveTypeTriangle
vertexStart:0
vertexCount:6
instanceCount:count
baseInstance:start];
start = rectCount;
break;
}
}
}
[renderEncoder popDebugGroup];
[renderEncoder endEncoding];
[commandBuffer presentDrawable:view.currentDrawable];
}
_drawTextures.clear();
[commandBuffer commit];
}
- (void)mtkView:(nonnull MTKView *)view drawableSizeWillChange:(CGSize)size
{
/// Respond to drawable size or orientation changes here
_resolution.x = (float)size.width;
_resolution.y = (float)size.height;
}
- (void)pushRect:(KDERect)rect withTexture:(KDEStringHandle)texture
{
Texture tex;
if (texture != 0) {
if (_textures.find(texture) == _textures.end()) {
if (!AssetManager::ptr->loadTexture(StringRepository::global->getString(texture), &tex)) {
NSLog(@"Failed to load a texture");
return;
}
_textures.insert(std::make_pair(texture, tex));
}
else {
tex = _textures[texture];
}
_drawTextures.push_back((__bridge id)tex.getObj());
}
else {
_drawTextures.push_back(_dummyTexture);
}
_drawRects.push_back(rect);
}
- (void)pushRect:(KDERect)rect withFont:(KDEStringHandle)font withCharHeight:(float)char_height withKey:(KDEStringHandle)key
{
Texture tex;
if (key != 0) {
if (_textures.find(key) == _textures.end()) {
if (!AssetManager::ptr->loadFontBitmap(StringRepository::global->getString(font), char_height, &tex)) {
NSLog(@"Failed to load font");
return;
}
_textures.insert(std::make_pair(key, tex));
}
else {
tex = _textures[key];
}
_drawTextures.push_back((__bridge id)tex.getObj());
}
else {
_drawTextures.push_back(_dummyTexture);
}
_drawRects.push_back(rect);
}
-(id<MTLTexture>)createTexture:(nonnull const void*)data width:(unsigned int)width height:(unsigned int)height format:(MTLPixelFormat)format;
{
MTLTextureDescriptor* desc = [MTLTextureDescriptor texture2DDescriptorWithPixelFormat:format width:(NSUInteger)width height:(NSUInteger)height mipmapped:NO];
MTLRegion region = { {0, 0, 0}, {width, height, 1}};
id<MTLTexture> texture = [_device newTextureWithDescriptor: desc];
NSUInteger bytesPerRow = 4 * width;
[texture replaceRegion:region mipmapLevel:0 withBytes:data bytesPerRow:bytesPerRow];
return texture;
}
@end

View File

@ -0,0 +1,51 @@
//
// ShaderTypes.h
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
//
// Header containing types and enum constants shared between Metal shaders and Swift/ObjC source
//
#ifndef ShaderTypes_h
#define ShaderTypes_h
#ifdef __METAL_VERSION__
#define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
typedef metal::int32_t EnumBackingType;
#else
#import <Foundation/Foundation.h>
typedef NSInteger EnumBackingType;
#endif
#include <simd/simd.h>
typedef NS_ENUM(EnumBackingType, BufferIndex)
{
BufferIndexRects = 0,
BufferIndexUniforms = 1
};
typedef NS_ENUM(EnumBackingType, VertexAttribute)
{
VertexAttributeDstP0 = 0,
VertexAttributeDstP1 = 1,
VertexAttributeSrcP0 = 2,
VertexAttributeSrcP1 = 3,
VertexAttributeColor = 4,
VertexAttributeExpandR = 5
};
typedef NS_ENUM(EnumBackingType, TextureIndex)
{
TextureIndexColor = 0,
};
typedef struct
{
vector_float2 resolution;
} Uniforms;
#endif /* ShaderTypes_h */

View File

@ -0,0 +1,87 @@
//
// Shaders.metal
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
// File for Metal kernel and shader functions
#include <metal_stdlib>
#include <simd/simd.h>
// Including header shared between this Metal shader code and Swift/C code executing Metal API commands
#import "ShaderTypes.h"
using namespace metal;
typedef struct
{
float2 dstP0 [[attribute(VertexAttributeDstP0)]];
float2 dstP1 [[attribute(VertexAttributeDstP1)]];
float2 srcP0 [[attribute(VertexAttributeSrcP0)]];
float2 srcP1 [[attribute(VertexAttributeSrcP1)]];
float4 color [[attribute(VertexAttributeColor)]];
int expandR [[attribute(VertexAttributeExpandR)]];
} Vertex;
typedef struct
{
float4 position [[position]];
float4 color;
float2 texCoord;
int expandR;
} ColorInOut;
constant float2 vertices[6] = {
{-1.0, -1.0},
{+1.0, -1.0},
{-1.0, +1.0},
{+1.0, -1.0},
{+1.0, +1.0},
{-1.0, +1.0}
};
vertex ColorInOut vertexShader(Vertex in [[stage_in]],
constant Uniforms & uniforms [[ buffer(BufferIndexUniforms) ]],
uint vertex_id [[vertex_id]])
{
ColorInOut out;
float2 v = vertices[vertex_id];
float2 dstHalfSize = (in.dstP1 - in.dstP0) / 2.0;
float2 dstCenter = (in.dstP0 + in.dstP1) / 2.0;
float2 dstPos = v * dstHalfSize + dstCenter;
//dstPos.y = uniforms.resolution.y - dstPos.y;
out.position = float4(2.0 * (dstPos.x / uniforms.resolution.x) - 1.0,
2.0 * (dstPos.y / uniforms.resolution.y) - 1.0,
0.0,
1.0);
out.color = in.color;
out.position.y *= -1.0;
float2 srcHalfSize = (in.srcP1 - in.srcP0) / 2.0;
float2 srcCenter = (in.srcP0 + in.srcP1) / 2.0;
float2 srcPos = v * srcHalfSize + srcCenter;
out.texCoord = srcPos;
out.expandR = in.expandR;
return out;
}
fragment float4 fragmentShader(ColorInOut in [[stage_in]],
constant Uniforms & uniforms [[ buffer(BufferIndexUniforms) ]],
texture2d<uint> colorMap [[ texture(TextureIndexColor) ]])
{
constexpr sampler colorSampler(mip_filter::linear,
mag_filter::linear,
min_filter::linear);
float4 colorSample = float4(colorMap.sample(colorSampler, in.texCoord.xy)) / 255.0 * in.color;
if (in.expandR == 1)
colorSample = colorSample.rrrr;
return colorSample;
}

18
app/src/main/m/main.m Normal file
View File

@ -0,0 +1,18 @@
//
// main.m
// KDE
//
// Created by Ronja Enseleit on 01.07.23.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
NSString * appDelegateClassName;
@autoreleasepool {
// Setup code that might create autoreleased objects goes here.
appDelegateClassName = NSStringFromClass([AppDelegate class]);
}
return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}

View File

@ -1 +0,0 @@
{"requests":[{"kind":"cache","version":2},{"kind":"cmakeFiles","version":1},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1}]}

View File

@ -1,814 +0,0 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeSystem.cmake.in"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CMakeCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/Windows-Determine-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/Windows.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/WindowsPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/MSVC-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/Windows-MSVC-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/Windows-MSVC.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeRCCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CMakeRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeRCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCCompilerABI.c"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CMakeCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/MSVC-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/Windows-MSVC-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Platform/Windows-MSVC.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CMakeCXXCompiler.cmake"
},
{
"path" : "glfw/CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/GNUInstallDirs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakeDependentOption.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/FindThreads.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CheckLibraryExists.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CheckIncludeFile.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CheckCSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CheckIncludeFile.c.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"path" : "glfw/src/glfw3Config.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22/Modules/BasicConfigVersion-SameMajorVersion.cmake.in"
},
{
"path" : "glfw/src/glfw_config.h.in"
},
{
"path" : "glfw/src/glfw3.pc.in"
},
{
"path" : "glfw/cmake_uninstall.cmake.in"
},
{
"path" : "glfw/src/CMakeLists.txt"
},
{
"path" : "app/src/main/cpp/CMakeLists.txt"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "D:/Code/Projects/kde/out/build/x64-Debug",
"source" : "D:/Code/Projects/kde"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@ -1,163 +0,0 @@
{
"configurations" :
[
{
"directories" :
[
{
"build" : ".",
"childIndexes" :
[
1,
3
],
"hasInstallRule" : true,
"jsonFile" : "directory-.-Debug-d0094a50bb2071803777.json",
"minimumCMakeVersion" :
{
"string" : "3.18.1"
},
"projectIndex" : 0,
"source" : "."
},
{
"build" : "glfw",
"childIndexes" :
[
2
],
"hasInstallRule" : true,
"jsonFile" : "directory-glfw-Debug-6da076a3271e97d8609c.json",
"minimumCMakeVersion" :
{
"string" : "3.0"
},
"parentIndex" : 0,
"projectIndex" : 1,
"source" : "glfw",
"targetIndexes" :
[
2
]
},
{
"build" : "glfw/src",
"hasInstallRule" : true,
"jsonFile" : "directory-glfw.src-Debug-994e0343d4d9888b04a7.json",
"minimumCMakeVersion" :
{
"string" : "3.0"
},
"parentIndex" : 1,
"projectIndex" : 1,
"source" : "glfw/src",
"targetIndexes" :
[
0,
3
]
},
{
"build" : "app/src/main/cpp",
"jsonFile" : "directory-app.src.main.cpp-Debug-2f1949b43531a750e3e9.json",
"minimumCMakeVersion" :
{
"string" : "3.18.1"
},
"parentIndex" : 0,
"projectIndex" : 2,
"source" : "app/src/main/cpp",
"targetIndexes" :
[
1
]
}
],
"name" : "Debug",
"projects" :
[
{
"childIndexes" :
[
1,
2
],
"directoryIndexes" :
[
0
],
"name" : "kde_win"
},
{
"directoryIndexes" :
[
1,
2
],
"name" : "GLFW",
"parentIndex" : 0,
"targetIndexes" :
[
0,
2,
3
]
},
{
"directoryIndexes" :
[
3
],
"name" : "kde",
"parentIndex" : 0,
"targetIndexes" :
[
1
]
}
],
"targets" :
[
{
"directoryIndex" : 2,
"id" : "glfw::@12507ebf64a5258d241e",
"jsonFile" : "target-glfw-Debug-a44b449edc5319675917.json",
"name" : "glfw",
"projectIndex" : 1
},
{
"directoryIndex" : 3,
"id" : "kde::@e4a5ebf93fb5e5238cb7",
"jsonFile" : "target-kde-Debug-3432c8e245b9fa9c3251.json",
"name" : "kde",
"projectIndex" : 2
},
{
"directoryIndex" : 1,
"id" : "uninstall::@eb154563b92743f6cbb3",
"jsonFile" : "target-uninstall-Debug-b48feedefbccacaa6343.json",
"name" : "uninstall",
"projectIndex" : 1
},
{
"directoryIndex" : 2,
"id" : "update_mappings::@12507ebf64a5258d241e",
"jsonFile" : "target-update_mappings-Debug-e19e6d6aaf2ca23cb8db.json",
"name" : "update_mappings",
"projectIndex" : 1
}
]
}
],
"kind" : "codemodel",
"paths" :
{
"build" : "D:/Code/Projects/kde/out/build/x64-Debug",
"source" : "D:/Code/Projects/kde"
},
"version" :
{
"major" : 2,
"minor" : 3
}
}

View File

@ -1,14 +0,0 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : ".",
"source" : "."
}
}

View File

@ -1,14 +0,0 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "app/src/main/cpp",
"source" : "app/src/main/cpp"
}
}

View File

@ -1,100 +0,0 @@
{
"backtraceGraph" :
{
"commands" :
[
"install"
],
"files" :
[
"glfw/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 361,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 364,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 368,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 371,
"parent" : 0
}
]
},
"installers" :
[
{
"backtrace" : 1,
"component" : "Unspecified",
"destination" : "include",
"paths" :
[
"glfw/include/GLFW"
],
"type" : "directory"
},
{
"backtrace" : 2,
"component" : "Unspecified",
"destination" : "lib/cmake/glfw3",
"paths" :
[
"out/build/x64-Debug/glfw/src/glfw3Config.cmake",
"out/build/x64-Debug/glfw/src/glfw3ConfigVersion.cmake"
],
"type" : "file"
},
{
"backtrace" : 3,
"component" : "Unspecified",
"destination" : "lib/cmake/glfw3",
"exportName" : "glfwTargets",
"exportTargets" :
[
{
"id" : "glfw::@12507ebf64a5258d241e",
"index" : 0
}
],
"paths" :
[
"glfw/CMakeFiles/Export/lib/cmake/glfw3/glfw3Targets.cmake"
],
"type" : "export"
},
{
"backtrace" : 4,
"component" : "Unspecified",
"destination" : "lib/pkgconfig",
"paths" :
[
"out/build/x64-Debug/glfw/src/glfw3.pc"
],
"type" : "file"
}
],
"paths" :
{
"build" : "glfw",
"source" : "glfw"
}
}

View File

@ -1,45 +0,0 @@
{
"backtraceGraph" :
{
"commands" :
[
"install"
],
"files" :
[
"glfw/src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 189,
"parent" : 0
}
]
},
"installers" :
[
{
"backtrace" : 1,
"component" : "Unspecified",
"destination" : "lib",
"paths" :
[
"glfw/src/glfw3.lib"
],
"targetId" : "glfw::@12507ebf64a5258d241e",
"targetIndex" : 0,
"type" : "target"
}
],
"paths" :
{
"build" : "glfw/src",
"source" : "glfw/src"
}
}

View File

@ -1,132 +0,0 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Ninja"
},
"paths" :
{
"cmake" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe",
"cpack" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe",
"ctest" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe",
"root" : "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22"
},
"version" :
{
"isDirty" : false,
"major" : 3,
"minor" : 22,
"patch" : 22040401,
"string" : "3.22.22040401-MSVC_2",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-7f824cdad96ec78f633a.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 3
}
},
{
"jsonFile" : "cache-v2-87072900bd61aaa13b32.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-071e2fd39087979149d1.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "toolchains-v1-6ddc102c4cc920d4444a.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"client-MicrosoftVS" :
{
"query.json" :
{
"requests" :
[
{
"kind" : "cache",
"version" : 2
},
{
"kind" : "cmakeFiles",
"version" : 1
},
{
"kind" : "codemodel",
"version" : 2
},
{
"kind" : "toolchains",
"version" : 1
}
],
"responses" :
[
{
"jsonFile" : "cache-v2-87072900bd61aaa13b32.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-071e2fd39087979149d1.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "codemodel-v2-7f824cdad96ec78f633a.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 3
}
},
{
"jsonFile" : "toolchains-v1-6ddc102c4cc920d4444a.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
]
}
}
}
}

View File

@ -1,381 +0,0 @@
{
"archive" :
{
"commandFragments" :
[
{
"fragment" : "/machine:x64",
"role" : "flags"
}
]
},
"artifacts" :
[
{
"path" : "glfw/src/glfw3.lib"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"install",
"target_compile_options",
"target_compile_definitions",
"target_include_directories",
"set_target_properties"
],
"files" :
[
"glfw/src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 91,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 189,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 135,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 144,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 185,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 111,
"parent" : 0
},
{
"command" : 4,
"file" : 0,
"line" : 112,
"parent" : 0
},
{
"command" : 4,
"file" : 0,
"line" : 115,
"parent" : 0
},
{
"command" : 5,
"file" : 0,
"line" : 102,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "/DWIN32 /D_WINDOWS /Zi /Ob0 /Od /RTC1 -MDd"
},
{
"backtrace" : 3,
"fragment" : "/W3"
}
],
"defines" :
[
{
"backtrace" : 4,
"define" : "UNICODE"
},
{
"backtrace" : 5,
"define" : "_CRT_SECURE_NO_WARNINGS"
},
{
"backtrace" : 6,
"define" : "_GLFW_USE_CONFIG_H"
},
{
"backtrace" : 4,
"define" : "_UNICODE"
}
],
"includes" :
[
{
"backtrace" : 7,
"path" : "D:/Code/Projects/kde/glfw/include"
},
{
"backtrace" : 8,
"path" : "D:/Code/Projects/kde/glfw/src"
},
{
"backtrace" : 8,
"path" : "D:/Code/Projects/kde/out/build/x64-Debug/glfw/src"
}
],
"language" : "C",
"languageStandard" :
{
"backtraces" :
[
9
],
"standard" : "99"
},
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14
]
}
],
"folder" :
{
"name" : "GLFW3"
},
"id" : "glfw::@12507ebf64a5258d241e",
"install" :
{
"destinations" :
[
{
"backtrace" : 2,
"path" : "lib"
}
],
"prefix" :
{
"path" : "D:/Code/Projects/kde/out/install/x64-Debug"
}
},
"name" : "glfw",
"nameOnDisk" : "glfw3.lib",
"paths" :
{
"build" : "glfw/src",
"source" : "glfw/src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14
]
},
{
"name" : "Header Files",
"sourceIndexes" :
[
15,
16,
17,
18,
19,
20,
21,
22,
23,
24
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/context.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/init.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/input.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/monitor.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/vulkan.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/window.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/win32_init.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/win32_joystick.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/win32_monitor.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/win32_time.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/win32_thread.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/win32_window.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/wgl_context.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/egl_context.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "glfw/src/osmesa_context.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "glfw/src/internal.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/src/mappings.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "out/build/x64-Debug/glfw/src/glfw_config.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/include/GLFW/glfw3.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/include/GLFW/glfw3native.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/src/win32_platform.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/src/win32_joystick.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/src/wgl_context.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/src/egl_context.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "glfw/src/osmesa_context.h",
"sourceGroupIndex" : 1
}
],
"type" : "STATIC_LIBRARY"
}

View File

@ -1,254 +0,0 @@
{
"artifacts" :
[
{
"path" : "app/src/main/cpp/kde.exe"
},
{
"path" : "app/src/main/cpp/kde.pdb"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"target_include_directories"
],
"files" :
[
"app/src/main/cpp/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 41,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 46,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 47,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "/DWIN32 /D_WINDOWS /GR /EHsc /Zi /Ob0 /Od /RTC1 -MDd"
}
],
"includes" :
[
{
"backtrace" : 3,
"path" : "D:/Code/Projects/kde/app/src/main/cpp/../../../glfw/include"
},
{
"backtrace" : 2,
"path" : "D:/Code/Projects/kde/glfw/include"
}
],
"language" : "CXX",
"sourceIndexes" :
[
0,
2,
4,
7,
9,
11
]
},
{
"compileCommandFragments" :
[
{
"fragment" : "/DWIN32 /D_WINDOWS /Zi /Ob0 /Od /RTC1 -MDd"
}
],
"includes" :
[
{
"backtrace" : 3,
"path" : "D:/Code/Projects/kde/app/src/main/cpp/../../../glfw/include"
},
{
"backtrace" : 2,
"path" : "D:/Code/Projects/kde/glfw/include"
}
],
"language" : "C",
"sourceIndexes" :
[
12
]
}
],
"dependencies" :
[
{
"backtrace" : 2,
"id" : "glfw::@12507ebf64a5258d241e"
}
],
"id" : "kde::@e4a5ebf93fb5e5238cb7",
"link" :
{
"commandFragments" :
[
{
"fragment" : "/DWIN32 /D_WINDOWS /GR /EHsc /Zi /Ob0 /Od /RTC1 -MDd",
"role" : "flags"
},
{
"fragment" : "/machine:x64 /debug /INCREMENTAL /subsystem:console",
"role" : "flags"
},
{
"backtrace" : 2,
"fragment" : "glfw\\src\\glfw3.lib",
"role" : "libraries"
},
{
"fragment" : "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "kde",
"nameOnDisk" : "kde.exe",
"paths" :
{
"build" : "app/src/main/cpp",
"source" : "app/src/main/cpp"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
2,
4,
7,
9,
11,
12
]
},
{
"name" : "Header Files",
"sourceIndexes" :
[
1,
3,
5,
6,
8,
10,
13
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "app/src/main/cpp/Renderer.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/Renderer.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "app/src/main/cpp/Texture.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/Texture.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "app/src/main/cpp/AssetManager.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/AssetManager.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/StringRepository.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "app/src/main/cpp/StringRepository.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/Hash.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "app/src/main/cpp/Hash.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/GameState.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "app/src/main/cpp/win32_kde.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 1,
"path" : "app/src/main/cpp/glad.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "app/src/main/cpp/glad.h",
"sourceGroupIndex" : 1
}
],
"type" : "EXECUTABLE"
}

View File

@ -1,70 +0,0 @@
{
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_custom_target"
],
"files" :
[
"glfw/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 379,
"parent" : 0
}
]
},
"folder" :
{
"name" : "GLFW3"
},
"id" : "uninstall::@eb154563b92743f6cbb3",
"name" : "uninstall",
"paths" :
{
"build" : "glfw",
"source" : "glfw"
},
"sourceGroups" :
[
{
"name" : "",
"sourceIndexes" :
[
0
]
},
{
"name" : "CMake Rules",
"sourceIndexes" :
[
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"isGenerated" : true,
"path" : "out/build/x64-Debug/glfw/CMakeFiles/uninstall",
"sourceGroupIndex" : 0
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "out/build/x64-Debug/glfw/CMakeFiles/uninstall.rule",
"sourceGroupIndex" : 1
}
],
"type" : "UTILITY"
}

View File

@ -1,88 +0,0 @@
{
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_custom_target"
],
"files" :
[
"glfw/src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 8,
"parent" : 0
}
]
},
"folder" :
{
"name" : "GLFW3"
},
"id" : "update_mappings::@12507ebf64a5258d241e",
"name" : "update_mappings",
"paths" :
{
"build" : "glfw/src",
"source" : "glfw/src"
},
"sourceGroups" :
[
{
"name" : "Header Files",
"sourceIndexes" :
[
0
]
},
{
"name" : "",
"sourceIndexes" :
[
1,
2
]
},
{
"name" : "CMake Rules",
"sourceIndexes" :
[
3
]
}
],
"sources" :
[
{
"backtrace" : 1,
"path" : "glfw/src/mappings.h.in",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "glfw/CMake/GenerateMappings.cmake",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"isGenerated" : true,
"path" : "out/build/x64-Debug/glfw/src/CMakeFiles/update_mappings",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "out/build/x64-Debug/glfw/src/CMakeFiles/update_mappings.rule",
"sourceGroupIndex" : 2
}
],
"type" : "UTILITY"
}

View File

@ -1,75 +0,0 @@
{
"kind" : "toolchains",
"toolchains" :
[
{
"compiler" :
{
"id" : "MSVC",
"implicit" :
{
"includeDirectories" : [],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe",
"version" : "19.32.31329.0"
},
"language" : "C",
"sourceFileExtensions" :
[
"c",
"m"
]
},
{
"compiler" :
{
"id" : "MSVC",
"implicit" :
{
"includeDirectories" : [],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe",
"version" : "19.32.31329.0"
},
"language" : "CXX",
"sourceFileExtensions" :
[
"C",
"M",
"c++",
"cc",
"cpp",
"cxx",
"mm",
"mpp",
"CPP",
"ixx",
"cppm"
]
},
{
"compiler" :
{
"implicit" : {},
"path" : "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe"
},
"language" : "RC",
"sourceFileExtensions" :
[
"rc",
"RC"
]
}
],
"version" :
{
"major" : 1,
"minor" : 0
}
}

Binary file not shown.

View File

@ -1,25 +0,0 @@
# ninja log v5
69 497 6877335910869468 app/src/main/cpp/CMakeFiles/kde.dir/Texture.cpp.obj 85682e27e463805f
0 693 6877335912799449 glfw/src/CMakeFiles/glfw.dir/init.c.obj 82bf4d1236143fdf
39 701 6877335912869442 glfw/src/CMakeFiles/glfw.dir/wgl_context.c.obj 28d48f882eb45b0e
8 713 6877335912909451 glfw/src/CMakeFiles/glfw.dir/input.c.obj 76d45d1fb1c3829e
4 720 6877335912769440 glfw/src/CMakeFiles/glfw.dir/context.c.obj 87aa58a5ec245d6e
498 721 6877335912949433 app/src/main/cpp/CMakeFiles/kde.dir/StringRepository.cpp.obj bb3b851381e53478
15 723 6877335913059437 glfw/src/CMakeFiles/glfw.dir/monitor.c.obj 495d71993f86a2a2
56 729 6877335913219492 glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.obj 641b17228cd66cc2
35 730 6877335913229484 glfw/src/CMakeFiles/glfw.dir/win32_time.c.obj f6ce5a9f20641eb5
47 769 6877335913599433 glfw/src/CMakeFiles/glfw.dir/win32_window.c.obj 293e13d7133c33dd
32 784 6877335913809448 glfw/src/CMakeFiles/glfw.dir/win32_monitor.c.obj ccd0c3ed52141ee
24 786 6877335913799435 glfw/src/CMakeFiles/glfw.dir/win32_joystick.c.obj 58946f38ec029438
43 797 6877335913899454 glfw/src/CMakeFiles/glfw.dir/win32_thread.c.obj 75778ce197cfa92
60 798 6877335913909463 app/src/main/cpp/CMakeFiles/kde.dir/Renderer.cpp.obj 42051345d712c642
12 800 6877335913879458 glfw/src/CMakeFiles/glfw.dir/vulkan.c.obj d9d55a6fd2bcc1a4
19 802 6877335913979461 glfw/src/CMakeFiles/glfw.dir/window.c.obj bbd5018e03a3453f
51 811 6877335914089424 glfw/src/CMakeFiles/glfw.dir/egl_context.c.obj aece39343f33a9c
28 817 6877335914169419 glfw/src/CMakeFiles/glfw.dir/win32_init.c.obj 76bafbe4cba8879b
694 850 6877335914489448 app/src/main/cpp/CMakeFiles/kde.dir/Hash.cpp.obj a10f1893c424dbd7
65 865 6877335914619437 app/src/main/cpp/CMakeFiles/kde.dir/AssetManager.cpp.obj fb7ef3b56c9e8002
713 867 6877335914659434 app/src/main/cpp/CMakeFiles/kde.dir/glad.c.obj 54c4c41d8a7899b0
818 884 6877335914769444 glfw/src/glfw3.lib bb20cfb2017eb960
706 1334 6877335919330506 app/src/main/cpp/CMakeFiles/kde.dir/win32_kde.cpp.obj 57036ddc54fec4f9
1334 1651 6877335922362151 app/src/main/cpp/kde.exe 4e8d6b41d5da9545

View File

@ -1,484 +0,0 @@
# This is the CMakeCache file.
# For build in directory: d:/Code/Projects/kde/out/build/x64-Debug
# It was generated by CMake: C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Build shared libraries
BUILD_SHARED_LIBS:BOOL=OFF
//Path to a program.
CMAKE_AR:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/lib.exe
//No help, variable specified on the command line.
CMAKE_BUILD_TYPE:STRING=Debug
//CXX compiler
CMAKE_CXX_COMPILER:STRING=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /GR /EHsc
//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1
//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG
//Libraries linked by default with all C++ applications.
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
//C compiler
CMAKE_C_COMPILER:STRING=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS
//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1
//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG
//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG
//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG
//Libraries linked by default with all C applications.
CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64
//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
//User executables (bin)
CMAKE_INSTALL_BINDIR:PATH=bin
//Read-only architecture-independent data (DATAROOTDIR)
CMAKE_INSTALL_DATADIR:PATH=
//Read-only architecture-independent data root (share)
CMAKE_INSTALL_DATAROOTDIR:PATH=share
//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
CMAKE_INSTALL_DOCDIR:PATH=
//C header files (include)
CMAKE_INSTALL_INCLUDEDIR:PATH=include
//Info documentation (DATAROOTDIR/info)
CMAKE_INSTALL_INFODIR:PATH=
//Object code libraries (lib)
CMAKE_INSTALL_LIBDIR:PATH=lib
//Program executables (libexec)
CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
//Locale-dependent data (DATAROOTDIR/locale)
CMAKE_INSTALL_LOCALEDIR:PATH=
//Modifiable single-machine data (var)
CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
//Man documentation (DATAROOTDIR/man)
CMAKE_INSTALL_MANDIR:PATH=
//C header files for non-gcc (/usr/include)
CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
//No help, variable specified on the command line.
CMAKE_INSTALL_PREFIX:PATH=D:/Code/Projects/kde/out/install/x64-Debug
//Run-time variable data (LOCALSTATEDIR/run)
CMAKE_INSTALL_RUNSTATEDIR:PATH=
//System admin executables (sbin)
CMAKE_INSTALL_SBINDIR:PATH=sbin
//Modifiable architecture-independent data (com)
CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
//Read-only single-machine data (etc)
CMAKE_INSTALL_SYSCONFDIR:PATH=etc
//Path to a program.
CMAKE_LINKER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/link.exe
//make program
CMAKE_MAKE_PROGRAM:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe
//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64
//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
//Path to a program.
CMAKE_MT:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=kde_win
//Value Computed by CMake
CMAKE_PROJECT_VERSION:STATIC=3.3.8
//Value Computed by CMake
CMAKE_PROJECT_VERSION_MAJOR:STATIC=3
//Value Computed by CMake
CMAKE_PROJECT_VERSION_MINOR:STATIC=3
//Value Computed by CMake
CMAKE_PROJECT_VERSION_PATCH:STATIC=8
//Value Computed by CMake
CMAKE_PROJECT_VERSION_TWEAK:STATIC=
//RC compiler
CMAKE_RC_COMPILER:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe
//Flags for Windows Resource Compiler during all build types.
CMAKE_RC_FLAGS:STRING=-DWIN32
//Flags for Windows Resource Compiler during DEBUG builds.
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG
//Flags for Windows Resource Compiler during MINSIZEREL builds.
CMAKE_RC_FLAGS_MINSIZEREL:STRING=
//Flags for Windows Resource Compiler during RELEASE builds.
CMAKE_RC_FLAGS_RELEASE:STRING=
//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64
//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64
//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Value Computed by CMake
GLFW_BINARY_DIR:STATIC=D:/Code/Projects/kde/out/build/x64-Debug/glfw
//Build the GLFW documentation
GLFW_BUILD_DOCS:BOOL=OFF
//Build the GLFW example programs
GLFW_BUILD_EXAMPLES:BOOL=OFF
//Build the GLFW test programs
GLFW_BUILD_TESTS:BOOL=OFF
//Generate installation target
GLFW_INSTALL:BOOL=ON
//Value Computed by CMake
GLFW_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
GLFW_SOURCE_DIR:STATIC=D:/Code/Projects/kde/glfw
//Force use of high-performance GPU on hybrid systems
GLFW_USE_HYBRID_HPG:BOOL=OFF
//Assume the Vulkan loader is linked with the application
GLFW_VULKAN_STATIC:BOOL=OFF
//Use MSVC runtime library DLL
USE_MSVC_RUNTIME_LIBRARY_DLL:BOOL=ON
//Value Computed by CMake
kde_BINARY_DIR:STATIC=D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp
//Value Computed by CMake
kde_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
kde_SOURCE_DIR:STATIC=D:/Code/Projects/kde/app/src/main/cpp
//Value Computed by CMake
kde_win_BINARY_DIR:STATIC=D:/Code/Projects/kde/out/build/x64-Debug
//Value Computed by CMake
kde_win_IS_TOP_LEVEL:STATIC=ON
//Value Computed by CMake
kde_win_SOURCE_DIR:STATIC=D:/Code/Projects/kde
########################
# INTERNAL cache entries
########################
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=d:/Code/Projects/kde/out/build/x64-Debug
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=22
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=22040401
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Ninja
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Have include pthread.h
CMAKE_HAVE_PTHREAD_H:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=D:/Code/Projects/kde
//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MT
CMAKE_MT-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=4
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//noop for ranlib
CMAKE_RANLIB:INTERNAL=:
//ADVANCED property for variable: CMAKE_RC_COMPILER
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.22
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//CMAKE_INSTALL_PREFIX during last run
_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=D:/Code/Projects/kde/out/install/x64-Debug

View File

@ -1,72 +0,0 @@
set(CMAKE_C_COMPILER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "MSVC")
set(CMAKE_C_COMPILER_VERSION "19.32.31329.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90")
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "OFF")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
set(CMAKE_C23_COMPILE_FEATURES "")
set(CMAKE_C_PLATFORM_ID "Windows")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_C_COMPILER_ARCHITECTURE_ID x64)
set(MSVC_C_ARCHITECTURE_ID x64)
set(CMAKE_AR "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/lib.exe")
set(CMAKE_C_COMPILER_AR "")
set(CMAKE_RANLIB ":")
set(CMAKE_C_COMPILER_RANLIB "")
set(CMAKE_LINKER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/link.exe")
set(CMAKE_MT "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe")
set(CMAKE_COMPILER_IS_GNUCC )
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_C_COMPILER_ENV_VAR "CC")
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "Note: including file: ")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -1,83 +0,0 @@
set(CMAKE_CXX_COMPILER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "MSVC")
set(CMAKE_CXX_COMPILER_VERSION "19.32.31329.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "OFF")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX_PLATFORM_ID "Windows")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID x64)
set(MSVC_CXX_ARCHITECTURE_ID x64)
set(CMAKE_AR "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/lib.exe")
set(CMAKE_CXX_COMPILER_AR "")
set(CMAKE_RANLIB ":")
set(CMAKE_CXX_COMPILER_RANLIB "")
set(CMAKE_LINKER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/link.exe")
set(CMAKE_MT "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe")
set(CMAKE_COMPILER_IS_GNUCXX )
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "Note: including file: ")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -1,6 +0,0 @@
set(CMAKE_RC_COMPILER "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe")
set(CMAKE_RC_COMPILER_ARG1 "")
set(CMAKE_RC_COMPILER_LOADED 1)
set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
set(CMAKE_RC_OUTPUT_EXTENSION .res)
set(CMAKE_RC_COMPILER_ENV_VAR "RC")

View File

@ -1,15 +0,0 @@
set(CMAKE_HOST_SYSTEM "Windows-10.0.22000")
set(CMAKE_HOST_SYSTEM_NAME "Windows")
set(CMAKE_HOST_SYSTEM_VERSION "10.0.22000")
set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
set(CMAKE_SYSTEM "Windows-10.0.22000")
set(CMAKE_SYSTEM_NAME "Windows")
set(CMAKE_SYSTEM_VERSION "10.0.22000")
set(CMAKE_SYSTEM_PROCESSOR "AMD64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)

View File

@ -1,803 +0,0 @@
#ifdef __cplusplus
# error "A C++ compiler has been selected for C."
#endif
#if defined(__18CXX)
# define ID_VOID_MAIN
#endif
#if defined(__CLASSIC_C__)
/* cv-qualifiers did not exist in K&R C */
# define const
# define volatile
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_C)
# define COMPILER_ID "SunPro"
# if __SUNPRO_C >= 0x5100
/* __SUNPRO_C = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# endif
#elif defined(__HP_cc)
# define COMPILER_ID "HP"
/* __HP_cc = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
/* __DECC_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
# define COMPILER_ID "XL"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
#elif defined(__BCC__)
# define COMPILER_ID "Bruce"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
# define COMPILER_ID "SDCC"
# if defined(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
# else
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#if !defined(__STDC__) && !defined(__clang__)
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
# define C_VERSION "90"
# else
# define C_VERSION
# endif
#elif __STDC_VERSION__ > 201710L
# define C_VERSION "23"
#elif __STDC_VERSION__ >= 201710L
# define C_VERSION "17"
#elif __STDC_VERSION__ >= 201000L
# define C_VERSION "11"
#elif __STDC_VERSION__ >= 199901L
# define C_VERSION "99"
#else
# define C_VERSION "90"
#endif
const char* info_language_standard_default =
"INFO" ":" "standard_default[" C_VERSION "]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */
#if (defined(__clang__) || defined(__GNUC__) || \
defined(__TI_COMPILER_VERSION__)) && \
!defined(__STRICT_ANSI__) && !defined(_MSC_VER)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
#ifdef ID_VOID_MAIN
void main() {}
#else
# if defined(__CLASSIC_C__)
int main(argc, argv) int argc; char *argv[];
# else
int main(int argc, char* argv[])
# endif
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}
#endif

View File

@ -1,791 +0,0 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__COMO__)
# define COMPILER_ID "Comeau"
/* __COMO_VERSION__ = VRR */
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
#elif defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
# if defined(__INTEL_CXX11_MODE__)
# if defined(__cpp_aggregate_nsdmi)
# define CXX_STD 201402L
# else
# define CXX_STD 201103L
# endif
# else
# define CXX_STD 199711L
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# define CXX_STD _MSVC_LANG
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_standard_default = "INFO" ":" "standard_default["
#if CXX_STD > 202002L
"23"
#elif CXX_STD > 201703L
"20"
#elif CXX_STD >= 201703L
"17"
#elif CXX_STD >= 201402L
"14"
#elif CXX_STD >= 201103L
"11"
#else
"98"
#endif
"]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */
#if (defined(__clang__) || defined(__GNUC__) || \
defined(__TI_COMPILER_VERSION__)) && \
!defined(__STRICT_ANSI__) && !defined(_MSC_VER)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}

View File

@ -1,11 +0,0 @@
Determining if the include file pthread.h exists failed with the following output:
Change Dir: D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_210ee && [1/2] Building C object CMakeFiles\cmTC_210ee.dir\CheckIncludeFile.c.obj
FAILED: CMakeFiles/cmTC_210ee.dir/CheckIncludeFile.c.obj
C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x64\cl.exe /nologo /DWIN32 /D_WINDOWS /Zi /Ob0 /Od /RTC1 -MDd /showIncludes /FoCMakeFiles\cmTC_210ee.dir\CheckIncludeFile.c.obj /FdCMakeFiles\cmTC_210ee.dir\ /FS -c D:\Code\Projects\kde\out\build\x64-Debug\CMakeFiles\CMakeTmp\CheckIncludeFile.c
D:\Code\Projects\kde\out\build\x64-Debug\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
ninja: build stopped: subcommand failed.

View File

@ -1,65 +0,0 @@
The system is: Windows - 10.0.22000 - AMD64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe
Build flags:
Id flags:
The output was:
0
Microsoft (R) C/C++ Optimizing Compiler Version 19.32.31329 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
CMakeCCompilerId.c
Microsoft (R) Incremental Linker Version 14.32.31329.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:CMakeCCompilerId.exe
CMakeCCompilerId.obj
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.exe"
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.obj"
The C compiler identification is MSVC, found in "D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CompilerIdC/CMakeCCompilerId.exe"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe
Build flags:
Id flags:
The output was:
0
Microsoft (R) C/C++ Optimizing Compiler Version 19.32.31329 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
CMakeCXXCompilerId.cpp
Microsoft (R) Incremental Linker Version 14.32.31329.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:CMakeCXXCompilerId.exe
CMakeCXXCompilerId.obj
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.exe"
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.obj"
The CXX compiler identification is MSVC, found in "D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/3.22.22040401-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.exe"
Detecting C compiler ABI info compiled with the following output:
Change Dir: D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_2ebb5 && [1/2] Building C object CMakeFiles\cmTC_2ebb5.dir\CMakeCCompilerABI.c.obj
[2/2] Linking C executable cmTC_2ebb5.exe
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_30a7f && [1/2] Building CXX object CMakeFiles\cmTC_30a7f.dir\CMakeCXXCompilerABI.cpp.obj
[2/2] Linking CXX executable cmTC_30a7f.exe

View File

@ -1,2 +0,0 @@
#include "foo.h"
int main(){}

View File

@ -1,24 +0,0 @@
D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/edit_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/rebuild_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/list_install_components.dir
D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/install.dir
D:/Code/Projects/kde/out/build/x64-Debug/CMakeFiles/install/local.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/CMakeFiles/uninstall.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/CMakeFiles/edit_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/CMakeFiles/rebuild_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/CMakeFiles/list_install_components.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/CMakeFiles/install.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/CMakeFiles/install/local.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/update_mappings.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/glfw.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/edit_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/rebuild_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/list_install_components.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/install.dir
D:/Code/Projects/kde/out/build/x64-Debug/glfw/src/CMakeFiles/install/local.dir
D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp/CMakeFiles/kde.dir
D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp/CMakeFiles/edit_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp/CMakeFiles/rebuild_cache.dir
D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp/CMakeFiles/list_install_components.dir
D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp/CMakeFiles/install.dir
D:/Code/Projects/kde/out/build/x64-Debug/app/src/main/cpp/CMakeFiles/install/local.dir

View File

@ -1 +0,0 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file

View File

@ -1,96 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Ninja" Generator, CMake Version 3.22
# This file contains all the rules used to get the outputs files
# built from the input files.
# It is included in the main 'build.ninja'.
# =============================================================================
# Project: kde_win
# Configurations: Debug
# =============================================================================
# =============================================================================
#############################################
# localized /showIncludes string
msvc_deps_prefix = Note: including file:
#############################################
# Rule for running custom commands.
rule CUSTOM_COMMAND
command = $COMMAND
description = $DESC
#############################################
# Rule for compiling C files.
rule C_COMPILER__glfw_Debug
deps = msvc
command = C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x64\cl.exe /nologo $DEFINES $INCLUDES $FLAGS /showIncludes /Fo$out /Fd$TARGET_COMPILE_PDB /FS -c $in
description = Building C object $out
#############################################
# Rule for linking C static library.
rule C_STATIC_LIBRARY_LINKER__glfw_Debug
command = cmd.exe /C "$PRE_LINK && C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x64\lib.exe /nologo $LINK_FLAGS /out:$TARGET_FILE $in && $POST_BUILD"
description = Linking C static library $TARGET_FILE
restat = $RESTAT
#############################################
# Rule for compiling C files.
rule C_COMPILER__kde_Debug
deps = msvc
command = C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x64\cl.exe /nologo $DEFINES $INCLUDES $FLAGS /showIncludes /Fo$out /Fd$TARGET_COMPILE_PDB /FS -c $in
description = Building C object $out
#############################################
# Rule for compiling CXX files.
rule CXX_COMPILER__kde_Debug
deps = msvc
command = C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x64\cl.exe /nologo /TP $DEFINES $INCLUDES $FLAGS /showIncludes /Fo$out /Fd$TARGET_COMPILE_PDB /FS -c $in
description = Building CXX object $out
#############################################
# Rule for linking CXX executable.
rule CXX_EXECUTABLE_LINKER__kde_Debug
command = cmd.exe /C "$PRE_LINK && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=$OBJECT_DIR --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe --manifests $MANIFESTS -- C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x64\link.exe /nologo $in /out:$TARGET_FILE /implib:$TARGET_IMPLIB /pdb:$TARGET_PDB /version:0.0 $LINK_FLAGS $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
description = Linking CXX executable $TARGET_FILE
restat = $RESTAT
#############################################
# Rule for re-running cmake.
rule RERUN_CMAKE
command = "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --regenerate-during-build -SD:\Code\Projects\kde -BD:\Code\Projects\kde\out\build\x64-Debug
description = Re-running CMake...
generator = 1
#############################################
# Rule for cleaning all built files.
rule CLEAN
command = "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe" $FILE_ARG -t clean $TARGETS
description = Cleaning all built files...
#############################################
# Rule for printing all primary targets available.
rule HELP
command = "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe" -t targets
description = All primary targets available:

View File

@ -1,3 +0,0 @@
Start testing: Oct 17 20:12 Mitteleuropäische Sommerzeit
----------------------------------------------------------
End testing: Oct 17 20:12 Mitteleuropäische Sommerzeit

View File

@ -1 +0,0 @@
msvc_x64_x64

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

Some files were not shown because too many files have changed in this diff Show More