diff --git a/.clangd b/.clangd
new file mode 100644
index 0000000..44b97d0
--- /dev/null
+++ b/.clangd
@@ -0,0 +1,3 @@
+CompileFlags:
+ Remove:
+ - -mno-direct-extern-access
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b9d4ce0..436de61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,4 +61,5 @@ CMakeFiles
.qtc
.qt
.cmake
-qtcsettings.cmake
\ No newline at end of file
+qtcsettings.cmake
+.cache
\ No newline at end of file
diff --git a/CMakeCache.txt b/CMakeCache.txt
new file mode 100644
index 0000000..597dd5f
--- /dev/null
+++ b/CMakeCache.txt
@@ -0,0 +1,1359 @@
+# This is the CMakeCache file.
+# For build in directory: /home/royalcat/projects/Aperture
+# It was generated by CMake: /usr/bin/cmake
+# 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
+########################
+
+//Value Computed by CMake
+Aperture_BINARY_DIR:STATIC=/home/royalcat/projects/Aperture
+
+//Value Computed by CMake
+Aperture_IS_TOP_LEVEL:STATIC=ON
+
+//Value Computed by CMake
+Aperture_SOURCE_DIR:STATIC=/home/royalcat/projects/Aperture
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//Value Computed by CMake.
+CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/royalcat/projects/Aperture/CMakeFiles/pkgRedirects
+
+//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
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//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=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//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=Aperture
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//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=
+
+//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=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//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
+
+//Path to a file.
+OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a file.
+OPENGL_GLX_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a file.
+OPENGL_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+OPENGL_egl_LIBRARY:FILEPATH=/usr/lib/libEGL.so
+
+//Path to a library.
+OPENGL_glu_LIBRARY:FILEPATH=/usr/lib/libGLU.so
+
+//Path to a library.
+OPENGL_glx_LIBRARY:FILEPATH=/usr/lib/libGLX.so
+
+//Path to a library.
+OPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/libOpenGL.so
+
+//Path to a file.
+OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND
+
+//Arguments to supply to pkg-config
+PKG_CONFIG_ARGN:STRING=
+
+//pkg-config executable
+PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
+
+//Additional directories where find(Qt6 ...) host Qt components
+// are searched
+QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH:STRING=
+
+//Additional directories where find(Qt6 ...) components are searched
+QT_ADDITIONAL_PACKAGES_PREFIX_PATH:STRING=
+
+//The directory containing a CMake configuration file for Qt6Charts.
+Qt6Charts_DIR:PATH=/usr/lib/cmake/Qt6Charts
+
+//The directory containing a CMake configuration file for Qt6CoreTools.
+Qt6CoreTools_DIR:PATH=/usr/lib/cmake/Qt6CoreTools
+
+//The directory containing a CMake configuration file for Qt6Core.
+Qt6Core_DIR:PATH=/usr/lib/cmake/Qt6Core
+
+//The directory containing a CMake configuration file for Qt6DBusTools.
+Qt6DBusTools_DIR:PATH=/usr/lib/cmake/Qt6DBusTools
+
+//The directory containing a CMake configuration file for Qt6DBus.
+Qt6DBus_DIR:PATH=/usr/lib/cmake/Qt6DBus
+
+//The directory containing a CMake configuration file for Qt6GuiTools.
+Qt6GuiTools_DIR:PATH=/usr/lib/cmake/Qt6GuiTools
+
+//The directory containing a CMake configuration file for Qt6Gui.
+Qt6Gui_DIR:PATH=/usr/lib/cmake/Qt6Gui
+
+//The directory containing a CMake configuration file for Qt6OpenGLWidgets.
+Qt6OpenGLWidgets_DIR:PATH=/usr/lib/cmake/Qt6OpenGLWidgets
+
+//The directory containing a CMake configuration file for Qt6OpenGL.
+Qt6OpenGL_DIR:PATH=/usr/lib/cmake/Qt6OpenGL
+
+//The directory containing a CMake configuration file for Qt6WidgetsTools.
+Qt6WidgetsTools_DIR:PATH=/usr/lib/cmake/Qt6WidgetsTools
+
+//The directory containing a CMake configuration file for Qt6Widgets.
+Qt6Widgets_DIR:PATH=/usr/lib/cmake/Qt6Widgets
+
+//The directory containing a CMake configuration file for Qt6.
+Qt6_DIR:PATH=/usr/lib/cmake/Qt6
+
+//Path to a program.
+Vulkan_GLSLANG_VALIDATOR_EXECUTABLE:FILEPATH=/bin/glslangValidator
+
+//Path to a program.
+Vulkan_GLSLC_EXECUTABLE:FILEPATH=/bin/glslc
+
+//Path to a file.
+Vulkan_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+Vulkan_LIBRARY:FILEPATH=/lib/libvulkan.so
+
+//Path to a file.
+XKB_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+XKB_LIBRARY:FILEPATH=/usr/lib/libxkbcommon.so
+
+//Path to a library.
+pkgcfg_lib_PKG_XKB_xkbcommon:FILEPATH=/usr/lib/libxkbcommon.so
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//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=/home/royalcat/projects/Aperture
+//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=26
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-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_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//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=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/royalcat/projects/Aperture
+//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
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
+//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_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-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_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake
+//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_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//Details about finding OpenGL
+FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib/libOpenGL.so][/usr/lib/libGLX.so][/usr/include][c ][v()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding WrapAtomic
+FIND_PACKAGE_MESSAGE_DETAILS_WrapAtomic:INTERNAL=[1][v()]
+//Details about finding WrapOpenGL
+FIND_PACKAGE_MESSAGE_DETAILS_WrapOpenGL:INTERNAL=[ON][v()]
+//Details about finding WrapVulkanHeaders
+FIND_PACKAGE_MESSAGE_DETAILS_WrapVulkanHeaders:INTERNAL=[/usr/include][v()]
+//Details about finding XKB
+FIND_PACKAGE_MESSAGE_DETAILS_XKB:INTERNAL=[/usr/lib/libxkbcommon.so][/usr/include][v1.5.0(0.5.0)]
+//Test HAVE_STDATOMIC
+HAVE_STDATOMIC:INTERNAL=1
+//ADVANCED property for variable: OPENGL_EGL_INCLUDE_DIR
+OPENGL_EGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_GLX_INCLUDE_DIR
+OPENGL_GLX_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_INCLUDE_DIR
+OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_egl_LIBRARY
+OPENGL_egl_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_glu_LIBRARY
+OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_glx_LIBRARY
+OPENGL_glx_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_opengl_LIBRARY
+OPENGL_opengl_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_xmesa_INCLUDE_DIR
+OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PKG_CONFIG_ARGN
+PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
+PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
+PKG_XKB_CFLAGS:INTERNAL=
+PKG_XKB_CFLAGS_I:INTERNAL=
+PKG_XKB_CFLAGS_OTHER:INTERNAL=
+PKG_XKB_FOUND:INTERNAL=1
+PKG_XKB_INCLUDEDIR:INTERNAL=/usr/include
+PKG_XKB_INCLUDE_DIRS:INTERNAL=
+PKG_XKB_LDFLAGS:INTERNAL=-L/usr/lib;-lxkbcommon
+PKG_XKB_LDFLAGS_OTHER:INTERNAL=
+PKG_XKB_LIBDIR:INTERNAL=/usr/lib
+PKG_XKB_LIBRARIES:INTERNAL=xkbcommon
+PKG_XKB_LIBRARY_DIRS:INTERNAL=/usr/lib
+PKG_XKB_LIBS:INTERNAL=
+PKG_XKB_LIBS_L:INTERNAL=
+PKG_XKB_LIBS_OTHER:INTERNAL=
+PKG_XKB_LIBS_PATHS:INTERNAL=
+PKG_XKB_MODULE_NAME:INTERNAL=xkbcommon
+PKG_XKB_PREFIX:INTERNAL=/usr
+PKG_XKB_STATIC_CFLAGS:INTERNAL=
+PKG_XKB_STATIC_CFLAGS_I:INTERNAL=
+PKG_XKB_STATIC_CFLAGS_OTHER:INTERNAL=
+PKG_XKB_STATIC_INCLUDE_DIRS:INTERNAL=
+PKG_XKB_STATIC_LDFLAGS:INTERNAL=-L/usr/lib;-lxkbcommon
+PKG_XKB_STATIC_LDFLAGS_OTHER:INTERNAL=
+PKG_XKB_STATIC_LIBDIR:INTERNAL=
+PKG_XKB_STATIC_LIBRARIES:INTERNAL=xkbcommon
+PKG_XKB_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib
+PKG_XKB_STATIC_LIBS:INTERNAL=
+PKG_XKB_STATIC_LIBS_L:INTERNAL=
+PKG_XKB_STATIC_LIBS_OTHER:INTERNAL=
+PKG_XKB_STATIC_LIBS_PATHS:INTERNAL=
+PKG_XKB_VERSION:INTERNAL=1.5.0
+PKG_XKB_xkbcommon_INCLUDEDIR:INTERNAL=
+PKG_XKB_xkbcommon_LIBDIR:INTERNAL=
+PKG_XKB_xkbcommon_PREFIX:INTERNAL=
+PKG_XKB_xkbcommon_VERSION:INTERNAL=
+//Qt feature: abstractbutton (from target Qt6::Widgets)
+QT_FEATURE_abstractbutton:INTERNAL=ON
+//Qt feature: abstractslider (from target Qt6::Widgets)
+QT_FEATURE_abstractslider:INTERNAL=ON
+//Qt feature: accessibility (from target Qt6::Gui)
+QT_FEATURE_accessibility:INTERNAL=ON
+//Qt feature: accessibility_atspi_bridge (from target Qt6::Gui)
+QT_FEATURE_accessibility_atspi_bridge:INTERNAL=ON
+//Qt feature: action (from target Qt6::Gui)
+QT_FEATURE_action:INTERNAL=ON
+//Qt feature: aesni (from target Qt6::Core)
+QT_FEATURE_aesni:INTERNAL=ON
+//Qt feature: alloca (from target Qt6::Core)
+QT_FEATURE_alloca:INTERNAL=ON
+//Qt feature: alloca_h (from target Qt6::Core)
+QT_FEATURE_alloca_h:INTERNAL=ON
+//Qt feature: alloca_malloc_h (from target Qt6::Core)
+QT_FEATURE_alloca_malloc_h:INTERNAL=OFF
+//Qt feature: android_style_assets (from target Qt6::Core)
+QT_FEATURE_android_style_assets:INTERNAL=OFF
+//Qt feature: animation (from target Qt6::Core)
+QT_FEATURE_animation:INTERNAL=ON
+//Qt feature: appstore_compliant (from target Qt6::Core)
+QT_FEATURE_appstore_compliant:INTERNAL=OFF
+//Qt feature: arm_crc32 (from target Qt6::Core)
+QT_FEATURE_arm_crc32:INTERNAL=OFF
+//Qt feature: arm_crypto (from target Qt6::Core)
+QT_FEATURE_arm_crypto:INTERNAL=OFF
+//Qt feature: avx (from target Qt6::Core)
+QT_FEATURE_avx:INTERNAL=ON
+//Qt feature: avx2 (from target Qt6::Core)
+QT_FEATURE_avx2:INTERNAL=ON
+//Qt feature: avx512bw (from target Qt6::Core)
+QT_FEATURE_avx512bw:INTERNAL=ON
+//Qt feature: avx512cd (from target Qt6::Core)
+QT_FEATURE_avx512cd:INTERNAL=ON
+//Qt feature: avx512dq (from target Qt6::Core)
+QT_FEATURE_avx512dq:INTERNAL=ON
+//Qt feature: avx512er (from target Qt6::Core)
+QT_FEATURE_avx512er:INTERNAL=ON
+//Qt feature: avx512f (from target Qt6::Core)
+QT_FEATURE_avx512f:INTERNAL=ON
+//Qt feature: avx512ifma (from target Qt6::Core)
+QT_FEATURE_avx512ifma:INTERNAL=ON
+//Qt feature: avx512pf (from target Qt6::Core)
+QT_FEATURE_avx512pf:INTERNAL=ON
+//Qt feature: avx512vbmi (from target Qt6::Core)
+QT_FEATURE_avx512vbmi:INTERNAL=ON
+//Qt feature: avx512vbmi2 (from target Qt6::Core)
+QT_FEATURE_avx512vbmi2:INTERNAL=ON
+//Qt feature: avx512vl (from target Qt6::Core)
+QT_FEATURE_avx512vl:INTERNAL=ON
+//Qt feature: backtrace (from target Qt6::Core)
+QT_FEATURE_backtrace:INTERNAL=ON
+//Qt feature: buttongroup (from target Qt6::Widgets)
+QT_FEATURE_buttongroup:INTERNAL=ON
+//Qt feature: c11 (from target Qt6::Core)
+QT_FEATURE_c11:INTERNAL=ON
+//Qt feature: c99 (from target Qt6::Core)
+QT_FEATURE_c99:INTERNAL=ON
+//Qt feature: calendarwidget (from target Qt6::Widgets)
+QT_FEATURE_calendarwidget:INTERNAL=ON
+//Qt feature: cborstreamreader (from target Qt6::Core)
+QT_FEATURE_cborstreamreader:INTERNAL=ON
+//Qt feature: cborstreamwriter (from target Qt6::Core)
+QT_FEATURE_cborstreamwriter:INTERNAL=ON
+//Qt feature: charts_area_chart (from target Qt6::Charts)
+QT_FEATURE_charts_area_chart:INTERNAL=ON
+//Qt feature: charts_bar_chart (from target Qt6::Charts)
+QT_FEATURE_charts_bar_chart:INTERNAL=ON
+//Qt feature: charts_boxplot_chart (from target Qt6::Charts)
+QT_FEATURE_charts_boxplot_chart:INTERNAL=ON
+//Qt feature: charts_candlestick_chart (from target Qt6::Charts)
+QT_FEATURE_charts_candlestick_chart:INTERNAL=ON
+//Qt feature: charts_datetime_axis (from target Qt6::Charts)
+QT_FEATURE_charts_datetime_axis:INTERNAL=ON
+//Qt feature: charts_line_chart (from target Qt6::Charts)
+QT_FEATURE_charts_line_chart:INTERNAL=ON
+//Qt feature: charts_pie_chart (from target Qt6::Charts)
+QT_FEATURE_charts_pie_chart:INTERNAL=ON
+//Qt feature: charts_scatter_chart (from target Qt6::Charts)
+QT_FEATURE_charts_scatter_chart:INTERNAL=ON
+//Qt feature: charts_spline_chart (from target Qt6::Charts)
+QT_FEATURE_charts_spline_chart:INTERNAL=ON
+//Qt feature: checkbox (from target Qt6::Widgets)
+QT_FEATURE_checkbox:INTERNAL=ON
+//Qt feature: clipboard (from target Qt6::Gui)
+QT_FEATURE_clipboard:INTERNAL=ON
+//Qt feature: clock_gettime (from target Qt6::Core)
+QT_FEATURE_clock_gettime:INTERNAL=ON
+//Qt feature: clock_monotonic (from target Qt6::Core)
+QT_FEATURE_clock_monotonic:INTERNAL=ON
+//Qt feature: colordialog (from target Qt6::Widgets)
+QT_FEATURE_colordialog:INTERNAL=ON
+//Qt feature: colornames (from target Qt6::Gui)
+QT_FEATURE_colornames:INTERNAL=ON
+//Qt feature: columnview (from target Qt6::Widgets)
+QT_FEATURE_columnview:INTERNAL=ON
+//Qt feature: combobox (from target Qt6::Widgets)
+QT_FEATURE_combobox:INTERNAL=ON
+//Qt feature: commandlineparser (from target Qt6::Core)
+QT_FEATURE_commandlineparser:INTERNAL=ON
+//Qt feature: commandlinkbutton (from target Qt6::Widgets)
+QT_FEATURE_commandlinkbutton:INTERNAL=ON
+//Qt feature: completer (from target Qt6::Widgets)
+QT_FEATURE_completer:INTERNAL=ON
+//Qt feature: concatenatetablesproxymodel (from target Qt6::Core)
+QT_FEATURE_concatenatetablesproxymodel:INTERNAL=ON
+//Qt feature: concurrent (from target Qt6::Core)
+QT_FEATURE_concurrent:INTERNAL=ON
+//Qt feature: contextmenu (from target Qt6::Widgets)
+QT_FEATURE_contextmenu:INTERNAL=ON
+//Qt feature: cpp_winrt (from target Qt6::Core)
+QT_FEATURE_cpp_winrt:INTERNAL=OFF
+//Qt feature: cross_compile (from target Qt6::Core)
+QT_FEATURE_cross_compile:INTERNAL=OFF
+//Qt feature: cssparser (from target Qt6::Gui)
+QT_FEATURE_cssparser:INTERNAL=ON
+//Qt feature: ctf (from target Qt6::Core)
+QT_FEATURE_ctf:INTERNAL=OFF
+//Qt feature: cursor (from target Qt6::Gui)
+QT_FEATURE_cursor:INTERNAL=ON
+//Qt feature: cxx11 (from target Qt6::Core)
+QT_FEATURE_cxx11:INTERNAL=ON
+//Qt feature: cxx11_future (from target Qt6::Core)
+QT_FEATURE_cxx11_future:INTERNAL=ON
+//Qt feature: cxx14 (from target Qt6::Core)
+QT_FEATURE_cxx14:INTERNAL=ON
+//Qt feature: cxx17 (from target Qt6::Core)
+QT_FEATURE_cxx17:INTERNAL=ON
+//Qt feature: cxx17_filesystem (from target Qt6::Core)
+QT_FEATURE_cxx17_filesystem:INTERNAL=ON
+//Qt feature: cxx1z (from target Qt6::Core)
+QT_FEATURE_cxx1z:INTERNAL=ON
+//Qt feature: cxx20 (from target Qt6::Core)
+QT_FEATURE_cxx20:INTERNAL=OFF
+//Qt feature: cxx2a (from target Qt6::Core)
+QT_FEATURE_cxx2a:INTERNAL=OFF
+//Qt feature: cxx2b (from target Qt6::Core)
+QT_FEATURE_cxx2b:INTERNAL=OFF
+//Qt feature: datawidgetmapper (from target Qt6::Widgets)
+QT_FEATURE_datawidgetmapper:INTERNAL=ON
+//Qt feature: datestring (from target Qt6::Core)
+QT_FEATURE_datestring:INTERNAL=ON
+//Qt feature: datetimeedit (from target Qt6::Widgets)
+QT_FEATURE_datetimeedit:INTERNAL=ON
+//Qt feature: datetimeparser (from target Qt6::Core)
+QT_FEATURE_datetimeparser:INTERNAL=ON
+//Qt feature: dbus (from target Qt6::Core)
+QT_FEATURE_dbus:INTERNAL=ON
+//Qt feature: dbus_linked (from target Qt6::Core)
+QT_FEATURE_dbus_linked:INTERNAL=ON
+//Qt feature: debug (from target Qt6::Core)
+QT_FEATURE_debug:INTERNAL=OFF
+//Qt feature: debug_and_release (from target Qt6::Core)
+QT_FEATURE_debug_and_release:INTERNAL=OFF
+//Qt feature: desktopservices (from target Qt6::Gui)
+QT_FEATURE_desktopservices:INTERNAL=ON
+//Qt feature: developer_build (from target Qt6::Core)
+QT_FEATURE_developer_build:INTERNAL=OFF
+//Qt feature: dial (from target Qt6::Widgets)
+QT_FEATURE_dial:INTERNAL=ON
+//Qt feature: dialog (from target Qt6::Widgets)
+QT_FEATURE_dialog:INTERNAL=ON
+//Qt feature: dialogbuttonbox (from target Qt6::Widgets)
+QT_FEATURE_dialogbuttonbox:INTERNAL=ON
+//Qt feature: direct2d (from target Qt6::Gui)
+QT_FEATURE_direct2d:INTERNAL=OFF
+//Qt feature: direct2d1_1 (from target Qt6::Gui)
+QT_FEATURE_direct2d1_1:INTERNAL=OFF
+//Qt feature: directfb (from target Qt6::Gui)
+QT_FEATURE_directfb:INTERNAL=OFF
+//Qt feature: directwrite (from target Qt6::Gui)
+QT_FEATURE_directwrite:INTERNAL=OFF
+//Qt feature: directwrite3 (from target Qt6::Gui)
+QT_FEATURE_directwrite3:INTERNAL=OFF
+//Qt feature: dladdr (from target Qt6::Core)
+QT_FEATURE_dladdr:INTERNAL=ON
+//Qt feature: dlopen (from target Qt6::Core)
+QT_FEATURE_dlopen:INTERNAL=ON
+//Qt feature: dockwidget (from target Qt6::Widgets)
+QT_FEATURE_dockwidget:INTERNAL=ON
+//Qt feature: doubleconversion (from target Qt6::Core)
+QT_FEATURE_doubleconversion:INTERNAL=ON
+//Qt feature: draganddrop (from target Qt6::Gui)
+QT_FEATURE_draganddrop:INTERNAL=ON
+//Qt feature: drm_atomic (from target Qt6::Gui)
+QT_FEATURE_drm_atomic:INTERNAL=ON
+//Qt feature: dynamicgl (from target Qt6::Gui)
+QT_FEATURE_dynamicgl:INTERNAL=OFF
+//Qt feature: easingcurve (from target Qt6::Core)
+QT_FEATURE_easingcurve:INTERNAL=ON
+//Qt feature: effects (from target Qt6::Widgets)
+QT_FEATURE_effects:INTERNAL=ON
+//Qt feature: egl (from target Qt6::Gui)
+QT_FEATURE_egl:INTERNAL=ON
+//Qt feature: egl_x11 (from target Qt6::Gui)
+QT_FEATURE_egl_x11:INTERNAL=ON
+//Qt feature: eglfs (from target Qt6::Gui)
+QT_FEATURE_eglfs:INTERNAL=ON
+//Qt feature: eglfs_brcm (from target Qt6::Gui)
+QT_FEATURE_eglfs_brcm:INTERNAL=OFF
+//Qt feature: eglfs_egldevice (from target Qt6::Gui)
+QT_FEATURE_eglfs_egldevice:INTERNAL=ON
+//Qt feature: eglfs_gbm (from target Qt6::Gui)
+QT_FEATURE_eglfs_gbm:INTERNAL=ON
+//Qt feature: eglfs_mali (from target Qt6::Gui)
+QT_FEATURE_eglfs_mali:INTERNAL=OFF
+//Qt feature: eglfs_openwfd (from target Qt6::Gui)
+QT_FEATURE_eglfs_openwfd:INTERNAL=OFF
+//Qt feature: eglfs_rcar (from target Qt6::Gui)
+QT_FEATURE_eglfs_rcar:INTERNAL=OFF
+//Qt feature: eglfs_viv (from target Qt6::Gui)
+QT_FEATURE_eglfs_viv:INTERNAL=OFF
+//Qt feature: eglfs_viv_wl (from target Qt6::Gui)
+QT_FEATURE_eglfs_viv_wl:INTERNAL=OFF
+//Qt feature: eglfs_vsp2 (from target Qt6::Gui)
+QT_FEATURE_eglfs_vsp2:INTERNAL=OFF
+//Qt feature: eglfs_x11 (from target Qt6::Gui)
+QT_FEATURE_eglfs_x11:INTERNAL=ON
+//Qt feature: enable_new_dtags (from target Qt6::Core)
+QT_FEATURE_enable_new_dtags:INTERNAL=ON
+//Qt feature: errormessage (from target Qt6::Widgets)
+QT_FEATURE_errormessage:INTERNAL=ON
+//Qt feature: etw (from target Qt6::Core)
+QT_FEATURE_etw:INTERNAL=OFF
+//Qt feature: evdev (from target Qt6::Gui)
+QT_FEATURE_evdev:INTERNAL=ON
+//Qt feature: eventfd (from target Qt6::Core)
+QT_FEATURE_eventfd:INTERNAL=ON
+//Qt feature: f16c (from target Qt6::Core)
+QT_FEATURE_f16c:INTERNAL=ON
+//Qt feature: filedialog (from target Qt6::Widgets)
+QT_FEATURE_filedialog:INTERNAL=ON
+//Qt feature: filesystemiterator (from target Qt6::Core)
+QT_FEATURE_filesystemiterator:INTERNAL=ON
+//Qt feature: filesystemmodel (from target Qt6::Gui)
+QT_FEATURE_filesystemmodel:INTERNAL=ON
+//Qt feature: filesystemwatcher (from target Qt6::Core)
+QT_FEATURE_filesystemwatcher:INTERNAL=ON
+//Qt feature: fontcombobox (from target Qt6::Widgets)
+QT_FEATURE_fontcombobox:INTERNAL=ON
+//Qt feature: fontconfig (from target Qt6::Gui)
+QT_FEATURE_fontconfig:INTERNAL=ON
+//Qt feature: fontdialog (from target Qt6::Widgets)
+QT_FEATURE_fontdialog:INTERNAL=ON
+//Qt feature: force_asserts (from target Qt6::Core)
+QT_FEATURE_force_asserts:INTERNAL=OFF
+//Qt feature: force_debug_info (from target Qt6::Core)
+QT_FEATURE_force_debug_info:INTERNAL=ON
+//Qt feature: forkfd_pidfd (from target Qt6::Core)
+QT_FEATURE_forkfd_pidfd:INTERNAL=ON
+//Qt feature: formlayout (from target Qt6::Widgets)
+QT_FEATURE_formlayout:INTERNAL=ON
+//Qt feature: framework (from target Qt6::Core)
+QT_FEATURE_framework:INTERNAL=OFF
+//Qt feature: freetype (from target Qt6::Gui)
+QT_FEATURE_freetype:INTERNAL=ON
+//Qt feature: fscompleter (from target Qt6::Widgets)
+QT_FEATURE_fscompleter:INTERNAL=ON
+//Qt feature: futimens (from target Qt6::Core)
+QT_FEATURE_futimens:INTERNAL=ON
+//Qt feature: future (from target Qt6::Core)
+QT_FEATURE_future:INTERNAL=ON
+//Qt feature: gbm (from target Qt6::Gui)
+QT_FEATURE_gbm:INTERNAL=ON
+//Qt feature: gc_binaries (from target Qt6::Core)
+QT_FEATURE_gc_binaries:INTERNAL=OFF
+//Qt feature: gestures (from target Qt6::Core)
+QT_FEATURE_gestures:INTERNAL=ON
+//Qt feature: getauxval (from target Qt6::Core)
+QT_FEATURE_getauxval:INTERNAL=ON
+//Qt feature: getentropy (from target Qt6::Core)
+QT_FEATURE_getentropy:INTERNAL=ON
+//Qt feature: gif (from target Qt6::Gui)
+QT_FEATURE_gif:INTERNAL=ON
+//Qt feature: glib (from target Qt6::Core)
+QT_FEATURE_glib:INTERNAL=ON
+//Qt feature: glibc (from target Qt6::Core)
+QT_FEATURE_glibc:INTERNAL=ON
+//Qt feature: graphicseffect (from target Qt6::Widgets)
+QT_FEATURE_graphicseffect:INTERNAL=ON
+//Qt feature: graphicsview (from target Qt6::Widgets)
+QT_FEATURE_graphicsview:INTERNAL=ON
+//Qt feature: groupbox (from target Qt6::Widgets)
+QT_FEATURE_groupbox:INTERNAL=ON
+//Qt feature: gtk3 (from target Qt6::Widgets)
+QT_FEATURE_gtk3:INTERNAL=ON
+//Qt feature: gui (from target Qt6::Core)
+QT_FEATURE_gui:INTERNAL=ON
+//Qt feature: harfbuzz (from target Qt6::Gui)
+QT_FEATURE_harfbuzz:INTERNAL=ON
+//Qt feature: highdpiscaling (from target Qt6::Gui)
+QT_FEATURE_highdpiscaling:INTERNAL=ON
+//Qt feature: hijricalendar (from target Qt6::Core)
+QT_FEATURE_hijricalendar:INTERNAL=ON
+//Qt feature: ico (from target Qt6::Gui)
+QT_FEATURE_ico:INTERNAL=ON
+//Qt feature: icu (from target Qt6::Core)
+QT_FEATURE_icu:INTERNAL=ON
+//Qt feature: identityproxymodel (from target Qt6::Core)
+QT_FEATURE_identityproxymodel:INTERNAL=ON
+//Qt feature: im (from target Qt6::Gui)
+QT_FEATURE_im:INTERNAL=ON
+//Qt feature: image_heuristic_mask (from target Qt6::Gui)
+QT_FEATURE_image_heuristic_mask:INTERNAL=ON
+//Qt feature: image_text (from target Qt6::Gui)
+QT_FEATURE_image_text:INTERNAL=ON
+//Qt feature: imageformat_bmp (from target Qt6::Gui)
+QT_FEATURE_imageformat_bmp:INTERNAL=ON
+//Qt feature: imageformat_jpeg (from target Qt6::Gui)
+QT_FEATURE_imageformat_jpeg:INTERNAL=ON
+//Qt feature: imageformat_png (from target Qt6::Gui)
+QT_FEATURE_imageformat_png:INTERNAL=ON
+//Qt feature: imageformat_ppm (from target Qt6::Gui)
+QT_FEATURE_imageformat_ppm:INTERNAL=ON
+//Qt feature: imageformat_xbm (from target Qt6::Gui)
+QT_FEATURE_imageformat_xbm:INTERNAL=ON
+//Qt feature: imageformat_xpm (from target Qt6::Gui)
+QT_FEATURE_imageformat_xpm:INTERNAL=ON
+//Qt feature: imageformatplugin (from target Qt6::Gui)
+QT_FEATURE_imageformatplugin:INTERNAL=ON
+//Qt feature: imageio_text_loading (from target Qt6::Gui)
+QT_FEATURE_imageio_text_loading:INTERNAL=ON
+//Qt feature: inotify (from target Qt6::Core)
+QT_FEATURE_inotify:INTERNAL=ON
+//Qt feature: inputdialog (from target Qt6::Widgets)
+QT_FEATURE_inputdialog:INTERNAL=ON
+//Qt feature: integrityfb (from target Qt6::Gui)
+QT_FEATURE_integrityfb:INTERNAL=OFF
+//Qt feature: integrityhid (from target Qt6::Gui)
+QT_FEATURE_integrityhid:INTERNAL=OFF
+//Qt feature: intelcet (from target Qt6::Core)
+QT_FEATURE_intelcet:INTERNAL=ON
+//Qt feature: islamiccivilcalendar (from target Qt6::Core)
+QT_FEATURE_islamiccivilcalendar:INTERNAL=ON
+//Qt feature: itemmodel (from target Qt6::Core)
+QT_FEATURE_itemmodel:INTERNAL=ON
+//Qt feature: itemviews (from target Qt6::Widgets)
+QT_FEATURE_itemviews:INTERNAL=ON
+//Qt feature: jalalicalendar (from target Qt6::Core)
+QT_FEATURE_jalalicalendar:INTERNAL=ON
+//Qt feature: journald (from target Qt6::Core)
+QT_FEATURE_journald:INTERNAL=ON
+//Qt feature: jpeg (from target Qt6::Gui)
+QT_FEATURE_jpeg:INTERNAL=ON
+//Qt feature: keysequenceedit (from target Qt6::Widgets)
+QT_FEATURE_keysequenceedit:INTERNAL=ON
+//Qt feature: kms (from target Qt6::Gui)
+QT_FEATURE_kms:INTERNAL=ON
+//Qt feature: label (from target Qt6::Widgets)
+QT_FEATURE_label:INTERNAL=ON
+//Qt feature: largefile (from target Qt6::Core)
+QT_FEATURE_largefile:INTERNAL=ON
+//Qt feature: lcdnumber (from target Qt6::Widgets)
+QT_FEATURE_lcdnumber:INTERNAL=ON
+//Qt feature: libinput (from target Qt6::Gui)
+QT_FEATURE_libinput:INTERNAL=ON
+//Qt feature: libinput_axis_api (from target Qt6::Gui)
+QT_FEATURE_libinput_axis_api:INTERNAL=ON
+//Qt feature: libinput_hires_wheel_support (from target Qt6::Gui)
+QT_FEATURE_libinput_hires_wheel_support:INTERNAL=ON
+//Qt feature: library (from target Qt6::Core)
+QT_FEATURE_library:INTERNAL=ON
+//Qt feature: libudev (from target Qt6::Core)
+QT_FEATURE_libudev:INTERNAL=ON
+//Qt feature: lineedit (from target Qt6::Widgets)
+QT_FEATURE_lineedit:INTERNAL=ON
+//Qt feature: linkat (from target Qt6::Core)
+QT_FEATURE_linkat:INTERNAL=ON
+//Qt feature: linuxfb (from target Qt6::Gui)
+QT_FEATURE_linuxfb:INTERNAL=ON
+//Qt feature: listview (from target Qt6::Widgets)
+QT_FEATURE_listview:INTERNAL=ON
+//Qt feature: listwidget (from target Qt6::Widgets)
+QT_FEATURE_listwidget:INTERNAL=ON
+//Qt feature: ltcg (from target Qt6::Core)
+QT_FEATURE_ltcg:INTERNAL=ON
+//Qt feature: lttng (from target Qt6::Core)
+QT_FEATURE_lttng:INTERNAL=OFF
+//Qt feature: mainwindow (from target Qt6::Widgets)
+QT_FEATURE_mainwindow:INTERNAL=ON
+//Qt feature: mdiarea (from target Qt6::Widgets)
+QT_FEATURE_mdiarea:INTERNAL=ON
+//Qt feature: menu (from target Qt6::Widgets)
+QT_FEATURE_menu:INTERNAL=ON
+//Qt feature: menubar (from target Qt6::Widgets)
+QT_FEATURE_menubar:INTERNAL=ON
+//Qt feature: messagebox (from target Qt6::Widgets)
+QT_FEATURE_messagebox:INTERNAL=ON
+//Qt feature: mimetype (from target Qt6::Core)
+QT_FEATURE_mimetype:INTERNAL=ON
+//Qt feature: mimetype_database (from target Qt6::Core)
+QT_FEATURE_mimetype_database:INTERNAL=ON
+//Qt feature: mips_dsp (from target Qt6::Core)
+QT_FEATURE_mips_dsp:INTERNAL=OFF
+//Qt feature: mips_dspr2 (from target Qt6::Core)
+QT_FEATURE_mips_dspr2:INTERNAL=OFF
+//Qt feature: movie (from target Qt6::Gui)
+QT_FEATURE_movie:INTERNAL=ON
+//Qt feature: mtdev (from target Qt6::Gui)
+QT_FEATURE_mtdev:INTERNAL=ON
+//Qt feature: multiprocess (from target Qt6::Gui)
+QT_FEATURE_multiprocess:INTERNAL=ON
+//Qt feature: neon (from target Qt6::Core)
+QT_FEATURE_neon:INTERNAL=OFF
+//Qt feature: network (from target Qt6::Core)
+QT_FEATURE_network:INTERNAL=ON
+//Qt feature: no_direct_extern_access (from target Qt6::Core)
+QT_FEATURE_no_direct_extern_access:INTERNAL=ON
+//Qt feature: no_prefix (from target Qt6::Core)
+QT_FEATURE_no_prefix:INTERNAL=OFF
+//Qt feature: opengl (from target Qt6::Gui)
+QT_FEATURE_opengl:INTERNAL=ON
+//Qt feature: opengles2 (from target Qt6::Gui)
+QT_FEATURE_opengles2:INTERNAL=OFF
+//Qt feature: opengles3 (from target Qt6::Gui)
+QT_FEATURE_opengles3:INTERNAL=OFF
+//Qt feature: opengles31 (from target Qt6::Gui)
+QT_FEATURE_opengles31:INTERNAL=OFF
+//Qt feature: opengles32 (from target Qt6::Gui)
+QT_FEATURE_opengles32:INTERNAL=OFF
+//Qt feature: openssl (from target Qt6::Core)
+QT_FEATURE_openssl:INTERNAL=ON
+//Qt feature: openssl_linked (from target Qt6::Core)
+QT_FEATURE_openssl_linked:INTERNAL=ON
+//Qt feature: opensslv11 (from target Qt6::Core)
+QT_FEATURE_opensslv11:INTERNAL=OFF
+//Qt feature: opensslv30 (from target Qt6::Core)
+QT_FEATURE_opensslv30:INTERNAL=ON
+//Qt feature: openvg (from target Qt6::Gui)
+QT_FEATURE_openvg:INTERNAL=OFF
+//Qt feature: pcre2 (from target Qt6::Core)
+QT_FEATURE_pcre2:INTERNAL=ON
+//Qt feature: pdf (from target Qt6::Gui)
+QT_FEATURE_pdf:INTERNAL=ON
+//Qt feature: permissions (from target Qt6::Core)
+QT_FEATURE_permissions:INTERNAL=OFF
+//Qt feature: picture (from target Qt6::Gui)
+QT_FEATURE_picture:INTERNAL=ON
+//Qt feature: pkg_config (from target Qt6::Core)
+QT_FEATURE_pkg_config:INTERNAL=ON
+//Qt feature: plugin_manifest (from target Qt6::Core)
+QT_FEATURE_plugin_manifest:INTERNAL=ON
+//Qt feature: png (from target Qt6::Gui)
+QT_FEATURE_png:INTERNAL=ON
+//Qt feature: poll_exit_on_error (from target Qt6::Core)
+QT_FEATURE_poll_exit_on_error:INTERNAL=OFF
+//Qt feature: poll_poll (from target Qt6::Core)
+QT_FEATURE_poll_poll:INTERNAL=OFF
+//Qt feature: poll_pollts (from target Qt6::Core)
+QT_FEATURE_poll_pollts:INTERNAL=OFF
+//Qt feature: poll_ppoll (from target Qt6::Core)
+QT_FEATURE_poll_ppoll:INTERNAL=ON
+//Qt feature: poll_select (from target Qt6::Core)
+QT_FEATURE_poll_select:INTERNAL=OFF
+//Qt feature: posix_fallocate (from target Qt6::Core)
+QT_FEATURE_posix_fallocate:INTERNAL=ON
+//Qt feature: precompile_header (from target Qt6::Core)
+QT_FEATURE_precompile_header:INTERNAL=ON
+//Qt feature: printsupport (from target Qt6::Core)
+QT_FEATURE_printsupport:INTERNAL=ON
+//Qt feature: private_tests (from target Qt6::Core)
+QT_FEATURE_private_tests:INTERNAL=OFF
+//Qt feature: process (from target Qt6::Core)
+QT_FEATURE_process:INTERNAL=ON
+//Qt feature: processenvironment (from target Qt6::Core)
+QT_FEATURE_processenvironment:INTERNAL=ON
+//Qt feature: progressbar (from target Qt6::Widgets)
+QT_FEATURE_progressbar:INTERNAL=ON
+//Qt feature: progressdialog (from target Qt6::Widgets)
+QT_FEATURE_progressdialog:INTERNAL=ON
+//Qt feature: proxymodel (from target Qt6::Core)
+QT_FEATURE_proxymodel:INTERNAL=ON
+//Qt feature: pushbutton (from target Qt6::Widgets)
+QT_FEATURE_pushbutton:INTERNAL=ON
+//Qt feature: qqnx_imf (from target Qt6::Gui)
+QT_FEATURE_qqnx_imf:INTERNAL=OFF
+//Qt feature: qqnx_pps (from target Qt6::Core)
+QT_FEATURE_qqnx_pps:INTERNAL=OFF
+//Qt feature: radiobutton (from target Qt6::Widgets)
+QT_FEATURE_radiobutton:INTERNAL=ON
+//Qt feature: raster_64bit (from target Qt6::Gui)
+QT_FEATURE_raster_64bit:INTERNAL=ON
+//Qt feature: raster_fp (from target Qt6::Gui)
+QT_FEATURE_raster_fp:INTERNAL=ON
+//Qt feature: rdrnd (from target Qt6::Core)
+QT_FEATURE_rdrnd:INTERNAL=ON
+//Qt feature: rdseed (from target Qt6::Core)
+QT_FEATURE_rdseed:INTERNAL=ON
+//Qt feature: reduce_exports (from target Qt6::Core)
+QT_FEATURE_reduce_exports:INTERNAL=ON
+//Qt feature: reduce_relocations (from target Qt6::Core)
+QT_FEATURE_reduce_relocations:INTERNAL=ON
+//Qt feature: regularexpression (from target Qt6::Core)
+QT_FEATURE_regularexpression:INTERNAL=ON
+//Qt feature: relocatable (from target Qt6::Core)
+QT_FEATURE_relocatable:INTERNAL=ON
+//Qt feature: renameat2 (from target Qt6::Core)
+QT_FEATURE_renameat2:INTERNAL=ON
+//Qt feature: resizehandler (from target Qt6::Widgets)
+QT_FEATURE_resizehandler:INTERNAL=ON
+//Qt feature: rpath (from target Qt6::Core)
+QT_FEATURE_rpath:INTERNAL=ON
+//Qt feature: rubberband (from target Qt6::Widgets)
+QT_FEATURE_rubberband:INTERNAL=ON
+//Qt feature: scrollarea (from target Qt6::Widgets)
+QT_FEATURE_scrollarea:INTERNAL=ON
+//Qt feature: scrollbar (from target Qt6::Widgets)
+QT_FEATURE_scrollbar:INTERNAL=ON
+//Qt feature: scroller (from target Qt6::Widgets)
+QT_FEATURE_scroller:INTERNAL=ON
+//Qt feature: separate_debug_info (from target Qt6::Core)
+QT_FEATURE_separate_debug_info:INTERNAL=OFF
+//Qt feature: sessionmanager (from target Qt6::Gui)
+QT_FEATURE_sessionmanager:INTERNAL=ON
+//Qt feature: settings (from target Qt6::Core)
+QT_FEATURE_settings:INTERNAL=ON
+//Qt feature: sha3_fast (from target Qt6::Core)
+QT_FEATURE_sha3_fast:INTERNAL=ON
+//Qt feature: shani (from target Qt6::Core)
+QT_FEATURE_shani:INTERNAL=ON
+//Qt feature: shared (from target Qt6::Core)
+QT_FEATURE_shared:INTERNAL=ON
+//Qt feature: sharedmemory (from target Qt6::Core)
+QT_FEATURE_sharedmemory:INTERNAL=ON
+//Qt feature: shortcut (from target Qt6::Core)
+QT_FEATURE_shortcut:INTERNAL=ON
+//Qt feature: signaling_nan (from target Qt6::Core)
+QT_FEATURE_signaling_nan:INTERNAL=ON
+//Qt feature: simulator_and_device (from target Qt6::Core)
+QT_FEATURE_simulator_and_device:INTERNAL=OFF
+//Qt feature: sizegrip (from target Qt6::Widgets)
+QT_FEATURE_sizegrip:INTERNAL=ON
+//Qt feature: slider (from target Qt6::Widgets)
+QT_FEATURE_slider:INTERNAL=ON
+//Qt feature: slog2 (from target Qt6::Core)
+QT_FEATURE_slog2:INTERNAL=OFF
+//Qt feature: sortfilterproxymodel (from target Qt6::Core)
+QT_FEATURE_sortfilterproxymodel:INTERNAL=ON
+//Qt feature: spinbox (from target Qt6::Widgets)
+QT_FEATURE_spinbox:INTERNAL=ON
+//Qt feature: splashscreen (from target Qt6::Widgets)
+QT_FEATURE_splashscreen:INTERNAL=ON
+//Qt feature: splitter (from target Qt6::Widgets)
+QT_FEATURE_splitter:INTERNAL=ON
+//Qt feature: sql (from target Qt6::Core)
+QT_FEATURE_sql:INTERNAL=ON
+//Qt feature: sse2 (from target Qt6::Core)
+QT_FEATURE_sse2:INTERNAL=ON
+//Qt feature: sse3 (from target Qt6::Core)
+QT_FEATURE_sse3:INTERNAL=ON
+//Qt feature: sse4_1 (from target Qt6::Core)
+QT_FEATURE_sse4_1:INTERNAL=ON
+//Qt feature: sse4_2 (from target Qt6::Core)
+QT_FEATURE_sse4_2:INTERNAL=ON
+//Qt feature: ssse3 (from target Qt6::Core)
+QT_FEATURE_ssse3:INTERNAL=ON
+//Qt feature: stack_protector_strong (from target Qt6::Core)
+QT_FEATURE_stack_protector_strong:INTERNAL=OFF
+//Qt feature: stackedwidget (from target Qt6::Widgets)
+QT_FEATURE_stackedwidget:INTERNAL=ON
+//Qt feature: standarditemmodel (from target Qt6::Gui)
+QT_FEATURE_standarditemmodel:INTERNAL=ON
+//Qt feature: static (from target Qt6::Core)
+QT_FEATURE_static:INTERNAL=OFF
+//Qt feature: statusbar (from target Qt6::Widgets)
+QT_FEATURE_statusbar:INTERNAL=ON
+//Qt feature: statustip (from target Qt6::Widgets)
+QT_FEATURE_statustip:INTERNAL=ON
+//Qt feature: statx (from target Qt6::Core)
+QT_FEATURE_statx:INTERNAL=ON
+//Qt feature: std_atomic64 (from target Qt6::Core)
+QT_FEATURE_std_atomic64:INTERNAL=ON
+//Qt feature: stdlib_libcpp (from target Qt6::Core)
+QT_FEATURE_stdlib_libcpp:INTERNAL=OFF
+//Qt feature: stringlistmodel (from target Qt6::Core)
+QT_FEATURE_stringlistmodel:INTERNAL=ON
+//Qt feature: style_android (from target Qt6::Widgets)
+QT_FEATURE_style_android:INTERNAL=OFF
+//Qt feature: style_fusion (from target Qt6::Widgets)
+QT_FEATURE_style_fusion:INTERNAL=ON
+//Qt feature: style_mac (from target Qt6::Widgets)
+QT_FEATURE_style_mac:INTERNAL=OFF
+//Qt feature: style_stylesheet (from target Qt6::Widgets)
+QT_FEATURE_style_stylesheet:INTERNAL=ON
+//Qt feature: style_windows (from target Qt6::Widgets)
+QT_FEATURE_style_windows:INTERNAL=ON
+//Qt feature: style_windowsvista (from target Qt6::Widgets)
+QT_FEATURE_style_windowsvista:INTERNAL=OFF
+//Qt feature: syntaxhighlighter (from target Qt6::Widgets)
+QT_FEATURE_syntaxhighlighter:INTERNAL=ON
+//Qt feature: syslog (from target Qt6::Core)
+QT_FEATURE_syslog:INTERNAL=OFF
+//Qt feature: system_doubleconversion (from target Qt6::Core)
+QT_FEATURE_system_doubleconversion:INTERNAL=ON
+//Qt feature: system_freetype (from target Qt6::Gui)
+QT_FEATURE_system_freetype:INTERNAL=ON
+//Qt feature: system_harfbuzz (from target Qt6::Gui)
+QT_FEATURE_system_harfbuzz:INTERNAL=ON
+//Qt feature: system_jpeg (from target Qt6::Gui)
+QT_FEATURE_system_jpeg:INTERNAL=ON
+//Qt feature: system_libb2 (from target Qt6::Core)
+QT_FEATURE_system_libb2:INTERNAL=ON
+//Qt feature: system_pcre2 (from target Qt6::Core)
+QT_FEATURE_system_pcre2:INTERNAL=ON
+//Qt feature: system_png (from target Qt6::Gui)
+QT_FEATURE_system_png:INTERNAL=ON
+//Qt feature: system_textmarkdownreader (from target Qt6::Gui)
+QT_FEATURE_system_textmarkdownreader:INTERNAL=ON
+//Qt feature: system_xcb_xinput (from target Qt6::Gui)
+QT_FEATURE_system_xcb_xinput:INTERNAL=ON
+//Qt feature: system_zlib (from target Qt6::Core)
+QT_FEATURE_system_zlib:INTERNAL=ON
+//Qt feature: systemsemaphore (from target Qt6::Core)
+QT_FEATURE_systemsemaphore:INTERNAL=ON
+//Qt feature: systemtrayicon (from target Qt6::Gui)
+QT_FEATURE_systemtrayicon:INTERNAL=ON
+//Qt feature: tabbar (from target Qt6::Widgets)
+QT_FEATURE_tabbar:INTERNAL=ON
+//Qt feature: tabletevent (from target Qt6::Gui)
+QT_FEATURE_tabletevent:INTERNAL=ON
+//Qt feature: tableview (from target Qt6::Widgets)
+QT_FEATURE_tableview:INTERNAL=ON
+//Qt feature: tablewidget (from target Qt6::Widgets)
+QT_FEATURE_tablewidget:INTERNAL=ON
+//Qt feature: tabwidget (from target Qt6::Widgets)
+QT_FEATURE_tabwidget:INTERNAL=ON
+//Qt feature: temporaryfile (from target Qt6::Core)
+QT_FEATURE_temporaryfile:INTERNAL=ON
+//Qt feature: testlib (from target Qt6::Core)
+QT_FEATURE_testlib:INTERNAL=ON
+//Qt feature: textbrowser (from target Qt6::Widgets)
+QT_FEATURE_textbrowser:INTERNAL=ON
+//Qt feature: textdate (from target Qt6::Core)
+QT_FEATURE_textdate:INTERNAL=ON
+//Qt feature: textedit (from target Qt6::Widgets)
+QT_FEATURE_textedit:INTERNAL=ON
+//Qt feature: texthtmlparser (from target Qt6::Gui)
+QT_FEATURE_texthtmlparser:INTERNAL=ON
+//Qt feature: textmarkdownreader (from target Qt6::Gui)
+QT_FEATURE_textmarkdownreader:INTERNAL=ON
+//Qt feature: textmarkdownwriter (from target Qt6::Gui)
+QT_FEATURE_textmarkdownwriter:INTERNAL=ON
+//Qt feature: textodfwriter (from target Qt6::Gui)
+QT_FEATURE_textodfwriter:INTERNAL=ON
+//Qt feature: thread (from target Qt6::Core)
+QT_FEATURE_thread:INTERNAL=ON
+//Qt feature: threadsafe_cloexec (from target Qt6::Core)
+QT_FEATURE_threadsafe_cloexec:INTERNAL=ON
+//Qt feature: timezone (from target Qt6::Core)
+QT_FEATURE_timezone:INTERNAL=ON
+//Qt feature: toolbar (from target Qt6::Widgets)
+QT_FEATURE_toolbar:INTERNAL=ON
+//Qt feature: toolbox (from target Qt6::Widgets)
+QT_FEATURE_toolbox:INTERNAL=ON
+//Qt feature: toolbutton (from target Qt6::Widgets)
+QT_FEATURE_toolbutton:INTERNAL=ON
+//Qt feature: tooltip (from target Qt6::Widgets)
+QT_FEATURE_tooltip:INTERNAL=ON
+//Qt feature: translation (from target Qt6::Core)
+QT_FEATURE_translation:INTERNAL=ON
+//Qt feature: transposeproxymodel (from target Qt6::Core)
+QT_FEATURE_transposeproxymodel:INTERNAL=ON
+//Qt feature: treeview (from target Qt6::Widgets)
+QT_FEATURE_treeview:INTERNAL=ON
+//Qt feature: treewidget (from target Qt6::Widgets)
+QT_FEATURE_treewidget:INTERNAL=ON
+//Qt feature: tslib (from target Qt6::Gui)
+QT_FEATURE_tslib:INTERNAL=ON
+//Qt feature: tuiotouch (from target Qt6::Gui)
+QT_FEATURE_tuiotouch:INTERNAL=ON
+//Qt feature: undocommand (from target Qt6::Gui)
+QT_FEATURE_undocommand:INTERNAL=ON
+//Qt feature: undogroup (from target Qt6::Gui)
+QT_FEATURE_undogroup:INTERNAL=ON
+//Qt feature: undostack (from target Qt6::Gui)
+QT_FEATURE_undostack:INTERNAL=ON
+//Qt feature: undoview (from target Qt6::Widgets)
+QT_FEATURE_undoview:INTERNAL=ON
+//Qt feature: use_bfd_linker (from target Qt6::Core)
+QT_FEATURE_use_bfd_linker:INTERNAL=OFF
+//Qt feature: use_gold_linker (from target Qt6::Core)
+QT_FEATURE_use_gold_linker:INTERNAL=OFF
+//Qt feature: use_lld_linker (from target Qt6::Core)
+QT_FEATURE_use_lld_linker:INTERNAL=OFF
+//Qt feature: use_mold_linker (from target Qt6::Core)
+QT_FEATURE_use_mold_linker:INTERNAL=OFF
+//Qt feature: vaes (from target Qt6::Core)
+QT_FEATURE_vaes:INTERNAL=ON
+//Qt feature: validator (from target Qt6::Gui)
+QT_FEATURE_validator:INTERNAL=ON
+//Qt feature: vkgen (from target Qt6::Gui)
+QT_FEATURE_vkgen:INTERNAL=ON
+//Qt feature: vkkhrdisplay (from target Qt6::Gui)
+QT_FEATURE_vkkhrdisplay:INTERNAL=ON
+//Qt feature: vnc (from target Qt6::Gui)
+QT_FEATURE_vnc:INTERNAL=ON
+//Qt feature: vsp2 (from target Qt6::Gui)
+QT_FEATURE_vsp2:INTERNAL=OFF
+//Qt feature: vulkan (from target Qt6::Gui)
+QT_FEATURE_vulkan:INTERNAL=ON
+//Qt feature: wasm_exceptions (from target Qt6::Core)
+QT_FEATURE_wasm_exceptions:INTERNAL=OFF
+//Qt feature: wasm_simd128 (from target Qt6::Core)
+QT_FEATURE_wasm_simd128:INTERNAL=OFF
+//Qt feature: whatsthis (from target Qt6::Gui)
+QT_FEATURE_whatsthis:INTERNAL=ON
+//Qt feature: wheelevent (from target Qt6::Gui)
+QT_FEATURE_wheelevent:INTERNAL=ON
+//Qt feature: widgets (from target Qt6::Core)
+QT_FEATURE_widgets:INTERNAL=ON
+//Qt feature: widgettextcontrol (from target Qt6::Widgets)
+QT_FEATURE_widgettextcontrol:INTERNAL=ON
+//Qt feature: wizard (from target Qt6::Widgets)
+QT_FEATURE_wizard:INTERNAL=ON
+//Qt feature: x86intrin (from target Qt6::Core)
+QT_FEATURE_x86intrin:INTERNAL=ON
+//Qt feature: xcb (from target Qt6::Gui)
+QT_FEATURE_xcb:INTERNAL=ON
+//Qt feature: xcb_egl_plugin (from target Qt6::Gui)
+QT_FEATURE_xcb_egl_plugin:INTERNAL=ON
+//Qt feature: xcb_glx (from target Qt6::Gui)
+QT_FEATURE_xcb_glx:INTERNAL=ON
+//Qt feature: xcb_glx_plugin (from target Qt6::Gui)
+QT_FEATURE_xcb_glx_plugin:INTERNAL=ON
+//Qt feature: xcb_native_painting (from target Qt6::Gui)
+QT_FEATURE_xcb_native_painting:INTERNAL=OFF
+//Qt feature: xcb_sm (from target Qt6::Gui)
+QT_FEATURE_xcb_sm:INTERNAL=ON
+//Qt feature: xcb_xlib (from target Qt6::Gui)
+QT_FEATURE_xcb_xlib:INTERNAL=ON
+//Qt feature: xkbcommon (from target Qt6::Gui)
+QT_FEATURE_xkbcommon:INTERNAL=ON
+//Qt feature: xkbcommon_x11 (from target Qt6::Gui)
+QT_FEATURE_xkbcommon_x11:INTERNAL=ON
+//Qt feature: xlib (from target Qt6::Gui)
+QT_FEATURE_xlib:INTERNAL=ON
+//Qt feature: xml (from target Qt6::Core)
+QT_FEATURE_xml:INTERNAL=ON
+//Qt feature: xmlstream (from target Qt6::Core)
+QT_FEATURE_xmlstream:INTERNAL=ON
+//Qt feature: xmlstreamreader (from target Qt6::Core)
+QT_FEATURE_xmlstreamreader:INTERNAL=ON
+//Qt feature: xmlstreamwriter (from target Qt6::Core)
+QT_FEATURE_xmlstreamwriter:INTERNAL=ON
+//Qt feature: xrender (from target Qt6::Gui)
+QT_FEATURE_xrender:INTERNAL=OFF
+//Qt feature: zstd (from target Qt6::Core)
+QT_FEATURE_zstd:INTERNAL=ON
+//ADVANCED property for variable: Vulkan_GLSLANG_VALIDATOR_EXECUTABLE
+Vulkan_GLSLANG_VALIDATOR_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: Vulkan_GLSLC_EXECUTABLE
+Vulkan_GLSLC_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: Vulkan_INCLUDE_DIR
+Vulkan_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: Vulkan_LIBRARY
+Vulkan_LIBRARY-ADVANCED:INTERNAL=1
+//linker supports push/pop state
+_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+__pkg_config_arguments_PKG_XKB:INTERNAL=QUIET;xkbcommon
+__pkg_config_checked_PKG_XKB:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib_PKG_XKB_xkbcommon
+pkgcfg_lib_PKG_XKB_xkbcommon-ADVANCED:INTERNAL=1
+prefix_result:INTERNAL=/usr/lib
+
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 28ec969..5cbeb8f 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -73,7 +73,11 @@ void MainWindow::on_pushButton_5_clicked() {
}
}
- this->canvas->drawState(ToPaintState(4));
+ ToPaintState state(4);
+ state.axisX = maxA;
+ state.axisY = maxA;
+
+ this->canvas->drawState(state);
}
void MainWindow::on_pushButton_clicked()
diff --git a/mainwindow.ui b/mainwindow.ui
index b7c2065..ee8d20e 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -6,8 +6,8 @@
0
0
- 902
- 527
+ 777
+ 530
@@ -133,8 +133,8 @@
330
20
- 531
- 431
+ 430
+ 430
diff --git a/mycanvas.cpp b/mycanvas.cpp
index 41799a5..81651dd 100644
--- a/mycanvas.cpp
+++ b/mycanvas.cpp
@@ -1,117 +1,96 @@
-
#include "mycanvas.h"
+#include
+#include
+#include
+#include
-MyCanvas::MyCanvas(QWidget *parent) : QChartView(new QChart(), parent) {
- chart()->setTitle("Фазовое распределение антенных решеток");
- chart()->legend()->hide();
+MyCanvas::MyCanvas(QWidget *parent) : QWidget(parent) {
+ // chart()->setTitle("Фазовое распределение антенных решеток");
+ // chart()->legend()->hide();
- QValueAxis *qAxisX = new QValueAxis();
- QValueAxis *qAxisY = new QValueAxis();
- qAxisX->setRange(-1, 1);
- qAxisY->setRange(-1, 1);
- chart()->addAxis(qAxisX, Qt::AlignLeft);
- chart()->addAxis(qAxisY, Qt::AlignBottom);
+ // QValueAxis *qAxisX = new QValueAxis();
+ // QValueAxis *qAxisY = new QValueAxis();
+ // qAxisX->setRange(-1, 1);
+ // qAxisY->setRange(-1, 1);
+ // chart()->addAxis(qAxisX, Qt::AlignLeft);
+ // chart()->addAxis(qAxisY, Qt::AlignBottom);
}
void MyCanvas::drawState(ToPaintState state) {
- this->state = state;
- chart()->removeAllSeries();
- chart()->createDefaultAxes();
-
- QScatterSeries *series1 = new QScatterSeries();
- series1->setMarkerSize(5);
-
- switch (this->state.type) {
- case 1: // фазвовое распределение
- {
- series1->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
-
- for (int i = 0; i < this->radar.FIzlArray.size(); i++) {
- int c = i % 4;
-
- TIzl izls = radar.FIzlArray[i];
-// double x = izls.IzPos.Z - 0.0085;
-// double y = izls.IzPos.Y - 0.0115;
-// double x2 = izls.IzPos.Z + 0.0085;
-// double y2 = izls.IzPos.Y + 0.0115;
-
-
-// series1->setPen(QPen(QColor(63 * c, 255 - 63 * c, 163 * c)));
- *series1 << QPointF(izls.IzPos.Z, izls.IzPos.Y);
- }
-
- chart()->addSeries(series1);
-
- }
- break;
-
- case 2:
- // IAmpIzls
- {
- series1->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
- //series1->setPen(QPen(QColor(izls.Amplitude)));
-
-
- for (int i = 0; i < this->radar.FIzlArray.size(); ++i) {
- TIzl izls = radar.FIzlArray[i];
-
- QPoint point(izls.IzPos.Z, izls.IzPos.Y);
- series1->append(point);
- }
- chart()->addSeries(series1);
-
-// for(int index= 0; index < series1->count(); index++){
-// QPointF p = chart()->mapToPosition(series1->at(index) , series1);
-// QGraphicsItem *it = this->itemAt(this->mapFromScene(p));
-// if(QGraphicsRectItem *rect = qgraphicsitem_cast(it)){
-// QColor color = QColor(radar.FIzlArray[index].Amplitude);;
-// rect->setBrush(color);
-// }
-// }
- }
-
- break;
- case 3:
- {
- // FazIzls
- series1->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
-
- for (int i = 0; i < this->radar.FIzlArray.size(); ++i) {
- TIzl izls = radar.FIzlArray[i];
- double faz = frac((izls.Fase * 0.5 / M_PI)) * 2 * M_PI;
-
-// double x = izls.IzPos.Z - 0.008;
-// double y = izls.IzPos.Y - 0.011;
-// double x2 = izls.IzPos.Z + 0.008;
-// double y2 = izls.IzPos.Y + 0.011;
-
- //series1->setPen(QPen(QColor(faz)));
- series1->append(QPointF(izls.IzPos.Z, izls.IzPos.Y));
- }
-
- chart()->addSeries(series1);
- }
- break;
- case 4:
- {
- // DN
-
- series1->setMarkerShape(QScatterSeries::MarkerShapeCircle);
- series1->setMarkerSize(20);
-
- for (int i = 0; i < this->FDNMass.size(); ++i) {
- for (int j = 0; j < this->FDNMass[i].size(); ++j) {
- //series1->setPen(QPen(QColor(this->FDNMass[i][j].col)));
- double x =this->FDNMass[i][j].x,
- y = this->FDNMass[i][j].y;
- *series1 << QPointF(x, y);
- }
- }
- }
- break;
- }
-
- chart()->addSeries(series1);
-
-
+ this->state = state;
+ this->update();
+}
+
+void MyCanvas::paintEvent(QPaintEvent *event) {
+ QPainter painter(this);
+
+
+ switch (this->state.type) {
+ case 1:
+ for (int i = 0; i < this->radar.FIzlArray.size(); ++i) {
+
+ int c = i % 4;
+ painter.setPen(QPen(QColor(63 * c, 255 - 63 * c, 163 * c)));
+
+ TIzl izls = radar.FIzlArray[i];
+ QRectF rect = this->transposeRect(izls.IzPos.Z - 0.0085, izls.IzPos.Y - 0.0115, izls.IzPos.Z + 0.0085, izls.IzPos.Y + 0.0115, state.axisX, state.axisY);
+ painter.drawRect(rect);
+ }
+
+ case 2:
+ // IAmpIzls
+ for (int i = 0; i < this->radar.FIzlArray.size(); ++i) {
+
+ TIzl izls = radar.FIzlArray[i];
+ painter.setPen(QPen(QColor(izls.Amplitude)));
+
+ QRectF rect = this->transposeRect(izls.IzPos.Z - 0.008, izls.IzPos.Y - 0.011, izls.IzPos.Z + 0.008, izls.IzPos.Y + 0.011, state.axisX, state.axisY);
+ painter.drawRect(rect);
+ }
+ break;
+ case 3:
+ // FazIzls
+ for (int i = 0; i < this->radar.FIzlArray.size(); ++i) {
+
+ TIzl izls = radar.FIzlArray[i];
+ double faz = frac(izls.Fase*0.5/M_PI)*2/M_PI;
+ painter.setPen(QPen(QColor(faz)));
+
+ QRectF rect = this->transposeRect(
+ izls.IzPos.Z - 0.008, izls.IzPos.Y - 0.011, izls.IzPos.Z + 0.008, izls.IzPos.Y + 0.011,
+ state.axisX, state.axisY);
+ painter.drawRect(rect);
+ }
+ break;
+ case 4:
+ // DN
+ for (int i = 0; i < this->FDNMass.size(); ++i) {
+ for (int j = 0; j < this->FDNMass[i].size(); ++j) {
+ TColPoint mass = FDNMass[i][j];
+ QPen pen = QPen(QColor(255,255,255));
+ pen.setWidth(5);
+ painter.setPen(pen);
+
+ QPointF point = transposePoint(mass.x, mass.y, state.axisX, state.axisY);
+ painter.drawPoint(point);
+ }
+ }
+ break;
+ }
+
+ // chart()->addSeries(series1);
+}
+
+QPointF MyCanvas::transposePoint(double x, double y, double axisX, double axisY) {
+ double cwidth = static_cast(width())/axisX;
+ double cheight = static_cast(height())/axisY;
+
+ double zeroX = cwidth/2;
+ double zeroY = cheight/2;
+
+ return QPointF(zeroX + (x * cwidth), zeroY + (y * cheight));
+}
+
+QRectF MyCanvas::transposeRect(double x, double y, double x2, double y2, double axisX, double axisY) {
+ return QRectF(transposePoint(x, y, axisX, axisY), transposePoint(x2, y2, axisX, axisY));
}
diff --git a/mycanvas.h b/mycanvas.h
index cda36f6..85c376c 100644
--- a/mycanvas.h
+++ b/mycanvas.h
@@ -1,42 +1,49 @@
#ifndef MYCANVAS_H
#define MYCANVAS_H
-#include
-#include
-#include
-#include
#include
#include
+#include
+#include
+#include
#include
+#include
+#include
#include "RadarExt.h"
-struct TColPoint
-{
- double x, y, amp;
- QColor col;
+struct TColPoint {
+ double x, y, amp;
+ QColor col;
};
-class ToPaintState {
+class ToPaintState {
public:
- ToPaintState() {}
- ToPaintState(int type) : type (type) {}
+ ToPaintState() {}
+ ToPaintState(int type) : type(type) {}
- int type = 0;
+ int type = 0;
+ double pointSize = 5;
+ double axisX = 1;
+ double axisY = 1;
};
-class MyCanvas : public QChartView
-{
- Q_OBJECT
+class MyCanvas : public QWidget {
+ Q_OBJECT
public:
- explicit MyCanvas(QWidget *parent = nullptr);
- TRadar radar = TRadar();
- QVector> FDNMass;
- void drawState(ToPaintState);
+ explicit MyCanvas(QWidget *parent = nullptr);
+ TRadar radar = TRadar();
+ QVector> FDNMass;
+ void drawState(ToPaintState);
+
+
private:
- ToPaintState state = ToPaintState();
-
+ ToPaintState state = ToPaintState();
+ QRectF transposeRect(double x, double y, double x2, double y2, double axisX, double axisY);
+ QPointF transposePoint(double x, double y, double axisX, double axisY);
+ protected:
+ void paintEvent(QPaintEvent *event);
};
#endif // MYCANVAS_H