Added saving and loading
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
source ../.envrc
|
|
||||||
|
|
||||||
export BINARY_NAME=opengl-tuto
|
|
||||||
export BUILD_TYPE=Debug
|
|
||||||
export PROJECT_NAME=opengl-tuto
|
|
||||||
|
|
||||||
export CMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
|
|
||||||
export imgui_DIR=./build
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
let SessionLoad = 1
|
|
||||||
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
|
|
||||||
let v:this_session=expand("<sfile>:p")
|
|
||||||
silent only
|
|
||||||
silent tabonly
|
|
||||||
cd ~/projects/open_engine/application
|
|
||||||
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
|
|
||||||
let s:wipebuf = bufnr('%')
|
|
||||||
endif
|
|
||||||
let s:shortmess_save = &shortmess
|
|
||||||
if &shortmess =~ 'A'
|
|
||||||
set shortmess=aoOA
|
|
||||||
else
|
|
||||||
set shortmess=aoO
|
|
||||||
endif
|
|
||||||
badd +1 conanfile.txt
|
|
||||||
argglobal
|
|
||||||
%argdel
|
|
||||||
$argadd conanfile.txt
|
|
||||||
edit conanfile.txt
|
|
||||||
wincmd t
|
|
||||||
let s:save_winminheight = &winminheight
|
|
||||||
let s:save_winminwidth = &winminwidth
|
|
||||||
set winminheight=0
|
|
||||||
set winheight=1
|
|
||||||
set winminwidth=0
|
|
||||||
set winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 3 - ((2 * winheight(0) + 30) / 60)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 3
|
|
||||||
normal! 0
|
|
||||||
tabnext 1
|
|
||||||
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
|
|
||||||
silent exe 'bwipe ' . s:wipebuf
|
|
||||||
endif
|
|
||||||
unlet! s:wipebuf
|
|
||||||
set winheight=1 winwidth=20
|
|
||||||
let &shortmess = s:shortmess_save
|
|
||||||
let &winminheight = s:save_winminheight
|
|
||||||
let &winminwidth = s:save_winminwidth
|
|
||||||
let s:sx = expand("<sfile>:p:r")."x.vim"
|
|
||||||
if filereadable(s:sx)
|
|
||||||
exe "source " . fnameescape(s:sx)
|
|
||||||
endif
|
|
||||||
let &g:so = s:so_save | let &g:siso = s:siso_save
|
|
||||||
set hlsearch
|
|
||||||
nohlsearch
|
|
||||||
doautoall SessionLoadPost
|
|
||||||
unlet SessionLoad
|
|
||||||
" vim: set ft=vim :
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 4,
|
|
||||||
"vendor": {
|
|
||||||
"conan": {}
|
|
||||||
},
|
|
||||||
"include": [
|
|
||||||
"build/CMakePresets.json"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
---@meta
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
local velocity = 5
|
|
||||||
|
|
||||||
function HandleMouse(camera, delta_time)
|
|
||||||
local mouse_sensitivity = 0.2
|
|
||||||
local xoffset, yoffset = Input:GetMouseOffset()
|
|
||||||
|
|
||||||
xoffset = xoffset * mouse_sensitivity;
|
|
||||||
yoffset = yoffset * mouse_sensitivity;
|
|
||||||
|
|
||||||
local pitch, yaw = camera:GetPitchYaw()
|
|
||||||
yaw = yaw + xoffset;
|
|
||||||
pitch = pitch + yoffset;
|
|
||||||
|
|
||||||
if pitch > 89.0 then
|
|
||||||
pitch = 89.0;
|
|
||||||
if pitch < -89.0 then
|
|
||||||
pitch = -89.0;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
camera:SetPitchYaw(pitch, yaw)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function Update()
|
|
||||||
local delta_time = Time:DeltaTime();
|
|
||||||
--local inp = Input:GetKeyStatus(GLFW_KEY_W)
|
|
||||||
local transform = Parent:GetTransform()
|
|
||||||
local camera = Parent:GetCamera()
|
|
||||||
local forward = camera:forward()
|
|
||||||
local right = camera:right()
|
|
||||||
local translation
|
|
||||||
|
|
||||||
HandleMouse(camera, delta_time)
|
|
||||||
|
|
||||||
if Input:GetKeyStatus(GLFW_KEY_W) == 1 then
|
|
||||||
translation = normalize(forward * vec3:new(1.0, 0.0, 1.0)) * velocity * delta_time
|
|
||||||
end
|
|
||||||
|
|
||||||
if Input:GetKeyStatus(GLFW_KEY_S) == 1 then
|
|
||||||
translation = normalize(forward * vec3:new(1.0, 0.0, 1.0)) * -velocity * delta_time
|
|
||||||
end
|
|
||||||
|
|
||||||
if Input:GetKeyStatus(GLFW_KEY_A) == 1 then
|
|
||||||
translation = normalize(right * vec3:new(1.0, 0.0, 1.0)) * -velocity * delta_time
|
|
||||||
end
|
|
||||||
|
|
||||||
if Input:GetKeyStatus(GLFW_KEY_D) == 1 then
|
|
||||||
translation = normalize(right * vec3:new(1.0, 0.0, 1.0)) * velocity * delta_time
|
|
||||||
end
|
|
||||||
|
|
||||||
transform:Translate(translation)
|
|
||||||
end
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
io.write("script loaded successfully\n")
|
|
||||||
|
|
||||||
local time_elapsed = 0
|
|
||||||
|
|
||||||
function Start(trans)
|
|
||||||
io.write("lua: Start\n")
|
|
||||||
end
|
|
||||||
|
|
||||||
function Update()
|
|
||||||
time_elapsed = time_elapsed + Time:DeltaTime()
|
|
||||||
local x = math.sin(time_elapsed * 2) * 2
|
|
||||||
local z = math.cos(time_elapsed * 2) * 2
|
|
||||||
|
|
||||||
local transform = Parent:GetTransform()
|
|
||||||
transform.position = vec3:new(x, 1.0, z - 7.0)
|
|
||||||
local light = Parent:GetPointLight()
|
|
||||||
|
|
||||||
local r = 0.5 * (1 + math.sin(time_elapsed * 2.5) * 1.1)
|
|
||||||
local g = 0.5 * (1 + math.cos(time_elapsed * 1.5) * 1.2)
|
|
||||||
local b = 0.5 * (1 + math.sin(time_elapsed * 3.5) * 1.3)
|
|
||||||
r = 1.0
|
|
||||||
g = 1.0
|
|
||||||
b = 1.0
|
|
||||||
light.color = vec3:new(r, g, b)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Todo: faire bouger le cube
|
|
||||||
-- Get inputs to script
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#version 330 core
|
|
||||||
|
|
||||||
layout(location = 0) out vec4 color;
|
|
||||||
|
|
||||||
in vec3 v_Position;
|
|
||||||
in vec4 v_Color;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
color = vec4(v_Position * 0.5 + 0.5, 1.0f);
|
|
||||||
color = v_Color;
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#version 330 core
|
|
||||||
out vec4 FragColor;
|
|
||||||
|
|
||||||
uniform vec3 objectColor;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
FragColor = vec4(objectColor, 1.0);
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#version 330 core
|
|
||||||
|
|
||||||
layout (location = 0) in vec3 aPos;
|
|
||||||
|
|
||||||
uniform mat4 model;
|
|
||||||
uniform mat4 view;
|
|
||||||
uniform mat4 projection;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
gl_Position = projection * view * model * vec4(aPos, 1.0);
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#version 330 core
|
|
||||||
|
|
||||||
layout(location = 0) in vec3 a_Position;
|
|
||||||
layout(location = 1) in vec4 a_Color;
|
|
||||||
|
|
||||||
uniform mat4 u_ViewProjection;
|
|
||||||
|
|
||||||
out vec3 v_Position;
|
|
||||||
out vec4 v_Color;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
v_Position = a_Position;
|
|
||||||
v_Color = a_Color;
|
|
||||||
gl_Position = u_ViewProjection * vec4(a_Position, 1.0);
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 58 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 181 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 457 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 141 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
@@ -1,3 +0,0 @@
|
|||||||
# ninja log v7
|
|
||||||
0 25 1768009863648297358 build.ninja 15c99e15691f412f
|
|
||||||
0 25 1768009863648297358 /home/erris/projects/open_engine/application/build/cmake_install.cmake 15c99e15691f412f
|
|
||||||
@@ -1,408 +0,0 @@
|
|||||||
# This is the CMakeCache file.
|
|
||||||
# For build in directory: /home/erris/projects/open_engine/application/build
|
|
||||||
# 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
|
|
||||||
########################
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/llvm-addr2line
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_AR:FILEPATH=/usr/bin/llvm-ar
|
|
||||||
|
|
||||||
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
|
||||||
// MinSizeRel ...
|
|
||||||
CMAKE_BUILD_TYPE:STRING=Debug
|
|
||||||
|
|
||||||
//LLVM archiver
|
|
||||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/llvm-ar
|
|
||||||
|
|
||||||
//`clang-scan-deps` dependency scanner
|
|
||||||
CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS:FILEPATH=/usr/bin/clang-scan-deps
|
|
||||||
|
|
||||||
//Generate index for LLVM archive
|
|
||||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/llvm-ranlib
|
|
||||||
|
|
||||||
//Flags used by the CXX compiler during all build types.
|
|
||||||
CMAKE_CXX_FLAGS:STRING=-m64 -stdlib=libstdc++
|
|
||||||
|
|
||||||
//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
|
|
||||||
|
|
||||||
//LLVM archiver
|
|
||||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/llvm-ar
|
|
||||||
|
|
||||||
//`clang-scan-deps` dependency scanner
|
|
||||||
CMAKE_C_COMPILER_CLANG_SCAN_DEPS:FILEPATH=/usr/bin/clang-scan-deps
|
|
||||||
|
|
||||||
//Generate index for LLVM archive
|
|
||||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/llvm-ranlib
|
|
||||||
|
|
||||||
//Flags used by the C compiler during all build types.
|
|
||||||
CMAKE_C_FLAGS:STRING=-m64
|
|
||||||
|
|
||||||
//Flags used by the C compiler during DEBUG builds.
|
|
||||||
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
|
||||||
|
|
||||||
//Flags used by the C compiler during MINSIZEREL builds.
|
|
||||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
|
||||||
|
|
||||||
//Flags used by the C compiler during RELEASE builds.
|
|
||||||
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
|
||||||
|
|
||||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
|
||||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_DLLTOOL:FILEPATH=/usr/bin/llvm-dlltool
|
|
||||||
|
|
||||||
//Flags used by the linker during all build types.
|
|
||||||
CMAKE_EXE_LINKER_FLAGS:STRING=-m64
|
|
||||||
|
|
||||||
//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 build database during the build.
|
|
||||||
CMAKE_EXPORT_BUILD_DATABASE:BOOL=
|
|
||||||
|
|
||||||
//No help, variable specified on the command line.
|
|
||||||
CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON
|
|
||||||
|
|
||||||
//Value Computed by CMake.
|
|
||||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/erris/projects/open_engine/application/build/CMakeFiles/pkgRedirects
|
|
||||||
|
|
||||||
//Install path prefix, prepended onto install directories.
|
|
||||||
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld.lld
|
|
||||||
|
|
||||||
//Program used to build from build.ninja files.
|
|
||||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja
|
|
||||||
|
|
||||||
//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/llvm-nm
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/llvm-objcopy
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/llvm-objdump
|
|
||||||
|
|
||||||
//Value Computed by CMake
|
|
||||||
CMAKE_PROJECT_COMPAT_VERSION:STATIC=
|
|
||||||
|
|
||||||
//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=SandBox
|
|
||||||
|
|
||||||
//Value Computed by CMake
|
|
||||||
CMAKE_PROJECT_SPDX_LICENSE:STATIC=
|
|
||||||
|
|
||||||
//Value Computed by CMake
|
|
||||||
CMAKE_PROJECT_VERSION:STATIC=0.1.0
|
|
||||||
|
|
||||||
//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=0
|
|
||||||
|
|
||||||
//Value Computed by CMake
|
|
||||||
CMAKE_PROJECT_VERSION_TWEAK:STATIC=
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_RANLIB:FILEPATH=/usr/bin/llvm-ranlib
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_READELF:FILEPATH=/usr/bin/llvm-readelf
|
|
||||||
|
|
||||||
//Flags used by the linker during the creation of shared libraries
|
|
||||||
// during all build types.
|
|
||||||
CMAKE_SHARED_LINKER_FLAGS:STRING=-m64
|
|
||||||
|
|
||||||
//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 archiver during the creation of static libraries
|
|
||||||
// during all build types.
|
|
||||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
|
||||||
|
|
||||||
//Flags used by the archiver during the creation of static libraries
|
|
||||||
// during DEBUG builds.
|
|
||||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
|
||||||
|
|
||||||
//Flags used by the archiver during the creation of static libraries
|
|
||||||
// during MINSIZEREL builds.
|
|
||||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
|
||||||
|
|
||||||
//Flags used by the archiver during the creation of static libraries
|
|
||||||
// during RELEASE builds.
|
|
||||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
|
||||||
|
|
||||||
//Flags used by the archiver during the creation of static libraries
|
|
||||||
// during RELWITHDEBINFO builds.
|
|
||||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_STRIP:FILEPATH=/usr/bin/llvm-strip
|
|
||||||
|
|
||||||
//Path to a program.
|
|
||||||
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
|
||||||
|
|
||||||
//The CMake toolchain file
|
|
||||||
CMAKE_TOOLCHAIN_FILE:FILEPATH=/home/erris/projects/open_engine/application/build/conan_toolchain.cmake
|
|
||||||
|
|
||||||
//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
|
|
||||||
SandBox_BINARY_DIR:STATIC=/home/erris/projects/open_engine/application/build
|
|
||||||
|
|
||||||
//Value Computed by CMake
|
|
||||||
SandBox_IS_TOP_LEVEL:STATIC=ON
|
|
||||||
|
|
||||||
//Value Computed by CMake
|
|
||||||
SandBox_SOURCE_DIR:STATIC=/home/erris/projects/open_engine/application
|
|
||||||
|
|
||||||
//The directory containing a CMake configuration file for fmt.
|
|
||||||
fmt_DIR:PATH=/home/erris/projects/open_engine/application/build
|
|
||||||
|
|
||||||
//The directory containing a CMake configuration file for imgui.
|
|
||||||
imgui_DIR:PATH=/home/erris/projects/open_engine/application/build
|
|
||||||
|
|
||||||
//The directory containing a CMake configuration file for spdlog.
|
|
||||||
spdlog_DIR:PATH=/home/erris/projects/open_engine/application/build
|
|
||||||
|
|
||||||
|
|
||||||
########################
|
|
||||||
# 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/erris/projects/open_engine/application/build
|
|
||||||
//Major version of cmake used to create the current loaded cache
|
|
||||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
|
|
||||||
//Minor version of cmake used to create the current loaded cache
|
|
||||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=2
|
|
||||||
//Patch version of cmake used to create the current loaded cache
|
|
||||||
CMAKE_CACHE_PATCH_VERSION: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_AR
|
|
||||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
|
||||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS
|
|
||||||
CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS-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_C_COMPILER_AR
|
|
||||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
|
||||||
//ADVANCED property for variable: CMAKE_C_COMPILER_CLANG_SCAN_DEPS
|
|
||||||
CMAKE_C_COMPILER_CLANG_SCAN_DEPS-ADVANCED:INTERNAL=1
|
|
||||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
|
||||||
CMAKE_C_COMPILER_RANLIB-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_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_BUILD_DATABASE
|
|
||||||
CMAKE_EXPORT_BUILD_DATABASE-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=
|
|
||||||
//Source directory with the top level CMakeLists.txt file for this
|
|
||||||
// project
|
|
||||||
CMAKE_HOME_DIRECTORY:INTERNAL=/home/erris/projects/open_engine/application
|
|
||||||
//Install .so files without execute permission.
|
|
||||||
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
|
|
||||||
//ADVANCED property for variable: CMAKE_LINKER
|
|
||||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
|
||||||
//Name of CMakeLists files to read
|
|
||||||
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
|
|
||||||
//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
|
|
||||||
//ADVANCED property for variable: CMAKE_TAPI
|
|
||||||
CMAKE_TAPI-ADVANCED:INTERNAL=1
|
|
||||||
//uname command
|
|
||||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
|
||||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
|
||||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
|
||||||
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
set(CMAKE_C_COMPILER "/usr/bin/clang")
|
|
||||||
set(CMAKE_C_COMPILER_ARG1 "")
|
|
||||||
set(CMAKE_C_COMPILER_ID "Clang")
|
|
||||||
set(CMAKE_C_COMPILER_VERSION "21.1.6")
|
|
||||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
|
||||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
|
||||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
|
|
||||||
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
|
||||||
set(CMAKE_C_STANDARD_LATEST "23")
|
|
||||||
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;c_std_23")
|
|
||||||
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 "c_std_23")
|
|
||||||
|
|
||||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
|
||||||
set(CMAKE_C_SIMULATE_ID "")
|
|
||||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
|
|
||||||
set(CMAKE_C_COMPILER_APPLE_SYSROOT "")
|
|
||||||
set(CMAKE_C_SIMULATE_VERSION "")
|
|
||||||
set(CMAKE_C_COMPILER_ARCHITECTURE_ID "x86_64")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_AR "/usr/bin/llvm-ar")
|
|
||||||
set(CMAKE_C_COMPILER_AR "/usr/bin/llvm-ar")
|
|
||||||
set(CMAKE_RANLIB "/usr/bin/llvm-ranlib")
|
|
||||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/llvm-ranlib")
|
|
||||||
set(CMAKE_LINKER "/usr/bin/ld.lld")
|
|
||||||
set(CMAKE_LINKER_LINK "")
|
|
||||||
set(CMAKE_LINKER_LLD "")
|
|
||||||
set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld")
|
|
||||||
set(CMAKE_C_COMPILER_LINKER_ID "GNU")
|
|
||||||
set(CMAKE_C_COMPILER_LINKER_VERSION 2.45.1)
|
|
||||||
set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU)
|
|
||||||
set(CMAKE_MT "")
|
|
||||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
|
||||||
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)
|
|
||||||
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE)
|
|
||||||
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
|
||||||
set(CMAKE_C_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
|
||||||
|
|
||||||
# Save compiler ABI information.
|
|
||||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
|
||||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
|
||||||
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 "")
|
|
||||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
|
||||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/clang/21/include;/usr/local/include;/usr/include")
|
|
||||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
|
||||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1;/usr/lib64;/lib64;/lib;/usr/lib")
|
|
||||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
|
|
||||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
|
||||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
|
||||||
set(CMAKE_CXX_COMPILER_VERSION "21.1.6")
|
|
||||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
|
||||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
|
||||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
|
||||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
|
||||||
set(CMAKE_CXX_STANDARD_LATEST "26")
|
|
||||||
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;cxx_std_26")
|
|
||||||
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_CXX26_COMPILE_FEATURES "cxx_std_26")
|
|
||||||
|
|
||||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
|
||||||
set(CMAKE_CXX_SIMULATE_ID "")
|
|
||||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
|
|
||||||
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
|
|
||||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
|
||||||
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "x86_64")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_AR "/usr/bin/llvm-ar")
|
|
||||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/llvm-ar")
|
|
||||||
set(CMAKE_RANLIB "/usr/bin/llvm-ranlib")
|
|
||||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/llvm-ranlib")
|
|
||||||
set(CMAKE_LINKER "/usr/bin/ld.lld")
|
|
||||||
set(CMAKE_LINKER_LINK "")
|
|
||||||
set(CMAKE_LINKER_LLD "")
|
|
||||||
set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld")
|
|
||||||
set(CMAKE_CXX_COMPILER_LINKER_ID "GNU")
|
|
||||||
set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.45.1)
|
|
||||||
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU)
|
|
||||||
set(CMAKE_MT "")
|
|
||||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
|
||||||
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;ccm;cxxm;c++m)
|
|
||||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
|
||||||
|
|
||||||
foreach (lang IN ITEMS 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)
|
|
||||||
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE)
|
|
||||||
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
|
||||||
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
|
||||||
|
|
||||||
# Save compiler ABI information.
|
|
||||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
|
||||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
|
||||||
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 "")
|
|
||||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
|
||||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/15.2.1;/usr/include/c++/15.2.1/x86_64-pc-linux-gnu;/usr/include/c++/15.2.1/backward;/usr/lib/clang/21/include;/usr/local/include;/usr/include")
|
|
||||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
|
||||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1;/usr/lib64;/lib64;/lib;/usr/lib")
|
|
||||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
|
||||||
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "/usr/lib/clang/21")
|
|
||||||
|
|
||||||
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
|
|
||||||
### Imported target for C++23 standard library
|
|
||||||
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")
|
|
||||||
|
|
||||||
|
|
||||||
### Imported target for C++26 standard library
|
|
||||||
set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,15 +0,0 @@
|
|||||||
set(CMAKE_HOST_SYSTEM "Linux-6.18.3-arch1-1")
|
|
||||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
|
||||||
set(CMAKE_HOST_SYSTEM_VERSION "6.18.3-arch1-1")
|
|
||||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
|
||||||
|
|
||||||
include("/home/erris/projects/open_engine/application/build/conan_toolchain.cmake")
|
|
||||||
|
|
||||||
set(CMAKE_SYSTEM "Linux-6.18.3-arch1-1")
|
|
||||||
set(CMAKE_SYSTEM_NAME "Linux")
|
|
||||||
set(CMAKE_SYSTEM_VERSION "6.18.3-arch1-1")
|
|
||||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
||||||
|
|
||||||
set(CMAKE_SYSTEM_LOADED 1)
|
|
||||||
@@ -1,934 +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(__open_xl__) && defined(__clang__)
|
|
||||||
# define COMPILER_ID "IBMClang"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
|
||||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
|
||||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
|
||||||
|
|
||||||
|
|
||||||
#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(__clang__) && defined(__cray__)
|
|
||||||
# define COMPILER_ID "CrayClang"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
|
||||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
|
||||||
|
|
||||||
|
|
||||||
#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(__TASKING__)
|
|
||||||
# define COMPILER_ID "Tasking"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
|
||||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
|
||||||
|
|
||||||
#elif defined(__ORANGEC__)
|
|
||||||
# define COMPILER_ID "OrangeC"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
|
||||||
|
|
||||||
#elif defined(__RENESAS__)
|
|
||||||
# define COMPILER_ID "Renesas"
|
|
||||||
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
|
|
||||||
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
|
|
||||||
|
|
||||||
#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/100 % 100)
|
|
||||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
|
||||||
|
|
||||||
#elif defined(__clang__) && defined(__ti__)
|
|
||||||
# define COMPILER_ID "TIClang"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
|
|
||||||
# define COMPILER_VERSION_INTERNAL DEC(__ti_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(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
|
||||||
# define COMPILER_ID "LCC"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
|
||||||
# if defined(__LCC_MINOR__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
|
||||||
# endif
|
|
||||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
|
||||||
# define SIMULATE_ID "GNU"
|
|
||||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
|
||||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
|
||||||
# if defined(__GNUC_PATCHLEVEL__)
|
|
||||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
|
||||||
# endif
|
|
||||||
# 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(_ADI_COMPILER)
|
|
||||||
# define COMPILER_ID "ADSP"
|
|
||||||
#if defined(__VERSIONNUM__)
|
|
||||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 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(__DCC__) && defined(_DIAB_TOOL)
|
|
||||||
# define COMPILER_ID "Diab"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
|
|
||||||
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
|
|
||||||
|
|
||||||
|
|
||||||
#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
|
|
||||||
|
|
||||||
# elif defined(_ADI_COMPILER)
|
|
||||||
# define PLATFORM_ID "ADSP"
|
|
||||||
|
|
||||||
#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(__clang__) && defined(__ti__)
|
|
||||||
# if defined(__ARM_ARCH)
|
|
||||||
# define ARCHITECTURE_ID "ARM"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# elif defined(__ADSPSHARC__)
|
|
||||||
# define ARCHITECTURE_ID "SHARC"
|
|
||||||
|
|
||||||
# elif defined(__ADSPBLACKFIN__)
|
|
||||||
# define ARCHITECTURE_ID "Blackfin"
|
|
||||||
|
|
||||||
#elif defined(__TASKING__)
|
|
||||||
|
|
||||||
# if defined(__CTC__) || defined(__CPTC__)
|
|
||||||
# define ARCHITECTURE_ID "TriCore"
|
|
||||||
|
|
||||||
# elif defined(__CMCS__)
|
|
||||||
# define ARCHITECTURE_ID "MCS"
|
|
||||||
|
|
||||||
# elif defined(__CARM__) || defined(__CPARM__)
|
|
||||||
# define ARCHITECTURE_ID "ARM"
|
|
||||||
|
|
||||||
# elif defined(__CARC__)
|
|
||||||
# define ARCHITECTURE_ID "ARC"
|
|
||||||
|
|
||||||
# elif defined(__C51__)
|
|
||||||
# define ARCHITECTURE_ID "8051"
|
|
||||||
|
|
||||||
# elif defined(__CPCP__)
|
|
||||||
# define ARCHITECTURE_ID "PCP"
|
|
||||||
|
|
||||||
# else
|
|
||||||
# define ARCHITECTURE_ID ""
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#elif defined(__RENESAS__)
|
|
||||||
# if defined(__CCRX__)
|
|
||||||
# define ARCHITECTURE_ID "RX"
|
|
||||||
|
|
||||||
# elif defined(__CCRL__)
|
|
||||||
# define ARCHITECTURE_ID "RL78"
|
|
||||||
|
|
||||||
# elif defined(__CCRH__)
|
|
||||||
# define ARCHITECTURE_ID "RH850"
|
|
||||||
|
|
||||||
# else
|
|
||||||
# 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 "]";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define C_STD_99 199901L
|
|
||||||
#define C_STD_11 201112L
|
|
||||||
#define C_STD_17 201710L
|
|
||||||
#define C_STD_23 202311L
|
|
||||||
|
|
||||||
#ifdef __STDC_VERSION__
|
|
||||||
# define C_STD __STDC_VERSION__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(__STDC__) && !defined(__clang__) && !defined(__RENESAS__)
|
|
||||||
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
|
|
||||||
# define C_VERSION "90"
|
|
||||||
# else
|
|
||||||
# define C_VERSION
|
|
||||||
# endif
|
|
||||||
#elif C_STD > C_STD_17
|
|
||||||
# define C_VERSION "23"
|
|
||||||
#elif C_STD > C_STD_11
|
|
||||||
# define C_VERSION "17"
|
|
||||||
#elif C_STD > C_STD_99
|
|
||||||
# define C_VERSION "11"
|
|
||||||
#elif C_STD >= C_STD_99
|
|
||||||
# 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["
|
|
||||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
|
||||||
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
|
|
||||||
!defined(__STRICT_ANSI__)
|
|
||||||
"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
|
|
||||||
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
|
|
||||||
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
|
|
||||||
Binary file not shown.
@@ -1,949 +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(__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(__open_xl__) && defined(__clang__)
|
|
||||||
# define COMPILER_ID "IBMClang"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
|
||||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
|
||||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
|
||||||
|
|
||||||
|
|
||||||
#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(__clang__) && defined(__cray__)
|
|
||||||
# define COMPILER_ID "CrayClang"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
|
||||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
|
||||||
|
|
||||||
|
|
||||||
#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(__TASKING__)
|
|
||||||
# define COMPILER_ID "Tasking"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
|
||||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
|
||||||
|
|
||||||
#elif defined(__ORANGEC__)
|
|
||||||
# define COMPILER_ID "OrangeC"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
|
||||||
|
|
||||||
#elif defined(__RENESAS__)
|
|
||||||
# define COMPILER_ID "Renesas"
|
|
||||||
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
|
|
||||||
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
|
|
||||||
|
|
||||||
#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/100 % 100)
|
|
||||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
|
||||||
|
|
||||||
#elif defined(__clang__) && defined(__ti__)
|
|
||||||
# define COMPILER_ID "TIClang"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
|
|
||||||
# define COMPILER_VERSION_INTERNAL DEC(__ti_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(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
|
||||||
# define COMPILER_ID "LCC"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
|
||||||
# if defined(__LCC_MINOR__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
|
||||||
# endif
|
|
||||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
|
||||||
# define SIMULATE_ID "GNU"
|
|
||||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
|
||||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
|
||||||
# if defined(__GNUC_PATCHLEVEL__)
|
|
||||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
|
||||||
# endif
|
|
||||||
# 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(_ADI_COMPILER)
|
|
||||||
# define COMPILER_ID "ADSP"
|
|
||||||
#if defined(__VERSIONNUM__)
|
|
||||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
|
||||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 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(__DCC__) && defined(_DIAB_TOOL)
|
|
||||||
# define COMPILER_ID "Diab"
|
|
||||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
|
|
||||||
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
|
|
||||||
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
|
|
||||||
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* 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
|
|
||||||
|
|
||||||
# elif defined(_ADI_COMPILER)
|
|
||||||
# define PLATFORM_ID "ADSP"
|
|
||||||
|
|
||||||
#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(__clang__) && defined(__ti__)
|
|
||||||
# if defined(__ARM_ARCH)
|
|
||||||
# define ARCHITECTURE_ID "ARM"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# elif defined(__ADSPSHARC__)
|
|
||||||
# define ARCHITECTURE_ID "SHARC"
|
|
||||||
|
|
||||||
# elif defined(__ADSPBLACKFIN__)
|
|
||||||
# define ARCHITECTURE_ID "Blackfin"
|
|
||||||
|
|
||||||
#elif defined(__TASKING__)
|
|
||||||
|
|
||||||
# if defined(__CTC__) || defined(__CPTC__)
|
|
||||||
# define ARCHITECTURE_ID "TriCore"
|
|
||||||
|
|
||||||
# elif defined(__CMCS__)
|
|
||||||
# define ARCHITECTURE_ID "MCS"
|
|
||||||
|
|
||||||
# elif defined(__CARM__) || defined(__CPARM__)
|
|
||||||
# define ARCHITECTURE_ID "ARM"
|
|
||||||
|
|
||||||
# elif defined(__CARC__)
|
|
||||||
# define ARCHITECTURE_ID "ARC"
|
|
||||||
|
|
||||||
# elif defined(__C51__)
|
|
||||||
# define ARCHITECTURE_ID "8051"
|
|
||||||
|
|
||||||
# elif defined(__CPCP__)
|
|
||||||
# define ARCHITECTURE_ID "PCP"
|
|
||||||
|
|
||||||
# else
|
|
||||||
# define ARCHITECTURE_ID ""
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#elif defined(__RENESAS__)
|
|
||||||
# if defined(__CCRX__)
|
|
||||||
# define ARCHITECTURE_ID "RX"
|
|
||||||
|
|
||||||
# elif defined(__CCRL__)
|
|
||||||
# define ARCHITECTURE_ID "RL78"
|
|
||||||
|
|
||||||
# elif defined(__CCRH__)
|
|
||||||
# define ARCHITECTURE_ID "RH850"
|
|
||||||
|
|
||||||
# else
|
|
||||||
# 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 "]";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define CXX_STD_98 199711L
|
|
||||||
#define CXX_STD_11 201103L
|
|
||||||
#define CXX_STD_14 201402L
|
|
||||||
#define CXX_STD_17 201703L
|
|
||||||
#define CXX_STD_20 202002L
|
|
||||||
#define CXX_STD_23 202302L
|
|
||||||
|
|
||||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
|
|
||||||
# if _MSVC_LANG > CXX_STD_17
|
|
||||||
# define CXX_STD _MSVC_LANG
|
|
||||||
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
|
||||||
# define CXX_STD CXX_STD_20
|
|
||||||
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
|
|
||||||
# define CXX_STD CXX_STD_20
|
|
||||||
# elif _MSVC_LANG > CXX_STD_14
|
|
||||||
# define CXX_STD CXX_STD_17
|
|
||||||
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
|
|
||||||
# define CXX_STD CXX_STD_14
|
|
||||||
# elif defined(__INTEL_CXX11_MODE__)
|
|
||||||
# define CXX_STD CXX_STD_11
|
|
||||||
# else
|
|
||||||
# define CXX_STD CXX_STD_98
|
|
||||||
# endif
|
|
||||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
|
||||||
# if _MSVC_LANG > __cplusplus
|
|
||||||
# define CXX_STD _MSVC_LANG
|
|
||||||
# else
|
|
||||||
# define CXX_STD __cplusplus
|
|
||||||
# endif
|
|
||||||
#elif defined(__NVCOMPILER)
|
|
||||||
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
|
||||||
# define CXX_STD CXX_STD_20
|
|
||||||
# else
|
|
||||||
# define CXX_STD __cplusplus
|
|
||||||
# endif
|
|
||||||
#elif defined(__INTEL_COMPILER) || defined(__PGI)
|
|
||||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
|
|
||||||
# define CXX_STD CXX_STD_17
|
|
||||||
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
|
||||||
# define CXX_STD CXX_STD_14
|
|
||||||
# else
|
|
||||||
# define CXX_STD __cplusplus
|
|
||||||
# endif
|
|
||||||
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
|
|
||||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
|
||||||
# define CXX_STD CXX_STD_14
|
|
||||||
# else
|
|
||||||
# define CXX_STD __cplusplus
|
|
||||||
# endif
|
|
||||||
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
|
||||||
# define CXX_STD CXX_STD_11
|
|
||||||
#else
|
|
||||||
# define CXX_STD __cplusplus
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
|
||||||
#if CXX_STD > CXX_STD_23
|
|
||||||
"26"
|
|
||||||
#elif CXX_STD > CXX_STD_20
|
|
||||||
"23"
|
|
||||||
#elif CXX_STD > CXX_STD_17
|
|
||||||
"20"
|
|
||||||
#elif CXX_STD > CXX_STD_14
|
|
||||||
"17"
|
|
||||||
#elif CXX_STD > CXX_STD_11
|
|
||||||
"14"
|
|
||||||
#elif CXX_STD >= CXX_STD_11
|
|
||||||
"11"
|
|
||||||
#else
|
|
||||||
"98"
|
|
||||||
#endif
|
|
||||||
"]";
|
|
||||||
|
|
||||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
|
||||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
|
||||||
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
|
|
||||||
!defined(__STRICT_ANSI__)
|
|
||||||
"ON"
|
|
||||||
#else
|
|
||||||
"OFF"
|
|
||||||
#endif
|
|
||||||
"]";
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
|
||||||
{
|
|
||||||
int require = 0;
|
|
||||||
require += info_compiler[argc];
|
|
||||||
require += info_platform[argc];
|
|
||||||
require += info_arch[argc];
|
|
||||||
#ifdef COMPILER_VERSION_MAJOR
|
|
||||||
require += info_version[argc];
|
|
||||||
#endif
|
|
||||||
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"InstallScripts" :
|
|
||||||
[
|
|
||||||
"/home/erris/projects/open_engine/application/build/cmake_install.cmake"
|
|
||||||
],
|
|
||||||
"Parallel" : false
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
/home/erris/projects/open_engine/application/build/CMakeFiles/sand_box.dir
|
|
||||||
/home/erris/projects/open_engine/application/build/CMakeFiles/edit_cache.dir
|
|
||||||
/home/erris/projects/open_engine/application/build/CMakeFiles/rebuild_cache.dir
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
# CMAKE generated file: DO NOT EDIT!
|
|
||||||
# Generated by "Ninja" Generator, CMake Version 4.2
|
|
||||||
|
|
||||||
# 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: SandBox
|
|
||||||
# Configurations: Debug
|
|
||||||
# =============================================================================
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for generating CXX dependencies.
|
|
||||||
|
|
||||||
rule CXX_SCAN__sand_box_Debug
|
|
||||||
depfile = $DEP_FILE
|
|
||||||
command = "/usr/bin/clang-scan-deps" -format=p1689 -- /usr/bin/clang++ $DEFINES $INCLUDES $FLAGS -x c++ $in -c -o $OBJ_FILE -resource-dir "/usr/lib/clang/21" -MT $DYNDEP_INTERMEDIATE_FILE -MD -MF $DEP_FILE > $DYNDEP_INTERMEDIATE_FILE.tmp && mv $DYNDEP_INTERMEDIATE_FILE.tmp $DYNDEP_INTERMEDIATE_FILE
|
|
||||||
description = Scanning $in for CXX dependencies
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule to generate ninja dyndep files for CXX.
|
|
||||||
|
|
||||||
rule CXX_DYNDEP__sand_box_Debug
|
|
||||||
command = /usr/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/sand_box.dir/CXXDependInfo.json --lang=CXX --modmapfmt=clang --dd=$out @$out.rsp
|
|
||||||
description = Generating CXX dyndep file $out
|
|
||||||
rspfile = $out.rsp
|
|
||||||
rspfile_content = $in
|
|
||||||
restat = 1
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for compiling CXX files.
|
|
||||||
|
|
||||||
rule CXX_COMPILER__sand_box_scanned_Debug
|
|
||||||
depfile = $DEP_FILE
|
|
||||||
deps = gcc
|
|
||||||
command = ${LAUNCHER}${CODE_CHECK}/usr/bin/clang++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE @$DYNDEP_MODULE_MAP_FILE -o $out -c $in
|
|
||||||
description = Building CXX object $out
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for compiling CXX files.
|
|
||||||
|
|
||||||
rule CXX_COMPILER__sand_box_unscanned_Debug
|
|
||||||
depfile = $DEP_FILE
|
|
||||||
deps = gcc
|
|
||||||
command = ${LAUNCHER}${CODE_CHECK}/usr/bin/clang++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
|
|
||||||
description = Building CXX object $out
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for linking CXX executable.
|
|
||||||
|
|
||||||
rule CXX_EXECUTABLE_LINKER__sand_box_Debug
|
|
||||||
depfile = $DEP_FILE
|
|
||||||
deps = gcc
|
|
||||||
command = $PRE_LINK && /usr/bin/clang++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
|
|
||||||
description = Linking CXX executable $TARGET_FILE
|
|
||||||
restat = $RESTAT
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for running custom commands.
|
|
||||||
|
|
||||||
rule CUSTOM_COMMAND
|
|
||||||
command = $COMMAND
|
|
||||||
description = $DESC
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for re-running cmake.
|
|
||||||
|
|
||||||
rule RERUN_CMAKE
|
|
||||||
command = /usr/bin/cmake --regenerate-during-build -S/home/erris/projects/open_engine/application -B/home/erris/projects/open_engine/application/build
|
|
||||||
description = Re-running CMake...
|
|
||||||
generator = 1
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for cleaning all built files.
|
|
||||||
|
|
||||||
rule CLEAN
|
|
||||||
command = /usr/bin/ninja $FILE_ARG -t clean $TARGETS
|
|
||||||
description = Cleaning all built files...
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Rule for printing all primary targets available.
|
|
||||||
|
|
||||||
rule HELP
|
|
||||||
command = /usr/bin/ninja -t targets
|
|
||||||
description = All primary targets available:
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"bmi-installation" : null,
|
|
||||||
"compiler-frontend-variant" : "GNU",
|
|
||||||
"compiler-id" : "Clang",
|
|
||||||
"compiler-simulate-id" : "",
|
|
||||||
"config" : "Debug",
|
|
||||||
"cxx-modules" : {},
|
|
||||||
"database-info" : null,
|
|
||||||
"dir-cur-bld" : "/home/erris/projects/open_engine/application/build",
|
|
||||||
"dir-cur-src" : "/home/erris/projects/open_engine/application",
|
|
||||||
"dir-top-bld" : "/home/erris/projects/open_engine/application/build",
|
|
||||||
"dir-top-src" : "/home/erris/projects/open_engine/application",
|
|
||||||
"exports" : [],
|
|
||||||
"forward-modules-from-target-dirs" : [],
|
|
||||||
"include-dirs" :
|
|
||||||
[
|
|
||||||
"/home/erris/projects/open_engine/application/include"
|
|
||||||
],
|
|
||||||
"language" : "CXX",
|
|
||||||
"linked-target-dirs" : [],
|
|
||||||
"module-dir" : "/home/erris/projects/open_engine/application/build/CMakeFiles/sand_box.dir",
|
|
||||||
"sources" :
|
|
||||||
{
|
|
||||||
"CMakeFiles/sand_box.dir/src/sandbox.cpp.o" :
|
|
||||||
{
|
|
||||||
"language" : "CXX",
|
|
||||||
"source" : "/home/erris/projects/open_engine/application/src/sandbox.cpp"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"revision": 0,
|
|
||||||
"rules": [],
|
|
||||||
"version": 1
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"vendor": {
|
|
||||||
"conan": {}
|
|
||||||
},
|
|
||||||
"cmakeMinimumRequired": {
|
|
||||||
"major": 3,
|
|
||||||
"minor": 15,
|
|
||||||
"patch": 0
|
|
||||||
},
|
|
||||||
"configurePresets": [
|
|
||||||
{
|
|
||||||
"name": "conan-default",
|
|
||||||
"displayName": "'conan-default' config",
|
|
||||||
"description": "'conan-default' configure using 'Unix Makefiles' generator",
|
|
||||||
"generator": "Unix Makefiles",
|
|
||||||
"cacheVariables": {
|
|
||||||
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW"
|
|
||||||
},
|
|
||||||
"toolchainFile": "conan_toolchain.cmake",
|
|
||||||
"binaryDir": "/home/erris/projects/open_engine/application/build"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"buildPresets": [
|
|
||||||
{
|
|
||||||
"name": "conan-default",
|
|
||||||
"configurePreset": "conan-default",
|
|
||||||
"jobs": 16
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"testPresets": [
|
|
||||||
{
|
|
||||||
"name": "conan-default",
|
|
||||||
"configurePreset": "conan-default"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,166 +0,0 @@
|
|||||||
# CMAKE generated file: DO NOT EDIT!
|
|
||||||
# Generated by "Ninja" Generator, CMake Version 4.2
|
|
||||||
|
|
||||||
# This file contains all the build statements describing the
|
|
||||||
# compilation DAG.
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Write statements declared in CMakeLists.txt:
|
|
||||||
#
|
|
||||||
# Which is the root file.
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Project: SandBox
|
|
||||||
# Configurations: Debug
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Minimal version of Ninja required by this file
|
|
||||||
|
|
||||||
ninja_required_version = 1.5
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Set configuration variable for custom commands.
|
|
||||||
|
|
||||||
CONFIGURATION = Debug
|
|
||||||
# =============================================================================
|
|
||||||
# Include auxiliary files.
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Include rules file.
|
|
||||||
|
|
||||||
include CMakeFiles/rules.ninja
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Logical path to working directory; prefix for absolute paths.
|
|
||||||
|
|
||||||
cmake_ninja_workdir = /home/erris/projects/open_engine/application/build/
|
|
||||||
# =============================================================================
|
|
||||||
# Object build statements for EXECUTABLE target sand_box
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Order-only phony target for sand_box
|
|
||||||
|
|
||||||
build cmake_object_order_depends_target_sand_box: phony || .
|
|
||||||
|
|
||||||
build CMakeFiles/sand_box.dir/src/sandbox.cpp.o.ddi: CXX_SCAN__sand_box_Debug /home/erris/projects/open_engine/application/src/sandbox.cpp || cmake_object_order_depends_target_sand_box
|
|
||||||
DEFINES = -D_GLIBCXX_USE_CXX11_ABI=0
|
|
||||||
DEP_FILE = CMakeFiles/sand_box.dir/src/sandbox.cpp.o.ddi.d
|
|
||||||
DYNDEP_INTERMEDIATE_FILE = CMakeFiles/sand_box.dir/src/sandbox.cpp.o.ddi
|
|
||||||
FLAGS = -m64 -stdlib=libstdc++ -g -std=c++20
|
|
||||||
INCLUDES = -I/home/erris/projects/open_engine/application/include
|
|
||||||
OBJ_FILE = CMakeFiles/sand_box.dir/src/sandbox.cpp.o
|
|
||||||
PREPROCESSED_OUTPUT_FILE = CMakeFiles/sand_box.dir/src/sandbox.cpp.o.ddi.i
|
|
||||||
|
|
||||||
build CMakeFiles/sand_box.dir/src/sandbox.cpp.o: CXX_COMPILER__sand_box_scanned_Debug /home/erris/projects/open_engine/application/src/sandbox.cpp | CMakeFiles/sand_box.dir/src/sandbox.cpp.o.modmap || cmake_object_order_depends_target_sand_box CMakeFiles/sand_box.dir/CXX.dd
|
|
||||||
CONFIG = Debug
|
|
||||||
DEFINES = -D_GLIBCXX_USE_CXX11_ABI=0
|
|
||||||
DEP_FILE = CMakeFiles/sand_box.dir/src/sandbox.cpp.o.d
|
|
||||||
DYNDEP_MODULE_MAP_FILE = CMakeFiles/sand_box.dir/src/sandbox.cpp.o.modmap
|
|
||||||
FLAGS = -m64 -stdlib=libstdc++ -g -std=c++20
|
|
||||||
INCLUDES = -I/home/erris/projects/open_engine/application/include
|
|
||||||
OBJECT_DIR = CMakeFiles/sand_box.dir
|
|
||||||
OBJECT_FILE_DIR = CMakeFiles/sand_box.dir/src
|
|
||||||
TARGET_SUPPORT_DIR = CMakeFiles/sand_box.dir
|
|
||||||
dyndep = CMakeFiles/sand_box.dir/CXX.dd
|
|
||||||
|
|
||||||
build CMakeFiles/sand_box.dir/CXX.dd | CMakeFiles/sand_box.dir/CXXModules.json CMakeFiles/sand_box.dir/src/sandbox.cpp.o.modmap: CXX_DYNDEP__sand_box_Debug CMakeFiles/sand_box.dir/src/sandbox.cpp.o.ddi | /home/erris/projects/open_engine/application/build/CMakeFiles/sand_box.dir/CXXDependInfo.json
|
|
||||||
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Link build statements for EXECUTABLE target sand_box
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Link the executable sand_box
|
|
||||||
|
|
||||||
build sand_box: CXX_EXECUTABLE_LINKER__sand_box_Debug CMakeFiles/sand_box.dir/src/sandbox.cpp.o
|
|
||||||
CONFIG = Debug
|
|
||||||
DEP_FILE = CMakeFiles/sand_box.dir/link.d
|
|
||||||
FLAGS = -m64 -stdlib=libstdc++ -g
|
|
||||||
LINK_FLAGS = -m64 -Xlinker --dependency-file=CMakeFiles/sand_box.dir/link.d
|
|
||||||
LINK_LIBRARIES = -Wl,-rpath,/home/erris/projects/open_engine/application/lib -lopen_engine
|
|
||||||
LINK_PATH = -L/home/erris/projects/open_engine/application/lib
|
|
||||||
OBJECT_DIR = CMakeFiles/sand_box.dir
|
|
||||||
POST_BUILD = :
|
|
||||||
PRE_LINK = :
|
|
||||||
TARGET_FILE = sand_box
|
|
||||||
TARGET_PDB = sand_box.dbg
|
|
||||||
TARGET_SUPPORT_DIR = CMakeFiles/sand_box.dir
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Utility command for edit_cache
|
|
||||||
|
|
||||||
build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
|
|
||||||
COMMAND = cd /home/erris/projects/open_engine/application/build && /usr/bin/ccmake -S/home/erris/projects/open_engine/application -B/home/erris/projects/open_engine/application/build
|
|
||||||
DESC = Running CMake cache editor...
|
|
||||||
pool = console
|
|
||||||
restat = 1
|
|
||||||
|
|
||||||
build edit_cache: phony CMakeFiles/edit_cache.util
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Utility command for rebuild_cache
|
|
||||||
|
|
||||||
build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
|
|
||||||
COMMAND = cd /home/erris/projects/open_engine/application/build && /usr/bin/cmake --regenerate-during-build -S/home/erris/projects/open_engine/application -B/home/erris/projects/open_engine/application/build
|
|
||||||
DESC = Running CMake to regenerate build system...
|
|
||||||
pool = console
|
|
||||||
restat = 1
|
|
||||||
|
|
||||||
build rebuild_cache: phony CMakeFiles/rebuild_cache.util
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Target aliases.
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Folder targets.
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Folder: /home/erris/projects/open_engine/application/build
|
|
||||||
|
|
||||||
build all: phony sand_box
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Built-in targets
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Re-run CMake if any of its inputs changed.
|
|
||||||
|
|
||||||
build build.ninja /home/erris/projects/open_engine/application/build/cmake_install.cmake: RERUN_CMAKE | /home/erris/projects/open_engine/application/CMakeLists.txt /usr/share/cmake/Modules/CMakeCInformation.cmake /usr/share/cmake/Modules/CMakeCXXInformation.cmake /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake /usr/share/cmake/Modules/CMakeGenericSystem.cmake /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake/Modules/CMakeLanguageInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake/Modules/Compiler/Clang-C.cmake /usr/share/cmake/Modules/Compiler/Clang-CXX.cmake /usr/share/cmake/Modules/Compiler/Clang.cmake /usr/share/cmake/Modules/Compiler/GNU.cmake /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake /usr/share/cmake/Modules/Linker/GNU-C.cmake /usr/share/cmake/Modules/Linker/GNU-CXX.cmake /usr/share/cmake/Modules/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Clang-C.cmake /usr/share/cmake/Modules/Platform/Linux-Clang-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake/Modules/Platform/Linux.cmake /usr/share/cmake/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/4.2.1/CMakeCCompiler.cmake CMakeFiles/4.2.1/CMakeCXXCompiler.cmake CMakeFiles/4.2.1/CMakeSystem.cmake cmakedeps_macros.cmake conan_toolchain.cmake fmt-Target-none.cmake fmt-config-version.cmake fmt-config.cmake fmt-none-x86_64-data.cmake fmtTargets.cmake imgui-Target-none.cmake imgui-config-version.cmake imgui-config.cmake imgui-none-x86_64-data.cmake imguiTargets.cmake spdlog-Target-none.cmake spdlog-config-version.cmake spdlog-config.cmake spdlog-none-x86_64-data.cmake spdlogTargets.cmake
|
|
||||||
pool = console
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# A missing CMake input file is not an error.
|
|
||||||
|
|
||||||
build /home/erris/projects/open_engine/application/CMakeLists.txt /usr/share/cmake/Modules/CMakeCInformation.cmake /usr/share/cmake/Modules/CMakeCXXInformation.cmake /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake /usr/share/cmake/Modules/CMakeGenericSystem.cmake /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake/Modules/CMakeLanguageInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake/Modules/Compiler/Clang-C.cmake /usr/share/cmake/Modules/Compiler/Clang-CXX.cmake /usr/share/cmake/Modules/Compiler/Clang.cmake /usr/share/cmake/Modules/Compiler/GNU.cmake /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake /usr/share/cmake/Modules/Linker/GNU-C.cmake /usr/share/cmake/Modules/Linker/GNU-CXX.cmake /usr/share/cmake/Modules/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Clang-C.cmake /usr/share/cmake/Modules/Platform/Linux-Clang-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake/Modules/Platform/Linux.cmake /usr/share/cmake/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/4.2.1/CMakeCCompiler.cmake CMakeFiles/4.2.1/CMakeCXXCompiler.cmake CMakeFiles/4.2.1/CMakeSystem.cmake cmakedeps_macros.cmake conan_toolchain.cmake fmt-Target-none.cmake fmt-config-version.cmake fmt-config.cmake fmt-none-x86_64-data.cmake fmtTargets.cmake imgui-Target-none.cmake imgui-config-version.cmake imgui-config.cmake imgui-none-x86_64-data.cmake imguiTargets.cmake spdlog-Target-none.cmake spdlog-config-version.cmake spdlog-config.cmake spdlog-none-x86_64-data.cmake spdlogTargets.cmake: phony
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Clean all the built files.
|
|
||||||
|
|
||||||
build clean: CLEAN
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Print all primary targets available.
|
|
||||||
|
|
||||||
build help: HELP
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Make the all target the default.
|
|
||||||
|
|
||||||
default all
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
# Install script for directory: /home/erris/projects/open_engine/application
|
|
||||||
|
|
||||||
# Set the install prefix
|
|
||||||
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
|
||||||
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
|
||||||
endif()
|
|
||||||
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
|
||||||
|
|
||||||
# Set the install configuration name.
|
|
||||||
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
|
||||||
if(BUILD_TYPE)
|
|
||||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
|
||||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
|
||||||
else()
|
|
||||||
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
|
|
||||||
endif()
|
|
||||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Set the component getting installed.
|
|
||||||
if(NOT CMAKE_INSTALL_COMPONENT)
|
|
||||||
if(COMPONENT)
|
|
||||||
message(STATUS "Install component: \"${COMPONENT}\"")
|
|
||||||
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
|
||||||
else()
|
|
||||||
set(CMAKE_INSTALL_COMPONENT)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Install shared libraries without execute permission?
|
|
||||||
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
|
||||||
set(CMAKE_INSTALL_SO_NO_EXE "0")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Is this installation the result of a crosscompile?
|
|
||||||
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
|
||||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Set path to fallback-tool for dependency-resolution.
|
|
||||||
if(NOT DEFINED CMAKE_OBJDUMP)
|
|
||||||
set(CMAKE_OBJDUMP "/usr/bin/llvm-objdump")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
|
||||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
|
||||||
if(CMAKE_INSTALL_LOCAL_ONLY)
|
|
||||||
file(WRITE "/home/erris/projects/open_engine/application/build/install_local_manifest.txt"
|
|
||||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
|
||||||
endif()
|
|
||||||
if(CMAKE_INSTALL_COMPONENT)
|
|
||||||
if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
|
|
||||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
|
||||||
else()
|
|
||||||
string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
|
|
||||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
|
|
||||||
unset(CMAKE_INST_COMP_HASH)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
|
|
||||||
file(WRITE "/home/erris/projects/open_engine/application/build/${CMAKE_INSTALL_MANIFEST}"
|
|
||||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
|
||||||
endif()
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
|
|
||||||
macro(conan_find_apple_frameworks FRAMEWORKS_FOUND FRAMEWORKS FRAMEWORKS_DIRS)
|
|
||||||
if(APPLE)
|
|
||||||
foreach(_FRAMEWORK ${FRAMEWORKS})
|
|
||||||
# https://cmake.org/pipermail/cmake-developers/2017-August/030199.html
|
|
||||||
find_library(CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND NAMES ${_FRAMEWORK} PATHS ${FRAMEWORKS_DIRS} CMAKE_FIND_ROOT_PATH_BOTH)
|
|
||||||
if(CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND)
|
|
||||||
list(APPEND ${FRAMEWORKS_FOUND} ${CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND})
|
|
||||||
message(VERBOSE "Framework found! ${FRAMEWORKS_FOUND}")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Framework library ${_FRAMEWORK} not found in paths: ${FRAMEWORKS_DIRS}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
function(conan_package_library_targets libraries package_libdir package_bindir library_type
|
|
||||||
is_host_windows deps_target out_libraries_target config_suffix package_name no_soname_mode)
|
|
||||||
set(_out_libraries_target "")
|
|
||||||
|
|
||||||
foreach(_LIBRARY_NAME ${libraries})
|
|
||||||
if(CMAKE_SYSTEM_NAME MATCHES "Windows" AND NOT DEFINED MINGW AND CMAKE_VERSION VERSION_LESS "3.29")
|
|
||||||
# Backport logic from https://github.com/Kitware/CMake/commit/c6efbd78d86798573654d1a791f76de0e71bd93f
|
|
||||||
# which is only needed on versions older than 3.29
|
|
||||||
# this allows finding static library files created by meson
|
|
||||||
# We are not affected by PATH-derived folders, because we call find_library with NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
|
|
||||||
set(_original_find_library_suffixes "${CMAKE_FIND_LIBRARY_SUFFIXES}")
|
|
||||||
set(_original_find_library_prefixes "${CMAKE_FIND_LIBRARY_PREFIXES}")
|
|
||||||
set(CMAKE_FIND_LIBRARY_PREFIXES "" "lib")
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.lib" ".lib" ".a")
|
|
||||||
endif()
|
|
||||||
find_library(CONAN_FOUND_LIBRARY NAMES ${_LIBRARY_NAME} PATHS ${package_libdir}
|
|
||||||
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
|
||||||
if(DEFINED _original_find_library_suffixes)
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${_original_find_library_suffixes}")
|
|
||||||
set(CMAKE_FIND_LIBRARY_PREFIXES "${_original_find_library_prefixes}")
|
|
||||||
unset(_original_find_library_suffixes)
|
|
||||||
unset(_original_find_library_prefixes)
|
|
||||||
endif()
|
|
||||||
if(CONAN_FOUND_LIBRARY)
|
|
||||||
message(VERBOSE "Conan: Library ${_LIBRARY_NAME} found ${CONAN_FOUND_LIBRARY}")
|
|
||||||
|
|
||||||
# Create a micro-target for each lib/a found
|
|
||||||
# Allow only some characters for the target name
|
|
||||||
string(REGEX REPLACE "[^A-Za-z0-9.+_-]" "_" _LIBRARY_NAME ${_LIBRARY_NAME})
|
|
||||||
set(_LIB_NAME CONAN_LIB::${package_name}_${_LIBRARY_NAME}${config_suffix})
|
|
||||||
|
|
||||||
if(is_host_windows AND library_type STREQUAL "SHARED")
|
|
||||||
# Store and reset the variable, so it doesn't leak
|
|
||||||
set(_OLD_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .dll ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
||||||
find_library(CONAN_SHARED_FOUND_LIBRARY NAMES ${_LIBRARY_NAME} PATHS ${package_bindir}
|
|
||||||
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OLD_CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
||||||
if(NOT CONAN_SHARED_FOUND_LIBRARY)
|
|
||||||
message(DEBUG "DLL library not found, creating UNKNOWN IMPORTED target, searched for: ${_LIBRARY_NAME}")
|
|
||||||
if(NOT TARGET ${_LIB_NAME})
|
|
||||||
add_library(${_LIB_NAME} UNKNOWN IMPORTED)
|
|
||||||
endif()
|
|
||||||
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_FOUND_LIBRARY})
|
|
||||||
else()
|
|
||||||
if(NOT TARGET ${_LIB_NAME})
|
|
||||||
add_library(${_LIB_NAME} SHARED IMPORTED)
|
|
||||||
endif()
|
|
||||||
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_SHARED_FOUND_LIBRARY})
|
|
||||||
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_IMPLIB${config_suffix} ${CONAN_FOUND_LIBRARY})
|
|
||||||
message(DEBUG "Found DLL and STATIC at ${CONAN_SHARED_FOUND_LIBRARY}, ${CONAN_FOUND_LIBRARY}")
|
|
||||||
endif()
|
|
||||||
unset(CONAN_SHARED_FOUND_LIBRARY CACHE)
|
|
||||||
else()
|
|
||||||
if(NOT TARGET ${_LIB_NAME})
|
|
||||||
# library_type can be STATIC, still UNKNOWN (if no package type available in the recipe) or SHARED (but no windows)
|
|
||||||
add_library(${_LIB_NAME} ${library_type} IMPORTED)
|
|
||||||
endif()
|
|
||||||
message(DEBUG "Created target ${_LIB_NAME} ${library_type} IMPORTED")
|
|
||||||
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_FOUND_LIBRARY} IMPORTED_NO_SONAME ${no_soname_mode})
|
|
||||||
endif()
|
|
||||||
list(APPEND _out_libraries_target ${_LIB_NAME})
|
|
||||||
message(VERBOSE "Conan: Found: ${CONAN_FOUND_LIBRARY}")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Library '${_LIBRARY_NAME}' not found in package. If '${_LIBRARY_NAME}' is a system library, declare it with 'cpp_info.system_libs' property")
|
|
||||||
endif()
|
|
||||||
unset(CONAN_FOUND_LIBRARY CACHE)
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Add the dependencies target for all the imported libraries
|
|
||||||
foreach(_T ${_out_libraries_target})
|
|
||||||
set_property(TARGET ${_T} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${deps_target})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
set(${out_libraries_target} ${_out_libraries_target} PARENT_SCOPE)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
macro(check_build_type_defined)
|
|
||||||
# Check that the -DCMAKE_BUILD_TYPE argument is always present
|
|
||||||
get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
||||||
if(NOT isMultiConfig AND NOT CMAKE_BUILD_TYPE)
|
|
||||||
message(FATAL_ERROR "Please, set the CMAKE_BUILD_TYPE variable when calling to CMake "
|
|
||||||
"adding the '-DCMAKE_BUILD_TYPE=<build_type>' argument.")
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"directory": "/home/erris/projects/open_engine/application/build",
|
|
||||||
"command": "/usr/bin/clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -I/home/erris/projects/open_engine/application/include -m64 -stdlib=libstdc++ -g -std=c++20 @CMakeFiles/sand_box.dir/src/sandbox.cpp.o.modmap -o CMakeFiles/sand_box.dir/src/sandbox.cpp.o -c /home/erris/projects/open_engine/application/src/sandbox.cpp",
|
|
||||||
"file": "/home/erris/projects/open_engine/application/src/sandbox.cpp",
|
|
||||||
"output": "/home/erris/projects/open_engine/application/build/CMakeFiles/sand_box.dir/src/sandbox.cpp.o"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,196 +0,0 @@
|
|||||||
# Conan automatically generated toolchain file
|
|
||||||
# DO NOT EDIT MANUALLY, it will be overwritten
|
|
||||||
|
|
||||||
# Avoid including toolchain file several times (bad if appending to variables like
|
|
||||||
# CMAKE_CXX_FLAGS. See https://github.com/android/ndk/issues/323
|
|
||||||
include_guard()
|
|
||||||
message(STATUS "Using Conan toolchain: ${CMAKE_CURRENT_LIST_FILE}")
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.15")
|
|
||||||
message(FATAL_ERROR "The 'CMakeToolchain' generator only works with CMake >= 3.15")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
########## 'user_toolchain' block #############
|
|
||||||
# Include one or more CMake user toolchain from tools.cmake.cmaketoolchain:user_toolchain
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
########## 'generic_system' block #############
|
|
||||||
# Definition of system, platform and toolset
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
########## 'compilers' block #############
|
|
||||||
|
|
||||||
set(CMAKE_C_COMPILER "clang")
|
|
||||||
set(CMAKE_CXX_COMPILER "clang++")
|
|
||||||
|
|
||||||
|
|
||||||
########## 'arch_flags' block #############
|
|
||||||
# Define C++ flags, C flags and linker flags from 'settings.arch'
|
|
||||||
message(STATUS "Conan toolchain: Defining architecture flag: -m64")
|
|
||||||
string(APPEND CONAN_CXX_FLAGS " -m64")
|
|
||||||
string(APPEND CONAN_C_FLAGS " -m64")
|
|
||||||
string(APPEND CONAN_SHARED_LINKER_FLAGS " -m64")
|
|
||||||
string(APPEND CONAN_EXE_LINKER_FLAGS " -m64")
|
|
||||||
|
|
||||||
|
|
||||||
########## 'libcxx' block #############
|
|
||||||
# Definition of libcxx from 'compiler.libcxx' setting, defining the
|
|
||||||
# right CXX_FLAGS for that libcxx
|
|
||||||
|
|
||||||
message(STATUS "Conan toolchain: Defining libcxx as C++ flags: -stdlib=libstdc++")
|
|
||||||
string(APPEND CONAN_CXX_FLAGS " -stdlib=libstdc++")
|
|
||||||
message(STATUS "Conan toolchain: Adding glibcxx compile definition: _GLIBCXX_USE_CXX11_ABI=0")
|
|
||||||
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=0)
|
|
||||||
|
|
||||||
|
|
||||||
########## 'cppstd' block #############
|
|
||||||
# Define the C++ and C standards from 'compiler.cppstd' and 'compiler.cstd'
|
|
||||||
|
|
||||||
function(conan_modify_std_watch variable access value current_list_file stack)
|
|
||||||
set(conan_watched_std_variable "20")
|
|
||||||
if (${variable} STREQUAL "CMAKE_C_STANDARD")
|
|
||||||
set(conan_watched_std_variable "")
|
|
||||||
endif()
|
|
||||||
if ("${access}" STREQUAL "MODIFIED_ACCESS" AND NOT "${value}" STREQUAL "${conan_watched_std_variable}")
|
|
||||||
message(STATUS "Warning: Standard ${variable} value defined in conan_toolchain.cmake to ${conan_watched_std_variable} has been modified to ${value} by ${current_list_file}")
|
|
||||||
endif()
|
|
||||||
unset(conan_watched_std_variable)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
message(STATUS "Conan toolchain: C++ Standard 20 with extensions OFF")
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
variable_watch(CMAKE_CXX_STANDARD conan_modify_std_watch)
|
|
||||||
|
|
||||||
|
|
||||||
########## 'extra_flags' block #############
|
|
||||||
# Include extra C++, C and linker flags from configuration tools.build:<type>flags
|
|
||||||
# and from CMakeToolchain.extra_<type>_flags
|
|
||||||
|
|
||||||
# Conan conf flags start:
|
|
||||||
# Conan conf flags end
|
|
||||||
|
|
||||||
|
|
||||||
########## 'cmake_flags_init' block #############
|
|
||||||
# Define CMAKE_<XXX>_FLAGS from CONAN_<XXX>_FLAGS
|
|
||||||
|
|
||||||
foreach(config IN LISTS CMAKE_CONFIGURATION_TYPES)
|
|
||||||
string(TOUPPER ${config} config)
|
|
||||||
if(DEFINED CONAN_CXX_FLAGS_${config})
|
|
||||||
string(APPEND CMAKE_CXX_FLAGS_${config}_INIT " ${CONAN_CXX_FLAGS_${config}}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_C_FLAGS_${config})
|
|
||||||
string(APPEND CMAKE_C_FLAGS_${config}_INIT " ${CONAN_C_FLAGS_${config}}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_SHARED_LINKER_FLAGS_${config})
|
|
||||||
string(APPEND CMAKE_SHARED_LINKER_FLAGS_${config}_INIT " ${CONAN_SHARED_LINKER_FLAGS_${config}}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_EXE_LINKER_FLAGS_${config})
|
|
||||||
string(APPEND CMAKE_EXE_LINKER_FLAGS_${config}_INIT " ${CONAN_EXE_LINKER_FLAGS_${config}}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(DEFINED CONAN_CXX_FLAGS)
|
|
||||||
string(APPEND CMAKE_CXX_FLAGS_INIT " ${CONAN_CXX_FLAGS}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_C_FLAGS)
|
|
||||||
string(APPEND CMAKE_C_FLAGS_INIT " ${CONAN_C_FLAGS}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_SHARED_LINKER_FLAGS)
|
|
||||||
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${CONAN_SHARED_LINKER_FLAGS}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_EXE_LINKER_FLAGS)
|
|
||||||
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${CONAN_EXE_LINKER_FLAGS}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_OBJCXX_FLAGS)
|
|
||||||
string(APPEND CMAKE_OBJCXX_FLAGS_INIT " ${CONAN_OBJCXX_FLAGS}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED CONAN_OBJC_FLAGS)
|
|
||||||
string(APPEND CMAKE_OBJC_FLAGS_INIT " ${CONAN_OBJC_FLAGS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
########## 'extra_variables' block #############
|
|
||||||
# Definition of extra CMake variables from tools.cmake.cmaketoolchain:extra_variables
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
########## 'try_compile' block #############
|
|
||||||
# Blocks after this one will not be added when running CMake try/checks
|
|
||||||
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
|
|
||||||
if(_CMAKE_IN_TRY_COMPILE)
|
|
||||||
message(STATUS "Running toolchain IN_TRY_COMPILE")
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
########## 'find_paths' block #############
|
|
||||||
# Define paths to find packages, programs, libraries, etc.
|
|
||||||
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/conan_cmakedeps_paths.cmake")
|
|
||||||
message(STATUS "Conan toolchain: Including CMakeDeps generated conan_cmakedeps_paths.cmake")
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/conan_cmakedeps_paths.cmake")
|
|
||||||
else()
|
|
||||||
|
|
||||||
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
|
||||||
|
|
||||||
# Definition of CMAKE_MODULE_PATH
|
|
||||||
# the generators folder (where conan generates files, like this toolchain)
|
|
||||||
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
|
||||||
|
|
||||||
# Definition of CMAKE_PREFIX_PATH, CMAKE_XXXXX_PATH
|
|
||||||
# The Conan local "generators" folder, where this toolchain is saved.
|
|
||||||
list(PREPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR} )
|
|
||||||
list(PREPEND CMAKE_LIBRARY_PATH "/home/erris/.conan2/p/b/imguic69fe98538919/p/lib" "/home/erris/.conan2/p/b/spdlof53067f4b30d1/p/lib" "/home/erris/.conan2/p/b/fmt5642fd8dce3e5/p/lib")
|
|
||||||
list(PREPEND CMAKE_INCLUDE_PATH "/home/erris/.conan2/p/b/imguic69fe98538919/p/include" "/home/erris/.conan2/p/b/spdlof53067f4b30d1/p/include" "/home/erris/.conan2/p/b/fmt5642fd8dce3e5/p/include")
|
|
||||||
set(CONAN_RUNTIME_LIB_DIRS "/home/erris/.conan2/p/b/imguic69fe98538919/p/lib" "/home/erris/.conan2/p/b/spdlof53067f4b30d1/p/lib" "/home/erris/.conan2/p/b/fmt5642fd8dce3e5/p/lib" )
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
########## 'pkg_config' block #############
|
|
||||||
# Define pkg-config from 'tools.gnu:pkg_config' executable and paths
|
|
||||||
|
|
||||||
if (DEFINED ENV{PKG_CONFIG_PATH})
|
|
||||||
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_LIST_DIR}:$ENV{PKG_CONFIG_PATH}")
|
|
||||||
else()
|
|
||||||
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_LIST_DIR}:")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
########## 'rpath' block #############
|
|
||||||
# Defining CMAKE_SKIP_RPATH
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
########## 'output_dirs' block #############
|
|
||||||
# Definition of CMAKE_INSTALL_XXX folders
|
|
||||||
|
|
||||||
set(CMAKE_INSTALL_BINDIR "bin")
|
|
||||||
set(CMAKE_INSTALL_SBINDIR "bin")
|
|
||||||
set(CMAKE_INSTALL_LIBEXECDIR "bin")
|
|
||||||
set(CMAKE_INSTALL_LIBDIR "lib")
|
|
||||||
set(CMAKE_INSTALL_INCLUDEDIR "include")
|
|
||||||
set(CMAKE_INSTALL_OLDINCLUDEDIR "include")
|
|
||||||
|
|
||||||
|
|
||||||
########## 'variables' block #############
|
|
||||||
# Definition of CMake variables from CMakeToolchain.variables values
|
|
||||||
|
|
||||||
# Variables
|
|
||||||
# Variables per configuration
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
########## 'preprocessor' block #############
|
|
||||||
# Preprocessor definitions from CMakeToolchain.preprocessor_definitions values
|
|
||||||
|
|
||||||
# Preprocessor definitions per configuration
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(CMAKE_POLICY_DEFAULT_CMP0091) # Avoid unused and not-initialized warnings
|
|
||||||
endif()
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
. "/home/erris/projects/open_engine/application/build/conanbuildenv-x86_64.sh"
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
script_folder="/home/erris/projects/open_engine/application/build"
|
|
||||||
echo "echo Restoring environment" > "$script_folder/deactivate_conanbuildenv-x86_64.sh"
|
|
||||||
for v in
|
|
||||||
do
|
|
||||||
is_defined="true"
|
|
||||||
value=$(printenv $v) || is_defined="" || true
|
|
||||||
if [ -n "$value" ] || [ -n "$is_defined" ]
|
|
||||||
then
|
|
||||||
echo export "$v='$value'" >> "$script_folder/deactivate_conanbuildenv-x86_64.sh"
|
|
||||||
else
|
|
||||||
echo unset $v >> "$script_folder/deactivate_conanbuildenv-x86_64.sh"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
message(STATUS "Conan: Using CMakeDeps conandeps_legacy.cmake aggregator via include()")
|
|
||||||
message(STATUS "Conan: It is recommended to use explicit find_package() per dependency instead")
|
|
||||||
|
|
||||||
find_package(imgui)
|
|
||||||
find_package(spdlog)
|
|
||||||
|
|
||||||
set(CONANDEPS_LEGACY imgui::imgui spdlog::spdlog )
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
. "/home/erris/projects/open_engine/application/build/conanrunenv-x86_64.sh"
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
script_folder="/home/erris/projects/open_engine/application/build"
|
|
||||||
echo "echo Restoring environment" > "$script_folder/deactivate_conanrunenv-x86_64.sh"
|
|
||||||
for v in
|
|
||||||
do
|
|
||||||
is_defined="true"
|
|
||||||
value=$(printenv $v) || is_defined="" || true
|
|
||||||
if [ -n "$value" ] || [ -n "$is_defined" ]
|
|
||||||
then
|
|
||||||
echo export "$v='$value'" >> "$script_folder/deactivate_conanrunenv-x86_64.sh"
|
|
||||||
else
|
|
||||||
echo unset $v >> "$script_folder/deactivate_conanrunenv-x86_64.sh"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
. "/home/erris/projects/open_engine/application/build/deactivate_conanbuildenv-x86_64.sh"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
. "/home/erris/projects/open_engine/application/build/deactivate_conanrunenv-x86_64.sh"
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
# Avoid multiple calls to find_package to append duplicated properties to the targets
|
|
||||||
include_guard()########### VARIABLES #######################################################################
|
|
||||||
#############################################################################################
|
|
||||||
set(fmt_FRAMEWORKS_FOUND_NONE "") # Will be filled later
|
|
||||||
conan_find_apple_frameworks(fmt_FRAMEWORKS_FOUND_NONE "${fmt_FRAMEWORKS_NONE}" "${fmt_FRAMEWORK_DIRS_NONE}")
|
|
||||||
|
|
||||||
set(fmt_LIBRARIES_TARGETS "") # Will be filled later
|
|
||||||
|
|
||||||
|
|
||||||
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
|
|
||||||
if(NOT TARGET fmt_DEPS_TARGET)
|
|
||||||
add_library(fmt_DEPS_TARGET INTERFACE IMPORTED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET fmt_DEPS_TARGET
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${fmt_FRAMEWORKS_FOUND_NONE}>
|
|
||||||
$<$<CONFIG:None>:${fmt_SYSTEM_LIBS_NONE}>
|
|
||||||
$<$<CONFIG:None>:>)
|
|
||||||
|
|
||||||
####### Find the libraries declared in cpp_info.libs, create an IMPORTED target for each one and link the
|
|
||||||
####### fmt_DEPS_TARGET to all of them
|
|
||||||
conan_package_library_targets("${fmt_LIBS_NONE}" # libraries
|
|
||||||
"${fmt_LIB_DIRS_NONE}" # package_libdir
|
|
||||||
"${fmt_BIN_DIRS_NONE}" # package_bindir
|
|
||||||
"${fmt_LIBRARY_TYPE_NONE}"
|
|
||||||
"${fmt_IS_HOST_WINDOWS_NONE}"
|
|
||||||
fmt_DEPS_TARGET
|
|
||||||
fmt_LIBRARIES_TARGETS # out_libraries_targets
|
|
||||||
"_NONE"
|
|
||||||
"fmt" # package_name
|
|
||||||
"${fmt_NO_SONAME_MODE_NONE}") # soname
|
|
||||||
|
|
||||||
# FIXME: What is the result of this for multi-config? All configs adding themselves to path?
|
|
||||||
set(CMAKE_MODULE_PATH ${fmt_BUILD_DIRS_NONE} ${CMAKE_MODULE_PATH})
|
|
||||||
|
|
||||||
########## COMPONENTS TARGET PROPERTIES None ########################################
|
|
||||||
|
|
||||||
########## COMPONENT fmt::fmt #############
|
|
||||||
|
|
||||||
set(fmt_fmt_fmt_FRAMEWORKS_FOUND_NONE "")
|
|
||||||
conan_find_apple_frameworks(fmt_fmt_fmt_FRAMEWORKS_FOUND_NONE "${fmt_fmt_fmt_FRAMEWORKS_NONE}" "${fmt_fmt_fmt_FRAMEWORK_DIRS_NONE}")
|
|
||||||
|
|
||||||
set(fmt_fmt_fmt_LIBRARIES_TARGETS "")
|
|
||||||
|
|
||||||
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
|
|
||||||
if(NOT TARGET fmt_fmt_fmt_DEPS_TARGET)
|
|
||||||
add_library(fmt_fmt_fmt_DEPS_TARGET INTERFACE IMPORTED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET fmt_fmt_fmt_DEPS_TARGET
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_FRAMEWORKS_FOUND_NONE}>
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_SYSTEM_LIBS_NONE}>
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_DEPENDENCIES_NONE}>
|
|
||||||
)
|
|
||||||
|
|
||||||
####### Find the libraries declared in cpp_info.component["xxx"].libs,
|
|
||||||
####### create an IMPORTED target for each one and link the 'fmt_fmt_fmt_DEPS_TARGET' to all of them
|
|
||||||
conan_package_library_targets("${fmt_fmt_fmt_LIBS_NONE}"
|
|
||||||
"${fmt_fmt_fmt_LIB_DIRS_NONE}"
|
|
||||||
"${fmt_fmt_fmt_BIN_DIRS_NONE}" # package_bindir
|
|
||||||
"${fmt_fmt_fmt_LIBRARY_TYPE_NONE}"
|
|
||||||
"${fmt_fmt_fmt_IS_HOST_WINDOWS_NONE}"
|
|
||||||
fmt_fmt_fmt_DEPS_TARGET
|
|
||||||
fmt_fmt_fmt_LIBRARIES_TARGETS
|
|
||||||
"_NONE"
|
|
||||||
"fmt_fmt_fmt"
|
|
||||||
"${fmt_fmt_fmt_NO_SONAME_MODE_NONE}")
|
|
||||||
|
|
||||||
|
|
||||||
########## TARGET PROPERTIES #####################################
|
|
||||||
set_property(TARGET fmt::fmt
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_OBJECTS_NONE}>
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_LIBRARIES_TARGETS}>
|
|
||||||
)
|
|
||||||
|
|
||||||
if("${fmt_fmt_fmt_LIBS_NONE}" STREQUAL "")
|
|
||||||
# If the component is not declaring any "cpp_info.components['foo'].libs" the system, frameworks etc are not
|
|
||||||
# linked to the imported targets and we need to do it to the global target
|
|
||||||
set_property(TARGET fmt::fmt
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
fmt_fmt_fmt_DEPS_TARGET)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET fmt::fmt APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_LINKER_FLAGS_NONE}>)
|
|
||||||
set_property(TARGET fmt::fmt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_INCLUDE_DIRS_NONE}>)
|
|
||||||
set_property(TARGET fmt::fmt APPEND PROPERTY INTERFACE_LINK_DIRECTORIES
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_LIB_DIRS_NONE}>)
|
|
||||||
set_property(TARGET fmt::fmt APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_COMPILE_DEFINITIONS_NONE}>)
|
|
||||||
set_property(TARGET fmt::fmt APPEND PROPERTY INTERFACE_COMPILE_OPTIONS
|
|
||||||
$<$<CONFIG:None>:${fmt_fmt_fmt_COMPILE_OPTIONS_NONE}>)
|
|
||||||
|
|
||||||
|
|
||||||
########## AGGREGATED GLOBAL TARGET WITH THE COMPONENTS #####################
|
|
||||||
set_property(TARGET fmt::fmt APPEND PROPERTY INTERFACE_LINK_LIBRARIES fmt::fmt)
|
|
||||||
|
|
||||||
########## For the modules (FindXXX)
|
|
||||||
set(fmt_LIBRARIES_NONE fmt::fmt)
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
set(PACKAGE_VERSION "12.0.0")
|
|
||||||
|
|
||||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
else()
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
|
||||||
set(PACKAGE_VERSION_EXACT TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
########## MACROS ###########################################################################
|
|
||||||
#############################################################################################
|
|
||||||
|
|
||||||
# Requires CMake > 3.15
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.15")
|
|
||||||
message(FATAL_ERROR "The 'CMakeDeps' generator only works with CMake >= 3.15")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(fmt_FIND_QUIETLY)
|
|
||||||
set(fmt_MESSAGE_MODE VERBOSE)
|
|
||||||
else()
|
|
||||||
set(fmt_MESSAGE_MODE STATUS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake)
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/fmtTargets.cmake)
|
|
||||||
include(CMakeFindDependencyMacro)
|
|
||||||
|
|
||||||
check_build_type_defined()
|
|
||||||
|
|
||||||
foreach(_DEPENDENCY ${fmt_FIND_DEPENDENCY_NAMES} )
|
|
||||||
# Check that we have not already called a find_package with the transitive dependency
|
|
||||||
if(NOT ${_DEPENDENCY}_FOUND)
|
|
||||||
find_dependency(${_DEPENDENCY} REQUIRED ${${_DEPENDENCY}_FIND_MODE})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
set(fmt_VERSION_STRING "12.0.0")
|
|
||||||
set(fmt_INCLUDE_DIRS ${fmt_INCLUDE_DIRS_NONE} )
|
|
||||||
set(fmt_INCLUDE_DIR ${fmt_INCLUDE_DIRS_NONE} )
|
|
||||||
set(fmt_LIBRARIES ${fmt_LIBRARIES_NONE} )
|
|
||||||
set(fmt_DEFINITIONS ${fmt_DEFINITIONS_NONE} )
|
|
||||||
|
|
||||||
|
|
||||||
# Only the last installed configuration BUILD_MODULES are included to avoid the collision
|
|
||||||
foreach(_BUILD_MODULE ${fmt_BUILD_MODULES_PATHS_NONE} )
|
|
||||||
message(${fmt_MESSAGE_MODE} "Conan: Including build module from '${_BUILD_MODULE}'")
|
|
||||||
include(${_BUILD_MODULE})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
########### AGGREGATED COMPONENTS AND DEPENDENCIES FOR THE MULTI CONFIG #####################
|
|
||||||
#############################################################################################
|
|
||||||
|
|
||||||
list(APPEND fmt_COMPONENT_NAMES fmt::fmt)
|
|
||||||
list(REMOVE_DUPLICATES fmt_COMPONENT_NAMES)
|
|
||||||
if(DEFINED fmt_FIND_DEPENDENCY_NAMES)
|
|
||||||
list(APPEND fmt_FIND_DEPENDENCY_NAMES )
|
|
||||||
list(REMOVE_DUPLICATES fmt_FIND_DEPENDENCY_NAMES)
|
|
||||||
else()
|
|
||||||
set(fmt_FIND_DEPENDENCY_NAMES )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
########### VARIABLES #######################################################################
|
|
||||||
#############################################################################################
|
|
||||||
set(fmt_PACKAGE_FOLDER_NONE "/home/erris/.conan2/p/b/fmt5642fd8dce3e5/p")
|
|
||||||
set(fmt_BUILD_MODULES_PATHS_NONE )
|
|
||||||
|
|
||||||
|
|
||||||
set(fmt_INCLUDE_DIRS_NONE "${fmt_PACKAGE_FOLDER_NONE}/include")
|
|
||||||
set(fmt_RES_DIRS_NONE )
|
|
||||||
set(fmt_DEFINITIONS_NONE )
|
|
||||||
set(fmt_SHARED_LINK_FLAGS_NONE )
|
|
||||||
set(fmt_EXE_LINK_FLAGS_NONE )
|
|
||||||
set(fmt_OBJECTS_NONE )
|
|
||||||
set(fmt_COMPILE_DEFINITIONS_NONE )
|
|
||||||
set(fmt_COMPILE_OPTIONS_C_NONE )
|
|
||||||
set(fmt_COMPILE_OPTIONS_CXX_NONE )
|
|
||||||
set(fmt_LIB_DIRS_NONE "${fmt_PACKAGE_FOLDER_NONE}/lib")
|
|
||||||
set(fmt_BIN_DIRS_NONE )
|
|
||||||
set(fmt_LIBRARY_TYPE_NONE STATIC)
|
|
||||||
set(fmt_IS_HOST_WINDOWS_NONE 0)
|
|
||||||
set(fmt_LIBS_NONE fmt)
|
|
||||||
set(fmt_SYSTEM_LIBS_NONE m)
|
|
||||||
set(fmt_FRAMEWORK_DIRS_NONE )
|
|
||||||
set(fmt_FRAMEWORKS_NONE )
|
|
||||||
set(fmt_BUILD_DIRS_NONE )
|
|
||||||
set(fmt_NO_SONAME_MODE_NONE FALSE)
|
|
||||||
|
|
||||||
|
|
||||||
# COMPOUND VARIABLES
|
|
||||||
set(fmt_COMPILE_OPTIONS_NONE
|
|
||||||
"$<$<COMPILE_LANGUAGE:CXX>:${fmt_COMPILE_OPTIONS_CXX_NONE}>"
|
|
||||||
"$<$<COMPILE_LANGUAGE:C>:${fmt_COMPILE_OPTIONS_C_NONE}>")
|
|
||||||
set(fmt_LINKER_FLAGS_NONE
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${fmt_SHARED_LINK_FLAGS_NONE}>"
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${fmt_SHARED_LINK_FLAGS_NONE}>"
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${fmt_EXE_LINK_FLAGS_NONE}>")
|
|
||||||
|
|
||||||
|
|
||||||
set(fmt_COMPONENTS_NONE fmt::fmt)
|
|
||||||
########### COMPONENT fmt::fmt VARIABLES ############################################
|
|
||||||
|
|
||||||
set(fmt_fmt_fmt_INCLUDE_DIRS_NONE "${fmt_PACKAGE_FOLDER_NONE}/include")
|
|
||||||
set(fmt_fmt_fmt_LIB_DIRS_NONE "${fmt_PACKAGE_FOLDER_NONE}/lib")
|
|
||||||
set(fmt_fmt_fmt_BIN_DIRS_NONE )
|
|
||||||
set(fmt_fmt_fmt_LIBRARY_TYPE_NONE STATIC)
|
|
||||||
set(fmt_fmt_fmt_IS_HOST_WINDOWS_NONE 0)
|
|
||||||
set(fmt_fmt_fmt_RES_DIRS_NONE )
|
|
||||||
set(fmt_fmt_fmt_DEFINITIONS_NONE )
|
|
||||||
set(fmt_fmt_fmt_OBJECTS_NONE )
|
|
||||||
set(fmt_fmt_fmt_COMPILE_DEFINITIONS_NONE )
|
|
||||||
set(fmt_fmt_fmt_COMPILE_OPTIONS_C_NONE "")
|
|
||||||
set(fmt_fmt_fmt_COMPILE_OPTIONS_CXX_NONE "")
|
|
||||||
set(fmt_fmt_fmt_LIBS_NONE fmt)
|
|
||||||
set(fmt_fmt_fmt_SYSTEM_LIBS_NONE m)
|
|
||||||
set(fmt_fmt_fmt_FRAMEWORK_DIRS_NONE )
|
|
||||||
set(fmt_fmt_fmt_FRAMEWORKS_NONE )
|
|
||||||
set(fmt_fmt_fmt_DEPENDENCIES_NONE )
|
|
||||||
set(fmt_fmt_fmt_SHARED_LINK_FLAGS_NONE )
|
|
||||||
set(fmt_fmt_fmt_EXE_LINK_FLAGS_NONE )
|
|
||||||
set(fmt_fmt_fmt_NO_SONAME_MODE_NONE FALSE)
|
|
||||||
|
|
||||||
# COMPOUND VARIABLES
|
|
||||||
set(fmt_fmt_fmt_LINKER_FLAGS_NONE
|
|
||||||
$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${fmt_fmt_fmt_SHARED_LINK_FLAGS_NONE}>
|
|
||||||
$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${fmt_fmt_fmt_SHARED_LINK_FLAGS_NONE}>
|
|
||||||
$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${fmt_fmt_fmt_EXE_LINK_FLAGS_NONE}>
|
|
||||||
)
|
|
||||||
set(fmt_fmt_fmt_COMPILE_OPTIONS_NONE
|
|
||||||
"$<$<COMPILE_LANGUAGE:CXX>:${fmt_fmt_fmt_COMPILE_OPTIONS_CXX_NONE}>"
|
|
||||||
"$<$<COMPILE_LANGUAGE:C>:${fmt_fmt_fmt_COMPILE_OPTIONS_C_NONE}>")
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Load the debug and release variables
|
|
||||||
file(GLOB DATA_FILES "${CMAKE_CURRENT_LIST_DIR}/fmt-*-data.cmake")
|
|
||||||
|
|
||||||
foreach(f ${DATA_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Create the targets for all the components
|
|
||||||
foreach(_COMPONENT ${fmt_COMPONENT_NAMES} )
|
|
||||||
if(NOT TARGET ${_COMPONENT})
|
|
||||||
add_library(${_COMPONENT} INTERFACE IMPORTED)
|
|
||||||
message(${fmt_MESSAGE_MODE} "Conan: Component target declared '${_COMPONENT}'")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(NOT TARGET fmt::fmt)
|
|
||||||
add_library(fmt::fmt INTERFACE IMPORTED)
|
|
||||||
message(${fmt_MESSAGE_MODE} "Conan: Target declared 'fmt::fmt'")
|
|
||||||
endif()
|
|
||||||
# Load the debug and release library finders
|
|
||||||
file(GLOB CONFIG_FILES "${CMAKE_CURRENT_LIST_DIR}/fmt-Target-*.cmake")
|
|
||||||
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
# Avoid multiple calls to find_package to append duplicated properties to the targets
|
|
||||||
include_guard()########### VARIABLES #######################################################################
|
|
||||||
#############################################################################################
|
|
||||||
set(imgui_FRAMEWORKS_FOUND_NONE "") # Will be filled later
|
|
||||||
conan_find_apple_frameworks(imgui_FRAMEWORKS_FOUND_NONE "${imgui_FRAMEWORKS_NONE}" "${imgui_FRAMEWORK_DIRS_NONE}")
|
|
||||||
|
|
||||||
set(imgui_LIBRARIES_TARGETS "") # Will be filled later
|
|
||||||
|
|
||||||
|
|
||||||
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
|
|
||||||
if(NOT TARGET imgui_DEPS_TARGET)
|
|
||||||
add_library(imgui_DEPS_TARGET INTERFACE IMPORTED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET imgui_DEPS_TARGET
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${imgui_FRAMEWORKS_FOUND_NONE}>
|
|
||||||
$<$<CONFIG:None>:${imgui_SYSTEM_LIBS_NONE}>
|
|
||||||
$<$<CONFIG:None>:>)
|
|
||||||
|
|
||||||
####### Find the libraries declared in cpp_info.libs, create an IMPORTED target for each one and link the
|
|
||||||
####### imgui_DEPS_TARGET to all of them
|
|
||||||
conan_package_library_targets("${imgui_LIBS_NONE}" # libraries
|
|
||||||
"${imgui_LIB_DIRS_NONE}" # package_libdir
|
|
||||||
"${imgui_BIN_DIRS_NONE}" # package_bindir
|
|
||||||
"${imgui_LIBRARY_TYPE_NONE}"
|
|
||||||
"${imgui_IS_HOST_WINDOWS_NONE}"
|
|
||||||
imgui_DEPS_TARGET
|
|
||||||
imgui_LIBRARIES_TARGETS # out_libraries_targets
|
|
||||||
"_NONE"
|
|
||||||
"imgui" # package_name
|
|
||||||
"${imgui_NO_SONAME_MODE_NONE}") # soname
|
|
||||||
|
|
||||||
# FIXME: What is the result of this for multi-config? All configs adding themselves to path?
|
|
||||||
set(CMAKE_MODULE_PATH ${imgui_BUILD_DIRS_NONE} ${CMAKE_MODULE_PATH})
|
|
||||||
|
|
||||||
########## GLOBAL TARGET PROPERTIES None ########################################
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${imgui_OBJECTS_NONE}>
|
|
||||||
$<$<CONFIG:None>:${imgui_LIBRARIES_TARGETS}>
|
|
||||||
)
|
|
||||||
|
|
||||||
if("${imgui_LIBS_NONE}" STREQUAL "")
|
|
||||||
# If the package is not declaring any "cpp_info.libs" the package deps, system libs,
|
|
||||||
# frameworks etc are not linked to the imported targets and we need to do it to the
|
|
||||||
# global target
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
imgui_DEPS_TARGET)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
|
||||||
$<$<CONFIG:None>:${imgui_LINKER_FLAGS_NONE}>)
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
$<$<CONFIG:None>:${imgui_INCLUDE_DIRS_NONE}>)
|
|
||||||
# Necessary to find LINK shared libraries in Linux
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_DIRECTORIES
|
|
||||||
$<$<CONFIG:None>:${imgui_LIB_DIRS_NONE}>)
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS
|
|
||||||
$<$<CONFIG:None>:${imgui_COMPILE_DEFINITIONS_NONE}>)
|
|
||||||
set_property(TARGET imgui::imgui
|
|
||||||
APPEND PROPERTY INTERFACE_COMPILE_OPTIONS
|
|
||||||
$<$<CONFIG:None>:${imgui_COMPILE_OPTIONS_NONE}>)
|
|
||||||
|
|
||||||
########## For the modules (FindXXX)
|
|
||||||
set(imgui_LIBRARIES_NONE imgui::imgui)
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
set(PACKAGE_VERSION "1.92.5-docking")
|
|
||||||
|
|
||||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
else()
|
|
||||||
if("1.92.5-docking" MATCHES "^([0-9]+)\\.")
|
|
||||||
set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1})
|
|
||||||
else()
|
|
||||||
set(CVF_VERSION_MAJOR "1.92.5-docking")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
|
||||||
else()
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
|
||||||
set(PACKAGE_VERSION_EXACT TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
########## MACROS ###########################################################################
|
|
||||||
#############################################################################################
|
|
||||||
|
|
||||||
# Requires CMake > 3.15
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.15")
|
|
||||||
message(FATAL_ERROR "The 'CMakeDeps' generator only works with CMake >= 3.15")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(imgui_FIND_QUIETLY)
|
|
||||||
set(imgui_MESSAGE_MODE VERBOSE)
|
|
||||||
else()
|
|
||||||
set(imgui_MESSAGE_MODE STATUS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake)
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/imguiTargets.cmake)
|
|
||||||
include(CMakeFindDependencyMacro)
|
|
||||||
|
|
||||||
check_build_type_defined()
|
|
||||||
|
|
||||||
foreach(_DEPENDENCY ${imgui_FIND_DEPENDENCY_NAMES} )
|
|
||||||
# Check that we have not already called a find_package with the transitive dependency
|
|
||||||
if(NOT ${_DEPENDENCY}_FOUND)
|
|
||||||
find_dependency(${_DEPENDENCY} REQUIRED ${${_DEPENDENCY}_FIND_MODE})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
set(imgui_VERSION_STRING "1.92.5-docking")
|
|
||||||
set(imgui_INCLUDE_DIRS ${imgui_INCLUDE_DIRS_NONE} )
|
|
||||||
set(imgui_INCLUDE_DIR ${imgui_INCLUDE_DIRS_NONE} )
|
|
||||||
set(imgui_LIBRARIES ${imgui_LIBRARIES_NONE} )
|
|
||||||
set(imgui_DEFINITIONS ${imgui_DEFINITIONS_NONE} )
|
|
||||||
|
|
||||||
|
|
||||||
# Only the last installed configuration BUILD_MODULES are included to avoid the collision
|
|
||||||
foreach(_BUILD_MODULE ${imgui_BUILD_MODULES_PATHS_NONE} )
|
|
||||||
message(${imgui_MESSAGE_MODE} "Conan: Including build module from '${_BUILD_MODULE}'")
|
|
||||||
include(${_BUILD_MODULE})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
########### AGGREGATED COMPONENTS AND DEPENDENCIES FOR THE MULTI CONFIG #####################
|
|
||||||
#############################################################################################
|
|
||||||
|
|
||||||
set(imgui_COMPONENT_NAMES "")
|
|
||||||
if(DEFINED imgui_FIND_DEPENDENCY_NAMES)
|
|
||||||
list(APPEND imgui_FIND_DEPENDENCY_NAMES )
|
|
||||||
list(REMOVE_DUPLICATES imgui_FIND_DEPENDENCY_NAMES)
|
|
||||||
else()
|
|
||||||
set(imgui_FIND_DEPENDENCY_NAMES )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
########### VARIABLES #######################################################################
|
|
||||||
#############################################################################################
|
|
||||||
set(imgui_PACKAGE_FOLDER_NONE "/home/erris/.conan2/p/b/imguic69fe98538919/p")
|
|
||||||
set(imgui_BUILD_MODULES_PATHS_NONE )
|
|
||||||
|
|
||||||
|
|
||||||
set(imgui_INCLUDE_DIRS_NONE "${imgui_PACKAGE_FOLDER_NONE}/include")
|
|
||||||
set(imgui_RES_DIRS_NONE )
|
|
||||||
set(imgui_DEFINITIONS_NONE )
|
|
||||||
set(imgui_SHARED_LINK_FLAGS_NONE )
|
|
||||||
set(imgui_EXE_LINK_FLAGS_NONE )
|
|
||||||
set(imgui_OBJECTS_NONE )
|
|
||||||
set(imgui_COMPILE_DEFINITIONS_NONE )
|
|
||||||
set(imgui_COMPILE_OPTIONS_C_NONE )
|
|
||||||
set(imgui_COMPILE_OPTIONS_CXX_NONE )
|
|
||||||
set(imgui_LIB_DIRS_NONE "${imgui_PACKAGE_FOLDER_NONE}/lib")
|
|
||||||
set(imgui_BIN_DIRS_NONE )
|
|
||||||
set(imgui_LIBRARY_TYPE_NONE STATIC)
|
|
||||||
set(imgui_IS_HOST_WINDOWS_NONE 0)
|
|
||||||
set(imgui_LIBS_NONE imgui)
|
|
||||||
set(imgui_SYSTEM_LIBS_NONE m)
|
|
||||||
set(imgui_FRAMEWORK_DIRS_NONE )
|
|
||||||
set(imgui_FRAMEWORKS_NONE )
|
|
||||||
set(imgui_BUILD_DIRS_NONE )
|
|
||||||
set(imgui_NO_SONAME_MODE_NONE FALSE)
|
|
||||||
|
|
||||||
|
|
||||||
# COMPOUND VARIABLES
|
|
||||||
set(imgui_COMPILE_OPTIONS_NONE
|
|
||||||
"$<$<COMPILE_LANGUAGE:CXX>:${imgui_COMPILE_OPTIONS_CXX_NONE}>"
|
|
||||||
"$<$<COMPILE_LANGUAGE:C>:${imgui_COMPILE_OPTIONS_C_NONE}>")
|
|
||||||
set(imgui_LINKER_FLAGS_NONE
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${imgui_SHARED_LINK_FLAGS_NONE}>"
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${imgui_SHARED_LINK_FLAGS_NONE}>"
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${imgui_EXE_LINK_FLAGS_NONE}>")
|
|
||||||
|
|
||||||
|
|
||||||
set(imgui_COMPONENTS_NONE )
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Load the debug and release variables
|
|
||||||
file(GLOB DATA_FILES "${CMAKE_CURRENT_LIST_DIR}/imgui-*-data.cmake")
|
|
||||||
|
|
||||||
foreach(f ${DATA_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Create the targets for all the components
|
|
||||||
foreach(_COMPONENT ${imgui_COMPONENT_NAMES} )
|
|
||||||
if(NOT TARGET ${_COMPONENT})
|
|
||||||
add_library(${_COMPONENT} INTERFACE IMPORTED)
|
|
||||||
message(${imgui_MESSAGE_MODE} "Conan: Component target declared '${_COMPONENT}'")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(NOT TARGET imgui::imgui)
|
|
||||||
add_library(imgui::imgui INTERFACE IMPORTED)
|
|
||||||
message(${imgui_MESSAGE_MODE} "Conan: Target declared 'imgui::imgui'")
|
|
||||||
endif()
|
|
||||||
# Load the debug and release library finders
|
|
||||||
file(GLOB CONFIG_FILES "${CMAKE_CURRENT_LIST_DIR}/imgui-Target-*.cmake")
|
|
||||||
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
# Avoid multiple calls to find_package to append duplicated properties to the targets
|
|
||||||
include_guard()########### VARIABLES #######################################################################
|
|
||||||
#############################################################################################
|
|
||||||
set(spdlog_FRAMEWORKS_FOUND_NONE "") # Will be filled later
|
|
||||||
conan_find_apple_frameworks(spdlog_FRAMEWORKS_FOUND_NONE "${spdlog_FRAMEWORKS_NONE}" "${spdlog_FRAMEWORK_DIRS_NONE}")
|
|
||||||
|
|
||||||
set(spdlog_LIBRARIES_TARGETS "") # Will be filled later
|
|
||||||
|
|
||||||
|
|
||||||
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
|
|
||||||
if(NOT TARGET spdlog_DEPS_TARGET)
|
|
||||||
add_library(spdlog_DEPS_TARGET INTERFACE IMPORTED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET spdlog_DEPS_TARGET
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${spdlog_FRAMEWORKS_FOUND_NONE}>
|
|
||||||
$<$<CONFIG:None>:${spdlog_SYSTEM_LIBS_NONE}>
|
|
||||||
$<$<CONFIG:None>:fmt::fmt>)
|
|
||||||
|
|
||||||
####### Find the libraries declared in cpp_info.libs, create an IMPORTED target for each one and link the
|
|
||||||
####### spdlog_DEPS_TARGET to all of them
|
|
||||||
conan_package_library_targets("${spdlog_LIBS_NONE}" # libraries
|
|
||||||
"${spdlog_LIB_DIRS_NONE}" # package_libdir
|
|
||||||
"${spdlog_BIN_DIRS_NONE}" # package_bindir
|
|
||||||
"${spdlog_LIBRARY_TYPE_NONE}"
|
|
||||||
"${spdlog_IS_HOST_WINDOWS_NONE}"
|
|
||||||
spdlog_DEPS_TARGET
|
|
||||||
spdlog_LIBRARIES_TARGETS # out_libraries_targets
|
|
||||||
"_NONE"
|
|
||||||
"spdlog" # package_name
|
|
||||||
"${spdlog_NO_SONAME_MODE_NONE}") # soname
|
|
||||||
|
|
||||||
# FIXME: What is the result of this for multi-config? All configs adding themselves to path?
|
|
||||||
set(CMAKE_MODULE_PATH ${spdlog_BUILD_DIRS_NONE} ${CMAKE_MODULE_PATH})
|
|
||||||
|
|
||||||
########## COMPONENTS TARGET PROPERTIES None ########################################
|
|
||||||
|
|
||||||
########## COMPONENT spdlog::spdlog #############
|
|
||||||
|
|
||||||
set(spdlog_spdlog_spdlog_FRAMEWORKS_FOUND_NONE "")
|
|
||||||
conan_find_apple_frameworks(spdlog_spdlog_spdlog_FRAMEWORKS_FOUND_NONE "${spdlog_spdlog_spdlog_FRAMEWORKS_NONE}" "${spdlog_spdlog_spdlog_FRAMEWORK_DIRS_NONE}")
|
|
||||||
|
|
||||||
set(spdlog_spdlog_spdlog_LIBRARIES_TARGETS "")
|
|
||||||
|
|
||||||
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
|
|
||||||
if(NOT TARGET spdlog_spdlog_spdlog_DEPS_TARGET)
|
|
||||||
add_library(spdlog_spdlog_spdlog_DEPS_TARGET INTERFACE IMPORTED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET spdlog_spdlog_spdlog_DEPS_TARGET
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_FRAMEWORKS_FOUND_NONE}>
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_SYSTEM_LIBS_NONE}>
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_DEPENDENCIES_NONE}>
|
|
||||||
)
|
|
||||||
|
|
||||||
####### Find the libraries declared in cpp_info.component["xxx"].libs,
|
|
||||||
####### create an IMPORTED target for each one and link the 'spdlog_spdlog_spdlog_DEPS_TARGET' to all of them
|
|
||||||
conan_package_library_targets("${spdlog_spdlog_spdlog_LIBS_NONE}"
|
|
||||||
"${spdlog_spdlog_spdlog_LIB_DIRS_NONE}"
|
|
||||||
"${spdlog_spdlog_spdlog_BIN_DIRS_NONE}" # package_bindir
|
|
||||||
"${spdlog_spdlog_spdlog_LIBRARY_TYPE_NONE}"
|
|
||||||
"${spdlog_spdlog_spdlog_IS_HOST_WINDOWS_NONE}"
|
|
||||||
spdlog_spdlog_spdlog_DEPS_TARGET
|
|
||||||
spdlog_spdlog_spdlog_LIBRARIES_TARGETS
|
|
||||||
"_NONE"
|
|
||||||
"spdlog_spdlog_spdlog"
|
|
||||||
"${spdlog_spdlog_spdlog_NO_SONAME_MODE_NONE}")
|
|
||||||
|
|
||||||
|
|
||||||
########## TARGET PROPERTIES #####################################
|
|
||||||
set_property(TARGET spdlog::spdlog
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_OBJECTS_NONE}>
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_LIBRARIES_TARGETS}>
|
|
||||||
)
|
|
||||||
|
|
||||||
if("${spdlog_spdlog_spdlog_LIBS_NONE}" STREQUAL "")
|
|
||||||
# If the component is not declaring any "cpp_info.components['foo'].libs" the system, frameworks etc are not
|
|
||||||
# linked to the imported targets and we need to do it to the global target
|
|
||||||
set_property(TARGET spdlog::spdlog
|
|
||||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
||||||
spdlog_spdlog_spdlog_DEPS_TARGET)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET spdlog::spdlog APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_LINKER_FLAGS_NONE}>)
|
|
||||||
set_property(TARGET spdlog::spdlog APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_INCLUDE_DIRS_NONE}>)
|
|
||||||
set_property(TARGET spdlog::spdlog APPEND PROPERTY INTERFACE_LINK_DIRECTORIES
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_LIB_DIRS_NONE}>)
|
|
||||||
set_property(TARGET spdlog::spdlog APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_COMPILE_DEFINITIONS_NONE}>)
|
|
||||||
set_property(TARGET spdlog::spdlog APPEND PROPERTY INTERFACE_COMPILE_OPTIONS
|
|
||||||
$<$<CONFIG:None>:${spdlog_spdlog_spdlog_COMPILE_OPTIONS_NONE}>)
|
|
||||||
|
|
||||||
|
|
||||||
########## AGGREGATED GLOBAL TARGET WITH THE COMPONENTS #####################
|
|
||||||
set_property(TARGET spdlog::spdlog APPEND PROPERTY INTERFACE_LINK_LIBRARIES spdlog::spdlog)
|
|
||||||
|
|
||||||
########## For the modules (FindXXX)
|
|
||||||
set(spdlog_LIBRARIES_NONE spdlog::spdlog)
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
set(PACKAGE_VERSION "1.16.0")
|
|
||||||
|
|
||||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
else()
|
|
||||||
if("1.16.0" MATCHES "^([0-9]+)\\.")
|
|
||||||
set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1})
|
|
||||||
else()
|
|
||||||
set(CVF_VERSION_MAJOR "1.16.0")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
|
||||||
else()
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
|
||||||
set(PACKAGE_VERSION_EXACT TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
########## MACROS ###########################################################################
|
|
||||||
#############################################################################################
|
|
||||||
|
|
||||||
# Requires CMake > 3.15
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.15")
|
|
||||||
message(FATAL_ERROR "The 'CMakeDeps' generator only works with CMake >= 3.15")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(spdlog_FIND_QUIETLY)
|
|
||||||
set(spdlog_MESSAGE_MODE VERBOSE)
|
|
||||||
else()
|
|
||||||
set(spdlog_MESSAGE_MODE STATUS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake)
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/spdlogTargets.cmake)
|
|
||||||
include(CMakeFindDependencyMacro)
|
|
||||||
|
|
||||||
check_build_type_defined()
|
|
||||||
|
|
||||||
foreach(_DEPENDENCY ${spdlog_FIND_DEPENDENCY_NAMES} )
|
|
||||||
# Check that we have not already called a find_package with the transitive dependency
|
|
||||||
if(NOT ${_DEPENDENCY}_FOUND)
|
|
||||||
find_dependency(${_DEPENDENCY} REQUIRED ${${_DEPENDENCY}_FIND_MODE})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
set(spdlog_VERSION_STRING "1.16.0")
|
|
||||||
set(spdlog_INCLUDE_DIRS ${spdlog_INCLUDE_DIRS_NONE} )
|
|
||||||
set(spdlog_INCLUDE_DIR ${spdlog_INCLUDE_DIRS_NONE} )
|
|
||||||
set(spdlog_LIBRARIES ${spdlog_LIBRARIES_NONE} )
|
|
||||||
set(spdlog_DEFINITIONS ${spdlog_DEFINITIONS_NONE} )
|
|
||||||
|
|
||||||
|
|
||||||
# Only the last installed configuration BUILD_MODULES are included to avoid the collision
|
|
||||||
foreach(_BUILD_MODULE ${spdlog_BUILD_MODULES_PATHS_NONE} )
|
|
||||||
message(${spdlog_MESSAGE_MODE} "Conan: Including build module from '${_BUILD_MODULE}'")
|
|
||||||
include(${_BUILD_MODULE})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
########### AGGREGATED COMPONENTS AND DEPENDENCIES FOR THE MULTI CONFIG #####################
|
|
||||||
#############################################################################################
|
|
||||||
|
|
||||||
list(APPEND spdlog_COMPONENT_NAMES spdlog::spdlog)
|
|
||||||
list(REMOVE_DUPLICATES spdlog_COMPONENT_NAMES)
|
|
||||||
if(DEFINED spdlog_FIND_DEPENDENCY_NAMES)
|
|
||||||
list(APPEND spdlog_FIND_DEPENDENCY_NAMES fmt)
|
|
||||||
list(REMOVE_DUPLICATES spdlog_FIND_DEPENDENCY_NAMES)
|
|
||||||
else()
|
|
||||||
set(spdlog_FIND_DEPENDENCY_NAMES fmt)
|
|
||||||
endif()
|
|
||||||
set(fmt_FIND_MODE "NO_MODULE")
|
|
||||||
|
|
||||||
########### VARIABLES #######################################################################
|
|
||||||
#############################################################################################
|
|
||||||
set(spdlog_PACKAGE_FOLDER_NONE "/home/erris/.conan2/p/b/spdlof53067f4b30d1/p")
|
|
||||||
set(spdlog_BUILD_MODULES_PATHS_NONE )
|
|
||||||
|
|
||||||
|
|
||||||
set(spdlog_INCLUDE_DIRS_NONE "${spdlog_PACKAGE_FOLDER_NONE}/include")
|
|
||||||
set(spdlog_RES_DIRS_NONE )
|
|
||||||
set(spdlog_DEFINITIONS_NONE "-DSPDLOG_FMT_EXTERNAL"
|
|
||||||
"-DSPDLOG_COMPILED_LIB")
|
|
||||||
set(spdlog_SHARED_LINK_FLAGS_NONE )
|
|
||||||
set(spdlog_EXE_LINK_FLAGS_NONE )
|
|
||||||
set(spdlog_OBJECTS_NONE )
|
|
||||||
set(spdlog_COMPILE_DEFINITIONS_NONE "SPDLOG_FMT_EXTERNAL"
|
|
||||||
"SPDLOG_COMPILED_LIB")
|
|
||||||
set(spdlog_COMPILE_OPTIONS_C_NONE )
|
|
||||||
set(spdlog_COMPILE_OPTIONS_CXX_NONE )
|
|
||||||
set(spdlog_LIB_DIRS_NONE "${spdlog_PACKAGE_FOLDER_NONE}/lib")
|
|
||||||
set(spdlog_BIN_DIRS_NONE )
|
|
||||||
set(spdlog_LIBRARY_TYPE_NONE STATIC)
|
|
||||||
set(spdlog_IS_HOST_WINDOWS_NONE 0)
|
|
||||||
set(spdlog_LIBS_NONE spdlog)
|
|
||||||
set(spdlog_SYSTEM_LIBS_NONE pthread)
|
|
||||||
set(spdlog_FRAMEWORK_DIRS_NONE )
|
|
||||||
set(spdlog_FRAMEWORKS_NONE )
|
|
||||||
set(spdlog_BUILD_DIRS_NONE )
|
|
||||||
set(spdlog_NO_SONAME_MODE_NONE FALSE)
|
|
||||||
|
|
||||||
|
|
||||||
# COMPOUND VARIABLES
|
|
||||||
set(spdlog_COMPILE_OPTIONS_NONE
|
|
||||||
"$<$<COMPILE_LANGUAGE:CXX>:${spdlog_COMPILE_OPTIONS_CXX_NONE}>"
|
|
||||||
"$<$<COMPILE_LANGUAGE:C>:${spdlog_COMPILE_OPTIONS_C_NONE}>")
|
|
||||||
set(spdlog_LINKER_FLAGS_NONE
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${spdlog_SHARED_LINK_FLAGS_NONE}>"
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${spdlog_SHARED_LINK_FLAGS_NONE}>"
|
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${spdlog_EXE_LINK_FLAGS_NONE}>")
|
|
||||||
|
|
||||||
|
|
||||||
set(spdlog_COMPONENTS_NONE spdlog::spdlog)
|
|
||||||
########### COMPONENT spdlog::spdlog VARIABLES ############################################
|
|
||||||
|
|
||||||
set(spdlog_spdlog_spdlog_INCLUDE_DIRS_NONE "${spdlog_PACKAGE_FOLDER_NONE}/include")
|
|
||||||
set(spdlog_spdlog_spdlog_LIB_DIRS_NONE "${spdlog_PACKAGE_FOLDER_NONE}/lib")
|
|
||||||
set(spdlog_spdlog_spdlog_BIN_DIRS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_LIBRARY_TYPE_NONE STATIC)
|
|
||||||
set(spdlog_spdlog_spdlog_IS_HOST_WINDOWS_NONE 0)
|
|
||||||
set(spdlog_spdlog_spdlog_RES_DIRS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_DEFINITIONS_NONE "-DSPDLOG_FMT_EXTERNAL"
|
|
||||||
"-DSPDLOG_COMPILED_LIB")
|
|
||||||
set(spdlog_spdlog_spdlog_OBJECTS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_COMPILE_DEFINITIONS_NONE "SPDLOG_FMT_EXTERNAL"
|
|
||||||
"SPDLOG_COMPILED_LIB")
|
|
||||||
set(spdlog_spdlog_spdlog_COMPILE_OPTIONS_C_NONE "")
|
|
||||||
set(spdlog_spdlog_spdlog_COMPILE_OPTIONS_CXX_NONE "")
|
|
||||||
set(spdlog_spdlog_spdlog_LIBS_NONE spdlog)
|
|
||||||
set(spdlog_spdlog_spdlog_SYSTEM_LIBS_NONE pthread)
|
|
||||||
set(spdlog_spdlog_spdlog_FRAMEWORK_DIRS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_FRAMEWORKS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_DEPENDENCIES_NONE fmt::fmt)
|
|
||||||
set(spdlog_spdlog_spdlog_SHARED_LINK_FLAGS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_EXE_LINK_FLAGS_NONE )
|
|
||||||
set(spdlog_spdlog_spdlog_NO_SONAME_MODE_NONE FALSE)
|
|
||||||
|
|
||||||
# COMPOUND VARIABLES
|
|
||||||
set(spdlog_spdlog_spdlog_LINKER_FLAGS_NONE
|
|
||||||
$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${spdlog_spdlog_spdlog_SHARED_LINK_FLAGS_NONE}>
|
|
||||||
$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${spdlog_spdlog_spdlog_SHARED_LINK_FLAGS_NONE}>
|
|
||||||
$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${spdlog_spdlog_spdlog_EXE_LINK_FLAGS_NONE}>
|
|
||||||
)
|
|
||||||
set(spdlog_spdlog_spdlog_COMPILE_OPTIONS_NONE
|
|
||||||
"$<$<COMPILE_LANGUAGE:CXX>:${spdlog_spdlog_spdlog_COMPILE_OPTIONS_CXX_NONE}>"
|
|
||||||
"$<$<COMPILE_LANGUAGE:C>:${spdlog_spdlog_spdlog_COMPILE_OPTIONS_C_NONE}>")
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Load the debug and release variables
|
|
||||||
file(GLOB DATA_FILES "${CMAKE_CURRENT_LIST_DIR}/spdlog-*-data.cmake")
|
|
||||||
|
|
||||||
foreach(f ${DATA_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Create the targets for all the components
|
|
||||||
foreach(_COMPONENT ${spdlog_COMPONENT_NAMES} )
|
|
||||||
if(NOT TARGET ${_COMPONENT})
|
|
||||||
add_library(${_COMPONENT} INTERFACE IMPORTED)
|
|
||||||
message(${spdlog_MESSAGE_MODE} "Conan: Component target declared '${_COMPONENT}'")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(NOT TARGET spdlog::spdlog)
|
|
||||||
add_library(spdlog::spdlog INTERFACE IMPORTED)
|
|
||||||
message(${spdlog_MESSAGE_MODE} "Conan: Target declared 'spdlog::spdlog'")
|
|
||||||
endif()
|
|
||||||
# Load the debug and release library finders
|
|
||||||
file(GLOB CONFIG_FILES "${CMAKE_CURRENT_LIST_DIR}/spdlog-Target-*.cmake")
|
|
||||||
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"directory": "/home/erris/projects/open_engine/application/build",
|
|
||||||
"command": "/usr/bin/clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -I/home/erris/projects/open_engine/application/include -m64 -stdlib=libstdc++ -g -std=c++20 @CMakeFiles/sand_box.dir/src/sandbox.cpp.o.modmap -o CMakeFiles/sand_box.dir/src/sandbox.cpp.o -c /home/erris/projects/open_engine/application/src/sandbox.cpp",
|
|
||||||
"file": "/home/erris/projects/open_engine/application/src/sandbox.cpp",
|
|
||||||
"output": "/home/erris/projects/open_engine/application/build/CMakeFiles/sand_box.dir/src/sandbox.cpp.o"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
[requires]
|
|
||||||
imgui/1.92.5-docking
|
|
||||||
spdlog/1.16.0
|
|
||||||
|
|
||||||
[generators]
|
|
||||||
CMakeDeps
|
|
||||||
CMakeToolchain
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
[Window][Debug##Default]
|
|
||||||
Pos=60,60
|
|
||||||
Size=166,153
|
|
||||||
Collapsed=0
|
|
||||||
|
|
||||||
[Window][Dear ImGui Demo]
|
|
||||||
Pos=899,10
|
|
||||||
Size=358,368
|
|
||||||
Collapsed=0
|
|
||||||
|
|
||||||
[Window][Dear ImGui Style Editor]
|
|
||||||
Pos=136,23
|
|
||||||
Size=353,682
|
|
||||||
Collapsed=0
|
|
||||||
|
|
||||||
[Window][Example: Log]
|
|
||||||
Pos=431,613
|
|
||||||
Size=409,223
|
|
||||||
Collapsed=0
|
|
||||||
DockId=0x00000006,0
|
|
||||||
|
|
||||||
[Window][My First Tool]
|
|
||||||
Pos=181,56
|
|
||||||
Size=388,464
|
|
||||||
Collapsed=0
|
|
||||||
|
|
||||||
[Window][DockSpace Demo]
|
|
||||||
Size=1259,688
|
|
||||||
Collapsed=0
|
|
||||||
|
|
||||||
[Window][Dear ImGui Debug Log]
|
|
||||||
Pos=1349,371
|
|
||||||
Size=644,567
|
|
||||||
Collapsed=0
|
|
||||||
|
|
||||||
[Window][Example: Console]
|
|
||||||
Pos=0,19
|
|
||||||
Size=519,669
|
|
||||||
Collapsed=0
|
|
||||||
DockId=0x00000003,0
|
|
||||||
|
|
||||||
[Window][Example: Assets Browser]
|
|
||||||
Pos=842,613
|
|
||||||
Size=326,223
|
|
||||||
Collapsed=0
|
|
||||||
DockId=0x00000009,0
|
|
||||||
|
|
||||||
[Window][Example: Property editor]
|
|
||||||
Pos=0,19
|
|
||||||
Size=429,817
|
|
||||||
Collapsed=0
|
|
||||||
DockId=0x00000005,0
|
|
||||||
|
|
||||||
[Window][Example: Property editor/##tree_37EC733C]
|
|
||||||
IsChild=1
|
|
||||||
Size=300,782
|
|
||||||
|
|
||||||
[Table][0xB6880529,2]
|
|
||||||
RefScale=13
|
|
||||||
Column 0 Sort=0v
|
|
||||||
|
|
||||||
[Table][0x2048C668,2]
|
|
||||||
RefScale=13
|
|
||||||
Column 0 Width=4
|
|
||||||
Column 1 Weight=2.0000
|
|
||||||
|
|
||||||
[Docking][Data]
|
|
||||||
DockSpace ID=0xC0DFADC4 Pos=0,19 Size=1259,669 Split=X Selected=0x5E5F7166
|
|
||||||
DockNode ID=0x00000005 Parent=0xC0DFADC4 SizeRef=429,817 Selected=0x256ED220
|
|
||||||
DockNode ID=0x0000000A Parent=0xC0DFADC4 SizeRef=1143,817 Split=X
|
|
||||||
DockNode ID=0x00000003 Parent=0x0000000A SizeRef=519,669 Selected=0x1BCA3180
|
|
||||||
DockNode ID=0x00000004 Parent=0x0000000A SizeRef=751,669 Split=Y
|
|
||||||
DockNode ID=0x00000007 Parent=0x00000004 SizeRef=860,592 CentralNode=1
|
|
||||||
DockNode ID=0x00000008 Parent=0x00000004 SizeRef=860,223 Split=X Selected=0x38CCB771
|
|
||||||
DockNode ID=0x00000006 Parent=0x00000008 SizeRef=649,223 Selected=0x38CCB771
|
|
||||||
DockNode ID=0x00000009 Parent=0x00000008 SizeRef=517,223 Selected=0xD2C213DD
|
|
||||||
|
|
||||||
@@ -1,286 +0,0 @@
|
|||||||
let SessionLoad = 1
|
|
||||||
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
|
|
||||||
let v:this_session=expand("<sfile>:p")
|
|
||||||
silent only
|
|
||||||
silent tabonly
|
|
||||||
cd ~/projects/open_engine
|
|
||||||
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
|
|
||||||
let s:wipebuf = bufnr('%')
|
|
||||||
endif
|
|
||||||
let s:shortmess_save = &shortmess
|
|
||||||
if &shortmess =~ 'A'
|
|
||||||
set shortmess=aoOA
|
|
||||||
else
|
|
||||||
set shortmess=aoO
|
|
||||||
endif
|
|
||||||
badd +1 ~/projects/open_engine
|
|
||||||
badd +4 ~/projects/open_engine/.clangd
|
|
||||||
badd +4 ~/projects/open_engine/open_engine/src/open_engine/opengl/opengl_shader.cpp
|
|
||||||
badd +212 ~/projects/open_engine/application/include/sandbox.hpp
|
|
||||||
badd +67 ~/projects/open_engine/open_engine/src/open_engine/renderer/shader.cpp
|
|
||||||
badd +45 ~/projects/open_engine/open_engine/include/open_engine/opengl/opengl_shader.hpp
|
|
||||||
badd +23 ~/projects/open_engine/open_engine/include/open_engine/input/linux_input.hpp
|
|
||||||
badd +105 ~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp
|
|
||||||
badd +31 ~/projects/open_engine/open_engine/include/open_engine/input/input_system.hpp
|
|
||||||
badd +1 ~/projects/open_engine/open_engine/include/open_engine.hpp
|
|
||||||
badd +29 ~/projects/open_engine/open_engine/include/open_engine/renderer/shader.hpp
|
|
||||||
badd +3392 ~/projects/open_engine/open_engine/vendor/glad/include/glad/glad.h
|
|
||||||
badd +3 ~/projects/open_engine/assets/shaders/texture.glsl
|
|
||||||
badd +39 ~/projects/open_engine/open_engine/include/open_engine/logging.hpp
|
|
||||||
badd +1 ~/projects/open_engine/open_engine/src/open_engine/application.cpp
|
|
||||||
badd +1 ~/projects/open_engine/open_engine/include/open_engine/pch.hpp
|
|
||||||
badd +35 /usr/include/alloca.h
|
|
||||||
badd +1 ~/projects/open_engine/DAP\ Watches
|
|
||||||
badd +1 ~/projects/open_engine/DAP\ Stacks
|
|
||||||
badd +1 ~/projects/open_engine/DAP\ Breakpoints
|
|
||||||
badd +1 ~/projects/open_engine/DAP\ Scopes
|
|
||||||
badd +1 ~/projects/open_engine/DAP\ Console
|
|
||||||
badd +1 ~/projects/open_engine/\[dap-repl-27]
|
|
||||||
badd +1529 /usr/include/c++/15.2.1/bits/shared_ptr_base.h
|
|
||||||
badd +40 ~/projects/open_engine/open_engine/CMakeLists.txt
|
|
||||||
badd +1 ~/projects/open_engine/.envrc
|
|
||||||
badd +1 ~/projects/open_engine/.project_config
|
|
||||||
badd +17 ~/projects/open_engine/imgui.ini
|
|
||||||
badd +1 ~/projects/open_engine/compile_commands.json
|
|
||||||
badd +28 ~/projects/open_engine/open_engine/include/open_engine/core.hpp
|
|
||||||
badd +96 ~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp
|
|
||||||
badd +36 ~/projects/open_engine/open_engine/include/open_engine/window/window.hpp
|
|
||||||
badd +609 /usr/include/GLFW/glfw3.h
|
|
||||||
badd +650 ~/.conan2/p/b/imguic69fe98538919/p/include/imgui.h
|
|
||||||
argglobal
|
|
||||||
%argdel
|
|
||||||
$argadd ~/projects/open_engine
|
|
||||||
set stal=2
|
|
||||||
tabnew +setlocal\ bufhidden=wipe
|
|
||||||
tabnew +setlocal\ bufhidden=wipe
|
|
||||||
tabnew +setlocal\ bufhidden=wipe
|
|
||||||
tabrewind
|
|
||||||
edit ~/projects/open_engine/open_engine/include/open_engine/input/input_system.hpp
|
|
||||||
let s:save_splitbelow = &splitbelow
|
|
||||||
let s:save_splitright = &splitright
|
|
||||||
set splitbelow splitright
|
|
||||||
wincmd _ | wincmd |
|
|
||||||
vsplit
|
|
||||||
1wincmd h
|
|
||||||
wincmd w
|
|
||||||
wincmd _ | wincmd |
|
|
||||||
split
|
|
||||||
1wincmd k
|
|
||||||
wincmd w
|
|
||||||
let &splitbelow = s:save_splitbelow
|
|
||||||
let &splitright = s:save_splitright
|
|
||||||
wincmd t
|
|
||||||
let s:save_winminheight = &winminheight
|
|
||||||
let s:save_winminwidth = &winminwidth
|
|
||||||
set winminheight=0
|
|
||||||
set winheight=1
|
|
||||||
set winminwidth=0
|
|
||||||
set winwidth=1
|
|
||||||
exe 'vert 1resize ' . ((&columns * 124 + 127) / 255)
|
|
||||||
exe '2resize ' . ((&lines * 29 + 31) / 62)
|
|
||||||
exe 'vert 2resize ' . ((&columns * 2 + 127) / 255)
|
|
||||||
exe '3resize ' . ((&lines * 29 + 31) / 62)
|
|
||||||
exe 'vert 3resize ' . ((&columns * 2 + 127) / 255)
|
|
||||||
argglobal
|
|
||||||
balt ~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 28 - ((27 * winheight(0) + 29) / 59)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 28
|
|
||||||
normal! 062|
|
|
||||||
lcd ~/projects/open_engine
|
|
||||||
wincmd w
|
|
||||||
argglobal
|
|
||||||
if bufexists(fnamemodify("~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp", ":p")) | buffer ~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp | else | edit ~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp | endif
|
|
||||||
if &buftype ==# 'terminal'
|
|
||||||
silent file ~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp
|
|
||||||
endif
|
|
||||||
balt /usr/include/GLFW/glfw3.h
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 105 - ((27 * winheight(0) + 14) / 29)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 105
|
|
||||||
normal! 05|
|
|
||||||
lcd ~/projects/open_engine
|
|
||||||
wincmd w
|
|
||||||
argglobal
|
|
||||||
if bufexists(fnamemodify("~/projects/open_engine/open_engine/include/open_engine/input/linux_input.hpp", ":p")) | buffer ~/projects/open_engine/open_engine/include/open_engine/input/linux_input.hpp | else | edit ~/projects/open_engine/open_engine/include/open_engine/input/linux_input.hpp | endif
|
|
||||||
if &buftype ==# 'terminal'
|
|
||||||
silent file ~/projects/open_engine/open_engine/include/open_engine/input/linux_input.hpp
|
|
||||||
endif
|
|
||||||
balt ~/projects/open_engine/open_engine/include/open_engine/input/input_system.hpp
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 23 - ((18 * winheight(0) + 14) / 29)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 23
|
|
||||||
normal! 086|
|
|
||||||
lcd ~/projects/open_engine
|
|
||||||
wincmd w
|
|
||||||
exe 'vert 1resize ' . ((&columns * 124 + 127) / 255)
|
|
||||||
exe '2resize ' . ((&lines * 29 + 31) / 62)
|
|
||||||
exe 'vert 2resize ' . ((&columns * 2 + 127) / 255)
|
|
||||||
exe '3resize ' . ((&lines * 29 + 31) / 62)
|
|
||||||
exe 'vert 3resize ' . ((&columns * 2 + 127) / 255)
|
|
||||||
tabnext
|
|
||||||
edit ~/projects/open_engine/open_engine/src/open_engine/application.cpp
|
|
||||||
let s:save_splitbelow = &splitbelow
|
|
||||||
let s:save_splitright = &splitright
|
|
||||||
set splitbelow splitright
|
|
||||||
wincmd _ | wincmd |
|
|
||||||
vsplit
|
|
||||||
1wincmd h
|
|
||||||
wincmd w
|
|
||||||
let &splitbelow = s:save_splitbelow
|
|
||||||
let &splitright = s:save_splitright
|
|
||||||
wincmd t
|
|
||||||
let s:save_winminheight = &winminheight
|
|
||||||
let s:save_winminwidth = &winminwidth
|
|
||||||
set winminheight=0
|
|
||||||
set winheight=1
|
|
||||||
set winminwidth=0
|
|
||||||
set winwidth=1
|
|
||||||
exe 'vert 1resize ' . ((&columns * 126 + 127) / 255)
|
|
||||||
exe 'vert 2resize ' . ((&columns * 0 + 127) / 255)
|
|
||||||
argglobal
|
|
||||||
balt ~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 49 - ((33 * winheight(0) + 29) / 59)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 49
|
|
||||||
normal! 044|
|
|
||||||
lcd ~/projects/open_engine
|
|
||||||
wincmd w
|
|
||||||
argglobal
|
|
||||||
if bufexists(fnamemodify("~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp", ":p")) | buffer ~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp | else | edit ~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp | endif
|
|
||||||
if &buftype ==# 'terminal'
|
|
||||||
silent file ~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp
|
|
||||||
endif
|
|
||||||
balt ~/projects/open_engine/open_engine/src/open_engine/application.cpp
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 97 - ((29 * winheight(0) + 29) / 59)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 97
|
|
||||||
normal! 044|
|
|
||||||
lcd ~/projects/open_engine
|
|
||||||
wincmd w
|
|
||||||
exe 'vert 1resize ' . ((&columns * 126 + 127) / 255)
|
|
||||||
exe 'vert 2resize ' . ((&columns * 0 + 127) / 255)
|
|
||||||
tabnext
|
|
||||||
edit ~/projects/open_engine/application/include/sandbox.hpp
|
|
||||||
wincmd t
|
|
||||||
let s:save_winminheight = &winminheight
|
|
||||||
let s:save_winminwidth = &winminwidth
|
|
||||||
set winminheight=0
|
|
||||||
set winheight=1
|
|
||||||
set winminwidth=0
|
|
||||||
set winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 212 - ((29 * winheight(0) + 29) / 59)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 212
|
|
||||||
normal! 055|
|
|
||||||
lcd ~/projects/open_engine/application/include
|
|
||||||
tabnext
|
|
||||||
edit ~/projects/open_engine/assets/shaders/texture.glsl
|
|
||||||
argglobal
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldenable
|
|
||||||
silent! normal! zE
|
|
||||||
let &fdl = &fdl
|
|
||||||
let s:l = 6 - ((5 * winheight(0) + 29) / 59)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
keepjumps exe s:l
|
|
||||||
normal! zt
|
|
||||||
keepjumps 6
|
|
||||||
normal! 0
|
|
||||||
lcd ~/projects/open_engine
|
|
||||||
tabnext 3
|
|
||||||
set stal=1
|
|
||||||
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
|
|
||||||
silent exe 'bwipe ' . s:wipebuf
|
|
||||||
endif
|
|
||||||
unlet! s:wipebuf
|
|
||||||
set winheight=1 winwidth=20
|
|
||||||
let &shortmess = s:shortmess_save
|
|
||||||
let s:sx = expand("<sfile>:p:r")."x.vim"
|
|
||||||
if filereadable(s:sx)
|
|
||||||
exe "source " . fnameescape(s:sx)
|
|
||||||
endif
|
|
||||||
let &g:so = s:so_save | let &g:siso = s:siso_save
|
|
||||||
set hlsearch
|
|
||||||
doautoall SessionLoadPost
|
|
||||||
unlet SessionLoad
|
|
||||||
" vim: set ft=vim :
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
#ifndef LAYER_SWITCHER_HPP
|
|
||||||
#define LAYER_SWITCHER_HPP
|
|
||||||
|
|
||||||
#include <open_engine.hpp>
|
|
||||||
|
|
||||||
class ControlLayer : public OpenEngine::Layer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
ControlLayer(OpenEngine::Ref<OpenEngine::Layer> layer);
|
|
||||||
ControlLayer();
|
|
||||||
~ControlLayer() = default;
|
|
||||||
|
|
||||||
void OnUpdate() override;
|
|
||||||
void OnEvent(OpenEngine::Event& event) override;
|
|
||||||
void OnImGuiRender() override;
|
|
||||||
void OnAttach() override;
|
|
||||||
void OnDetach() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
bool SwitchLayer(OpenEngine::KeyPressedEvent& event);
|
|
||||||
bool SwitchExistingLayer(OpenEngine::KeyPressedEvent& event);
|
|
||||||
bool StopRunning(OpenEngine::KeyPressedEvent& event);
|
|
||||||
|
|
||||||
OpenEngine::Ref<OpenEngine::Layer> active_layer;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // LAYER_SWITCHER_HPP
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
#ifndef MODDING_HPP
|
|
||||||
#define MODDING_HPP
|
|
||||||
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include <open_engine.hpp>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native/nethost.h"
|
|
||||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native/hostfxr.h"
|
|
||||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native/coreclr_delegates.h"
|
|
||||||
|
|
||||||
class Modding : public OpenEngine::Layer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Modding()
|
|
||||||
: OpenEngine::Layer("modding")
|
|
||||||
{
|
|
||||||
};
|
|
||||||
~Modding()
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
void* get_export(void* sample_lib, const char* name) {
|
|
||||||
// dlsym is the Linux version of GetProcAddress
|
|
||||||
void* f = dlsym(sample_lib, name);
|
|
||||||
if (!f) {
|
|
||||||
OE_ERROR("Failed to find symbol: {} Error: {}", name, dlerror());
|
|
||||||
}
|
|
||||||
return f;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Using the nethost library, discover the location of hostfxr and get exports
|
|
||||||
bool load_hostfxr()
|
|
||||||
{
|
|
||||||
// Pre-allocate a large buffer for the path to hostfxr
|
|
||||||
char_t buffer[250];
|
|
||||||
size_t buffer_size = sizeof(buffer) / sizeof(char_t);
|
|
||||||
int rc = get_hostfxr_path(buffer, &buffer_size, nullptr);
|
|
||||||
if (rc != 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Load hostfxr and get desired exports
|
|
||||||
auto* lib = dlopen(buffer, RTLD_NOW);
|
|
||||||
init_fptr = (hostfxr_initialize_for_runtime_config_fn)get_export(lib, "hostfxr_initialize_for_runtime_config");
|
|
||||||
get_delegate_fptr = (hostfxr_get_runtime_delegate_fn)get_export(lib, "hostfxr_get_runtime_delegate");
|
|
||||||
close_fptr = (hostfxr_close_fn)get_export(lib, "hostfxr_close");
|
|
||||||
|
|
||||||
return (init_fptr && get_delegate_fptr && close_fptr);
|
|
||||||
};
|
|
||||||
|
|
||||||
load_assembly_and_get_function_pointer_fn get_dotnet_load_assembly(const char_t *config_path)
|
|
||||||
{
|
|
||||||
// Load .NET Core
|
|
||||||
void *load_assembly_and_get_function_pointer = nullptr;
|
|
||||||
hostfxr_handle cxt = nullptr;
|
|
||||||
int rc = init_fptr(config_path, nullptr, &cxt);
|
|
||||||
if (rc != 0 || cxt == nullptr)
|
|
||||||
{
|
|
||||||
OE_ERROR("Init failed");
|
|
||||||
close_fptr(cxt);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the load assembly function pointer
|
|
||||||
rc = get_delegate_fptr(
|
|
||||||
cxt,
|
|
||||||
hdt_load_assembly_and_get_function_pointer,
|
|
||||||
&load_assembly_and_get_function_pointer);
|
|
||||||
if (rc != 0 || load_assembly_and_get_function_pointer == nullptr)
|
|
||||||
OE_ERROR("Get delegate failed");
|
|
||||||
|
|
||||||
close_fptr(cxt);
|
|
||||||
return (load_assembly_and_get_function_pointer_fn)load_assembly_and_get_function_pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
component_entry_point_fn LoadMethod(const char* method)
|
|
||||||
{
|
|
||||||
component_entry_point_fn method_ptr;
|
|
||||||
|
|
||||||
int rc = load_assembly_and_get_function_pointer(
|
|
||||||
dotnet_lib_path,
|
|
||||||
dotnet_type,
|
|
||||||
method,
|
|
||||||
UNMANAGEDCALLERSONLY_METHOD /*delegate_type_name*/,
|
|
||||||
nullptr,
|
|
||||||
(void**)&method_ptr);
|
|
||||||
|
|
||||||
if (rc != 0) {
|
|
||||||
OE_ERROR("Failed to load method {}", method);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return method_ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnAttach() override
|
|
||||||
{
|
|
||||||
load_hostfxr();
|
|
||||||
|
|
||||||
load_assembly_and_get_function_pointer = get_dotnet_load_assembly("assets/scripts/mod_loader.runtimeconfig.json");
|
|
||||||
component_entry_point_fn init = LoadMethod("Init");
|
|
||||||
|
|
||||||
init(nullptr, 0);
|
|
||||||
|
|
||||||
hello = LoadMethod("Hello");
|
|
||||||
|
|
||||||
load_mod = LoadMethod("LoadMod");
|
|
||||||
load_mod(nullptr, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDetach() override
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnUpdate() override
|
|
||||||
{
|
|
||||||
static float time = 0;
|
|
||||||
|
|
||||||
time += OpenEngine::Time::DeltaTime();
|
|
||||||
|
|
||||||
if (time >= 1) {
|
|
||||||
hello(nullptr, 0);
|
|
||||||
time = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnEvent(OpenEngine::Event& event) override
|
|
||||||
{
|
|
||||||
//OpenEngine::EventDispatcher dispatcher(event);
|
|
||||||
|
|
||||||
//dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Sandbox2DLayer::StopRunning));
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnImGuiRender() override
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
hostfxr_initialize_for_runtime_config_fn init_fptr;
|
|
||||||
hostfxr_get_runtime_delegate_fn get_delegate_fptr;
|
|
||||||
hostfxr_close_fn close_fptr;
|
|
||||||
load_assembly_and_get_function_pointer_fn load_assembly_and_get_function_pointer;
|
|
||||||
|
|
||||||
component_entry_point_fn hello = nullptr;
|
|
||||||
component_entry_point_fn load_mod = nullptr;
|
|
||||||
|
|
||||||
const char_t* dotnet_lib_path = "assets/scripts/mod_loader.dll";
|
|
||||||
const char_t* dotnet_type = "OpenEngine.ModLoader, mod_loader";
|
|
||||||
const char_t* dotnet_type_method = "Init";
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // MODDING_HPP
|
|
||||||
@@ -1,252 +0,0 @@
|
|||||||
#ifndef OVERLAY_HPP
|
|
||||||
#define OVERLAY_HPP
|
|
||||||
|
|
||||||
/*
|
|
||||||
"""
|
|
||||||
Portions of this software are copyright © 2025 The FreeType
|
|
||||||
Project (https://freetype.org). All rights reserved.
|
|
||||||
"""
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <open_engine.hpp>
|
|
||||||
|
|
||||||
#include "shmup.hpp"
|
|
||||||
#include <glm/ext/matrix_clip_space.hpp>
|
|
||||||
#include "freetype/fttypes.h"
|
|
||||||
#include <freetype2/ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include <glad/glad.h>
|
|
||||||
#include <map>
|
|
||||||
|
|
||||||
|
|
||||||
struct Character {
|
|
||||||
unsigned int texture_id; // ID handle of the glyph texture
|
|
||||||
glm::ivec2 size; // Size of glyph
|
|
||||||
glm::ivec2 bearing; // Offset from baseline to left/top of glyph
|
|
||||||
FT_Long advance; // Offset to advance to next glyph
|
|
||||||
};
|
|
||||||
|
|
||||||
class Overlay : public OpenEngine::Layer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Overlay(OpenEngine::Ref<Shmup>& shmup)
|
|
||||||
: game_layer(shmup)
|
|
||||||
{};
|
|
||||||
|
|
||||||
~Overlay() {};
|
|
||||||
|
|
||||||
void RenderText(std::string text, float x, float y, float scale, glm::vec3 color)
|
|
||||||
{
|
|
||||||
// activate corresponding render state
|
|
||||||
text_shader->Bind();
|
|
||||||
text_shader->SetVec3("textColor", glm::vec3(color.x, color.y, color.z));
|
|
||||||
glActiveTexture(GL_TEXTURE0);
|
|
||||||
glBindVertexArray(VAO);
|
|
||||||
|
|
||||||
// iterate through all characters
|
|
||||||
std::string::const_iterator c;
|
|
||||||
for (c = text.begin(); c != text.end(); c++)
|
|
||||||
{
|
|
||||||
Character ch = characters[*c];
|
|
||||||
|
|
||||||
float xpos = x + ch.bearing.x * scale;
|
|
||||||
float ypos = y - (ch.size.y - ch.bearing.y) * scale;
|
|
||||||
|
|
||||||
float w = ch.size.x * scale;
|
|
||||||
float h = ch.size.y * scale;
|
|
||||||
// update VBO for each character
|
|
||||||
float vertices[6][4] = {
|
|
||||||
{ xpos, ypos + h, 0.0f, 0.0f },
|
|
||||||
{ xpos, ypos, 0.0f, 1.0f },
|
|
||||||
{ xpos + w, ypos, 1.0f, 1.0f },
|
|
||||||
|
|
||||||
{ xpos, ypos + h, 0.0f, 0.0f },
|
|
||||||
{ xpos + w, ypos, 1.0f, 1.0f },
|
|
||||||
{ xpos + w, ypos + h, 1.0f, 0.0f }
|
|
||||||
};
|
|
||||||
// render glyph texture over quad
|
|
||||||
glBindTexture(GL_TEXTURE_2D, ch.texture_id);
|
|
||||||
// update content of VBO memory
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, VBO);
|
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices), vertices);
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
|
||||||
// render quad
|
|
||||||
glDrawArrays(GL_TRIANGLES, 0, 6);
|
|
||||||
// now advance cursors for next glyph (note that advance is number of 1/64 pixels)
|
|
||||||
x += (ch.advance >> 6) * scale; // bitshift by 6 to get value in pixels (2^6 = 64)
|
|
||||||
}
|
|
||||||
glBindVertexArray(0);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
glm::vec2 GetTextSize(const std::string& text, float scale)
|
|
||||||
{
|
|
||||||
float width = 0.0f;
|
|
||||||
float height = 0.0f;
|
|
||||||
|
|
||||||
for (char c : text)
|
|
||||||
{
|
|
||||||
Character ch = characters[c];
|
|
||||||
width += (ch.advance >> 6) * scale; // Accumulate total width
|
|
||||||
|
|
||||||
// Track the maximum height
|
|
||||||
float char_height = ch.size.y * scale;
|
|
||||||
if (char_height > height)
|
|
||||||
height = char_height;
|
|
||||||
}
|
|
||||||
|
|
||||||
return glm::vec2(width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RenderTextCentered(std::string text, float center_x, float center_y, float scale, glm::vec3 color)
|
|
||||||
{
|
|
||||||
glm::vec2 text_size = GetTextSize(text, scale);
|
|
||||||
|
|
||||||
// Calculate top-left position to make text centered
|
|
||||||
float x = center_x - (text_size.x / 2.0f);
|
|
||||||
float y = center_y - (text_size.y / 2.0f);
|
|
||||||
|
|
||||||
RenderText(text, x, y, scale, color);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
void OnAttach() override
|
|
||||||
{
|
|
||||||
OE_INFO("Loading Freetype...");
|
|
||||||
|
|
||||||
int error;
|
|
||||||
|
|
||||||
FT_Library ft;
|
|
||||||
error = FT_Init_FreeType(&ft);
|
|
||||||
if (error != 0) {
|
|
||||||
OE_ERROR("FREETYPE: Could not init FreeType Library");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FT_Face face;
|
|
||||||
error = FT_New_Face(ft, "/usr/share/fonts/TTF/JetBrainsMono-Regular.ttf", 0, &face);
|
|
||||||
if (error != 0) {
|
|
||||||
OE_ERROR("FREETYPE: Failed to load font");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FT_Set_Pixel_Sizes(face, 0, 48);
|
|
||||||
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
for (unsigned char c = 0; c < 128; c++)
|
|
||||||
{
|
|
||||||
// load character glyph
|
|
||||||
if (FT_Load_Char(face, c, FT_LOAD_RENDER))
|
|
||||||
{
|
|
||||||
OE_ERROR("FREETYTPE: Failed to load Glyph: {}", c);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// generate texture
|
|
||||||
unsigned int texture;
|
|
||||||
glGenTextures(1, &texture);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, texture);
|
|
||||||
glTexImage2D(
|
|
||||||
GL_TEXTURE_2D,
|
|
||||||
0,
|
|
||||||
GL_RED,
|
|
||||||
face->glyph->bitmap.width,
|
|
||||||
face->glyph->bitmap.rows,
|
|
||||||
0,
|
|
||||||
GL_RED,
|
|
||||||
GL_UNSIGNED_BYTE,
|
|
||||||
face->glyph->bitmap.buffer
|
|
||||||
);
|
|
||||||
// set texture options
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
// now store character for later use
|
|
||||||
Character character = {
|
|
||||||
texture,
|
|
||||||
glm::ivec2(face->glyph->bitmap.width, face->glyph->bitmap.rows),
|
|
||||||
glm::ivec2(face->glyph->bitmap_left, face->glyph->bitmap_top),
|
|
||||||
face->glyph->advance.x
|
|
||||||
};
|
|
||||||
characters.insert(std::pair<char, Character>(c, character));
|
|
||||||
}
|
|
||||||
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
FT_Done_Face(face);
|
|
||||||
FT_Done_FreeType(ft);
|
|
||||||
|
|
||||||
text_shader = OpenEngine::Shader::Create("assets/shaders/text.glsl");
|
|
||||||
|
|
||||||
glGenVertexArrays(1, &VAO);
|
|
||||||
glGenBuffers(1, &VBO);
|
|
||||||
glBindVertexArray(VAO);
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, VBO);
|
|
||||||
glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 6 * 4, NULL, GL_DYNAMIC_DRAW);
|
|
||||||
glEnableVertexAttribArray(0);
|
|
||||||
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 4 * sizeof(float), 0);
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
|
||||||
glBindVertexArray(0);
|
|
||||||
};
|
|
||||||
|
|
||||||
void OnUpdate() override
|
|
||||||
{
|
|
||||||
text_shader->Bind();
|
|
||||||
int width = OpenEngine::Application::Get().GetWindow().GetWidth();
|
|
||||||
int height = OpenEngine::Application::Get().GetWindow().GetHeight();
|
|
||||||
|
|
||||||
projection = glm::ortho(0.0f, static_cast<float>(width),
|
|
||||||
0.0f, static_cast<float>(height));
|
|
||||||
|
|
||||||
text_shader->SetMat4("u_ViewProjection", projection);
|
|
||||||
|
|
||||||
float x = height - 40;
|
|
||||||
float y = 0;
|
|
||||||
|
|
||||||
switch (game_layer->GetGameState()) {
|
|
||||||
case GameState::GameOver:
|
|
||||||
{
|
|
||||||
auto& window = OpenEngine::Application::Get().GetWindow();
|
|
||||||
int width = window.GetWidth();
|
|
||||||
int height = window.GetHeight();
|
|
||||||
|
|
||||||
float x = width / 2.0f;
|
|
||||||
float y = height / 2.0f;
|
|
||||||
RenderTextCentered("Game Over!", x, y, 1.0f, glm::vec3(0.8f, 0.2f, 0.3f));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case GameState::Paused:
|
|
||||||
RenderTextCentered("Paused", x, y, 1.0f, glm::vec3(0.8f, 0.2f, 0.3f));
|
|
||||||
break;
|
|
||||||
case GameState::Playing:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string s_score = "Score: " + std::to_string(game_layer->GetScore());
|
|
||||||
std::string s_lives = std::to_string(game_layer->GetLives()) + " lives";
|
|
||||||
RenderText(s_score, 10, OpenEngine::Application::Get().GetWindow().GetHeight() - 50, 1.0f, {0.8f, 0.2f, 0.3f});
|
|
||||||
RenderText(
|
|
||||||
s_lives,
|
|
||||||
OpenEngine::Application::Get().GetWindow().GetWidth() - 220,
|
|
||||||
OpenEngine::Application::Get().GetWindow().GetHeight() - 50,
|
|
||||||
1.0f,
|
|
||||||
{0.8f, 0.2f, 0.3f});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void OnEvent(OpenEngine::Event& event) override
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::map<char, Character> characters;
|
|
||||||
OpenEngine::Ref<OpenEngine::Shader> text_shader;
|
|
||||||
glm::mat4 projection;
|
|
||||||
OpenEngine::Ref<Shmup> game_layer;
|
|
||||||
|
|
||||||
unsigned int VAO, VBO;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // OVERLAY_HPP
|
|
||||||
@@ -1,261 +0,0 @@
|
|||||||
#ifndef SANDBOX_HPP
|
|
||||||
#define SANDBOX_HPP
|
|
||||||
|
|
||||||
#include <open_engine.hpp>
|
|
||||||
#include "open_engine/core/time.hpp"
|
|
||||||
|
|
||||||
#include <glm/ext/matrix_transform.hpp>
|
|
||||||
#include <glm/gtc/type_ptr.hpp>
|
|
||||||
#include <glm/fwd.hpp>
|
|
||||||
#include <imgui.h>
|
|
||||||
#include <glad/glad.h>
|
|
||||||
#include <GLFW/glfw3.h>
|
|
||||||
#include <string>
|
|
||||||
#include <unordered_map>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
class SandboxLayer : public OpenEngine::Layer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
OpenEngine::Ref<OpenEngine::VertexArray> CreateSquare()
|
|
||||||
{
|
|
||||||
OpenEngine::Ref<OpenEngine::VertexArray> square_vertex_array(OpenEngine::VertexArray::Create());
|
|
||||||
|
|
||||||
float square_vertices[5 * 4] = {
|
|
||||||
-0.5f, -0.5f, 0.0f, 0.0f, 0.0f,
|
|
||||||
0.5f, -0.5f, 0.0f, 1.0f, 0.0f,
|
|
||||||
0.5f, 0.5f, 0.0f, 1.0f, 1.0f,
|
|
||||||
-0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
|
|
||||||
};
|
|
||||||
|
|
||||||
OpenEngine::Ref<OpenEngine::VertexBuffer> vertex_buffer = OpenEngine::VertexBuffer::Create(square_vertices, sizeof(square_vertices));
|
|
||||||
|
|
||||||
OpenEngine::BufferLayout layout = {
|
|
||||||
{ OpenEngine::ShaderDataType::Float3, "a_Position" },
|
|
||||||
{ OpenEngine::ShaderDataType::Float2, "a_TextCoord" }
|
|
||||||
};
|
|
||||||
|
|
||||||
vertex_buffer->SetLayout(layout);
|
|
||||||
square_vertex_array->AddVertexBuffer(vertex_buffer);
|
|
||||||
|
|
||||||
uint32_t indices[6] = { 0, 1, 2, 2, 3, 0 };
|
|
||||||
OpenEngine::Ref<OpenEngine::IndexBuffer> index_buffer = OpenEngine::IndexBuffer::Create(indices, sizeof(indices) / sizeof(uint32_t));
|
|
||||||
|
|
||||||
square_vertex_array->SetIndexBuffer(index_buffer);
|
|
||||||
|
|
||||||
return square_vertex_array;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDetach() override
|
|
||||||
{
|
|
||||||
OE_DEBUG("OnDetach {}", __PRETTY_FUNCTION__);
|
|
||||||
}
|
|
||||||
|
|
||||||
SandboxLayer()
|
|
||||||
: Layer("sandbox"),
|
|
||||||
camera((float)OpenEngine::Application::Get().GetWindow().GetWidth() /
|
|
||||||
OpenEngine::Application::Get().GetWindow().GetHeight(), 1.0f)
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
//vertex_array.reset(OpenEngine::VertexArray::Create());
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Creating Square");
|
|
||||||
square = CreateSquare();
|
|
||||||
}
|
|
||||||
|
|
||||||
//float vertices[3 * 7] = {
|
|
||||||
// -0.5f, -0.5f, 0.0f, 0.8f, 0.2f, 0.8f, 1.0f,
|
|
||||||
// 0.5f, -0.5f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
|
||||||
// 0.0f, 0.5f, 0.0f, 0.8f, 0.8f, 0.2f, 1.0f
|
|
||||||
//};
|
|
||||||
|
|
||||||
//OpenEngine::Ref<OpenEngine::VertexBuffer> vertex_buffer;
|
|
||||||
//vertex_buffer.reset(OpenEngine::VertexBuffer::Create(vertices, sizeof(vertices)));
|
|
||||||
|
|
||||||
//OpenEngine::BufferLayout layout = {
|
|
||||||
// {OpenEngine::ShaderDataType::Float3, "a_Position"},
|
|
||||||
// {OpenEngine::ShaderDataType::Float4, "a_Color"}
|
|
||||||
//};
|
|
||||||
|
|
||||||
//vertex_buffer->SetLayout(layout);
|
|
||||||
//vertex_array->AddVertexBuffer(vertex_buffer);
|
|
||||||
|
|
||||||
//uint32_t indices[3] = { 0, 1, 2 };
|
|
||||||
//OpenEngine::Ref<OpenEngine::IndexBuffer> index_buffer;
|
|
||||||
//index_buffer.reset(OpenEngine::IndexBuffer::Create(indices, sizeof(indices) / sizeof(uint32_t)));
|
|
||||||
|
|
||||||
//shader = OpenEngine::Shader::Create("./assets/shaders/texture.glsl");
|
|
||||||
//vertex_array->SetIndexBuffer(index_buffer);
|
|
||||||
|
|
||||||
//texture_shader = OpenEngine::Shader::Create("./assets/shaders/texture.glsl");
|
|
||||||
auto texture_shader = shader_library.Load("./assets/shaders/texture.glsl");
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Creating Textures");
|
|
||||||
texture = OpenEngine::Texture2D::Create("./assets/textures/container.jpg");
|
|
||||||
face = OpenEngine::Texture2D::Create("./assets/textures/awesomeface.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Setting up shader uniforms");
|
|
||||||
texture_shader->Bind();
|
|
||||||
texture_shader->SetInt("u_Texture", 0);
|
|
||||||
texture_shader->SetVec4("u_Color", glm::vec4(1.0f));
|
|
||||||
texture_shader->SetFloat("u_TilingFactor", 1.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Listing Joysticks");
|
|
||||||
for (auto joystick : OpenEngine::Input::GetJoystickList())
|
|
||||||
OE_DEBUG("Joystick {}: {}", joystick.first, joystick.second);
|
|
||||||
}
|
|
||||||
|
|
||||||
bindings = {
|
|
||||||
{"fwd/bckwd", 1},
|
|
||||||
{"right/left", 0},
|
|
||||||
{"yaw", 2}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
void moveCamera()
|
|
||||||
{
|
|
||||||
if (current_joystick != -1) {
|
|
||||||
float raw_axis = OpenEngine::Input::GetJoystickAxis(current_joystick, bindings["yaw"]);
|
|
||||||
float rotation = remap(raw_axis, -1, 1, -180, 180);
|
|
||||||
camera.GetCamera().SetRotation(rotation);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void moveSquare(glm::vec3& position)
|
|
||||||
{
|
|
||||||
float velocity = 1 * OpenEngine::Time::DeltaTime();
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OE_KEY_I))
|
|
||||||
position.y += velocity;
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OE_KEY_Y))
|
|
||||||
position.x -= velocity;
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OE_KEY_U))
|
|
||||||
position.y -= velocity;
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OE_KEY_O))
|
|
||||||
position.x += velocity;
|
|
||||||
}
|
|
||||||
|
|
||||||
void moveSquareF(glm::vec3& position)
|
|
||||||
{
|
|
||||||
if (current_joystick != -1) {
|
|
||||||
float test = OpenEngine::Input::GetJoystickAxis(current_joystick, bindings["fwd/bckwd"]);
|
|
||||||
position.y = test;
|
|
||||||
float test2 = OpenEngine::Input::GetJoystickAxis(current_joystick, bindings["right/left"]);
|
|
||||||
position.x = test2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
float remap(float value, float minInput, float maxInput, float minOutput, float maxOutput) {
|
|
||||||
// 1. Normalize the input to a 0.0 - 1.0 range
|
|
||||||
float t = (value - minInput) / (maxInput - minInput);
|
|
||||||
|
|
||||||
// 2. Use glm::mix to interpolate between the output range
|
|
||||||
return glm::mix(minOutput, maxOutput, t);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnUpdate() override
|
|
||||||
{
|
|
||||||
static glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.0f));
|
|
||||||
|
|
||||||
OpenEngine::RenderCommand::SetClearColor({1.0f, 0.0f, 1.0f, 1.0f});
|
|
||||||
OpenEngine::RenderCommand::Clear();
|
|
||||||
|
|
||||||
OpenEngine::Renderer::BeginScene(camera.GetCamera());
|
|
||||||
|
|
||||||
//shader->Bind();
|
|
||||||
//vertex_array->Bind();
|
|
||||||
|
|
||||||
moveCamera();
|
|
||||||
|
|
||||||
//glm::mat4 transform = glm::translate(glm::mat4(1.0f), triangle_position);
|
|
||||||
//OpenEngine::Renderer::Submit(shader, vertex_array, transform);
|
|
||||||
|
|
||||||
auto texture_shader = shader_library.Get("texture");
|
|
||||||
|
|
||||||
texture_shader->Bind();
|
|
||||||
//texture->Bind();
|
|
||||||
glm::mat4 square_transform = glm::translate(glm::mat4(1.0f), square_pos) * scale;
|
|
||||||
//OpenEngine::Renderer::Submit(texture_shader, square, square_transform);
|
|
||||||
moveSquare(square_pos);
|
|
||||||
moveSquareF(square_pos);
|
|
||||||
|
|
||||||
face->Bind();
|
|
||||||
OpenEngine::Renderer::Submit(texture_shader, square, square_transform);
|
|
||||||
|
|
||||||
OpenEngine::Renderer::EndScene();
|
|
||||||
|
|
||||||
//if (OpenEngine::Input::IsKeyPressed(OE_KEY_ESCAPE))
|
|
||||||
// OpenEngine::Application::Get().StopRunning();
|
|
||||||
camera.OnUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnEvent(OpenEngine::Event& event) override
|
|
||||||
{
|
|
||||||
OpenEngine::EventDispatcher dispatcher(event);
|
|
||||||
|
|
||||||
camera.OnEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnImGuiRender() override
|
|
||||||
{
|
|
||||||
static std::vector<std::string> axis_labels;
|
|
||||||
static std::vector<const char*> axis_pointers;
|
|
||||||
|
|
||||||
if (axis_labels.empty()) {
|
|
||||||
axis_labels.reserve(MAX_AXIS);
|
|
||||||
axis_pointers.reserve(MAX_AXIS);
|
|
||||||
|
|
||||||
for (int i = 0; i < MAX_AXIS; ++i) {
|
|
||||||
axis_labels.push_back("Axis " + std::to_string(i + 1));
|
|
||||||
axis_pointers.push_back(axis_labels.back().c_str());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
auto joysticks = OpenEngine::Input::GetJoystickList();
|
|
||||||
ImGui::Begin("Settings");
|
|
||||||
ImGui::ColorEdit3("Square Color", glm::value_ptr(square_color));
|
|
||||||
ImGui::TextColored(ImVec4(1,1,0,1), "Important Stuff");
|
|
||||||
ImGui::BeginChild("Child");
|
|
||||||
ImGui::Text("-1");
|
|
||||||
ImGui::RadioButton("None", ¤t_joystick, -1);
|
|
||||||
for (const auto& joystick : joysticks) {
|
|
||||||
ImGui::PushID(joystick.first);
|
|
||||||
ImGui::Text("%d", joystick.first);
|
|
||||||
ImGui::RadioButton(joystick.second.c_str(), ¤t_joystick, joystick.first);
|
|
||||||
ImGui::PopID();
|
|
||||||
}
|
|
||||||
ImGui::Text("Bindings");
|
|
||||||
for (auto& binding : bindings)
|
|
||||||
ImGui::Combo(binding.first.c_str(), (int*)&binding.second, axis_pointers.data(), (int)axis_pointers.size());
|
|
||||||
ImGui::EndChild();
|
|
||||||
ImGui::End();
|
|
||||||
}
|
|
||||||
|
|
||||||
OpenEngine::ShaderLibrary shader_library;
|
|
||||||
//OpenEngine::Ref<OpenEngine::Shader> shader;
|
|
||||||
//OpenEngine::OrthographicCamera camera = {-1.6f, 1.6f, -0.9f, 0.9f};
|
|
||||||
OpenEngine::OrthographicCameraController camera = {1280.0f / 1440.0f, 1.0f};
|
|
||||||
//OpenEngine::Ref<OpenEngine::VertexArray> vertex_array;
|
|
||||||
OpenEngine::Ref<OpenEngine::VertexArray> square;
|
|
||||||
|
|
||||||
glm::vec3 triangle_position{0.0f};
|
|
||||||
glm::vec3 square_pos{0.0f};
|
|
||||||
glm::vec3 square_color{0.0f};
|
|
||||||
|
|
||||||
OpenEngine::Ref<OpenEngine::Texture2D> texture, face;
|
|
||||||
//OpenEngine::Ref<OpenEngine::Shader> texture_shader;
|
|
||||||
int current_joystick = -1;
|
|
||||||
std::unordered_map<std::string, unsigned int> bindings;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Sandbox : public OpenEngine::Application
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Sandbox();
|
|
||||||
~Sandbox();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // SANDBOX_HPP
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
#ifndef SANDBOX2D_HPP
|
|
||||||
#define SANDBOX2D_HPP
|
|
||||||
|
|
||||||
#include <open_engine.hpp>
|
|
||||||
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include "imgui.h"
|
|
||||||
#include "open_engine/core/time.hpp"
|
|
||||||
#include "open_engine/logging.hpp"
|
|
||||||
#include "open_engine/renderer/renderer2d.hpp"
|
|
||||||
|
|
||||||
#include <glm/ext/matrix_transform.hpp>
|
|
||||||
#include <glm/glm.hpp>
|
|
||||||
|
|
||||||
class Sandbox2DLayer : public OpenEngine::Layer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Sandbox2DLayer()
|
|
||||||
: OpenEngine::Layer("sandbox_2d"),
|
|
||||||
camera((float)OpenEngine::Application::Get().GetWindow().GetWidth() /
|
|
||||||
OpenEngine::Application::Get().GetWindow().GetHeight(), 1.0f)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
~Sandbox2DLayer() {};
|
|
||||||
|
|
||||||
void OnAttach() override
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
bindings = {
|
|
||||||
{"fwd/bckwd", 1},
|
|
||||||
{"right/left", 0},
|
|
||||||
{"yaw", 2}
|
|
||||||
};
|
|
||||||
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Texture2D Creation");
|
|
||||||
face = OpenEngine::Texture2D::Create("assets/textures/awesomeface.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDetach() override
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnUpdate() override
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION()
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Setting up Rendering");
|
|
||||||
OpenEngine::RenderCommand::SetClearColor({0.11f, 0.11f, 0.15f, 1.0f});
|
|
||||||
OpenEngine::RenderCommand::Clear();
|
|
||||||
OpenEngine::Renderer2D::BeginScene(camera.GetCamera());
|
|
||||||
}
|
|
||||||
static float angle = 0.0f;
|
|
||||||
float ts = OpenEngine::Time::DeltaTime();
|
|
||||||
|
|
||||||
if (angle >= 360)
|
|
||||||
angle = 0;
|
|
||||||
|
|
||||||
angle += (ts * 500.0f);
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Drawing Quads");
|
|
||||||
OpenEngine::Transform tr1 = {glm::vec3(0.5f, 0.5f, 0.2f), glm::vec3(0.3f), 20.0f};
|
|
||||||
OpenEngine::Transform tr2 = {glm::vec3(-0.2f, -0.2f, 0.1f), glm::vec3(0.5f, 0.2f, 1.0f), angle};
|
|
||||||
OpenEngine::Transform tr3 = {glm::vec3(0.0f, 0.0f, -0.1f), glm::vec3(1.0f, 1.0f, 1.0f), 45.0f};
|
|
||||||
|
|
||||||
OpenEngine::Renderer2D::DrawQuad({glm::vec3(0.5f, 0.5f, 0.0f), glm::vec3(0.3f), 20.0f}, glm::vec4(color[0], color[1], color[2], color[3]));
|
|
||||||
OpenEngine::Renderer2D::DrawQuad(tr2, {0.5f, 0.3f, 0.8f, 1.0f});
|
|
||||||
OpenEngine::Renderer2D::DrawQuad(tr3, face);
|
|
||||||
}
|
|
||||||
|
|
||||||
OpenEngine::Renderer2D::EndScene();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool StopRunning(OpenEngine::KeyPressedEvent& event)
|
|
||||||
{
|
|
||||||
if (event.GetKeyCode() == OE_KEY_ESCAPE) {
|
|
||||||
OpenEngine::Application::Get().Close();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnEvent(OpenEngine::Event& event) override
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
OpenEngine::EventDispatcher dispatcher(event);
|
|
||||||
|
|
||||||
//dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Sandbox2DLayer::StopRunning));
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Camera OnEvent");
|
|
||||||
camera.OnEvent(event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnImGuiRender() override
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
|
|
||||||
ImGui::Begin("Square settings");
|
|
||||||
ImGui::ColorEdit4("Square color", color);
|
|
||||||
|
|
||||||
for (auto& result : profiling_results)
|
|
||||||
{
|
|
||||||
char label[50];
|
|
||||||
strcpy(label, "%.3fms ");
|
|
||||||
strcat(label, result.name);
|
|
||||||
ImGui::Text(label, result.duration);
|
|
||||||
}
|
|
||||||
|
|
||||||
profiling_results.clear();
|
|
||||||
|
|
||||||
ImGui::End();
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
//OpenEngine::ShaderLibrary shader_library;
|
|
||||||
glm::vec3 square_pos = glm::vec3(0.0f);
|
|
||||||
glm::vec4 square_color = glm::vec4(1.0f);
|
|
||||||
|
|
||||||
float color[4] = {0.5f, 0.3f, 0.4f, 1.0f};
|
|
||||||
OpenEngine::Ref<OpenEngine::Texture2D> face;
|
|
||||||
|
|
||||||
std::unordered_map<std::string, unsigned int> bindings;
|
|
||||||
OpenEngine::OrthographicCameraController camera;
|
|
||||||
|
|
||||||
std::vector<OpenEngine::Time::ProfilingResult> profiling_results;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // SANDBOX2D_HPP
|
|
||||||
@@ -1,386 +0,0 @@
|
|||||||
#ifndef SHMUP_HPP
|
|
||||||
#define SHMUP_HPP
|
|
||||||
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#include <open_engine.hpp>
|
|
||||||
|
|
||||||
#include <fstream>
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include <glm/ext/matrix_transform.hpp>
|
|
||||||
#include <glm/glm.hpp>
|
|
||||||
#include <random>
|
|
||||||
#include <string>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
enum class GameState
|
|
||||||
{
|
|
||||||
Playing,
|
|
||||||
Paused,
|
|
||||||
GameOver
|
|
||||||
};
|
|
||||||
|
|
||||||
class Shmup : public OpenEngine::Layer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Shmup()
|
|
||||||
: camera((float)OpenEngine::Application::Get().GetWindow().GetWidth() /
|
|
||||||
OpenEngine::Application::Get().GetWindow().GetHeight(), 1.0f)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
~Shmup() {};
|
|
||||||
|
|
||||||
void OnAttach() override
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Texture2D Creation");
|
|
||||||
ship = OpenEngine::Texture2D::Create("assets/textures/shmup/ship.png");
|
|
||||||
enemy_ship = OpenEngine::Texture2D::Create("assets/textures/shmup/enemy_ship.png");
|
|
||||||
bullet_tx = OpenEngine::Texture2D::Create("assets/textures/shmup/bullet.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
LoadMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDetach() override
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
struct Bounds {
|
|
||||||
glm::vec2 min; // Bottom-Left
|
|
||||||
glm::vec2 max; // Top-Right
|
|
||||||
};
|
|
||||||
|
|
||||||
Bounds GetBounds(glm::vec2 position, glm::vec2 scale) {
|
|
||||||
Bounds b;
|
|
||||||
// Because the original vertices are -0.5 to 0.5,
|
|
||||||
// the distance from center to edge is exactly scale * 0.5
|
|
||||||
glm::vec2 halfScale = scale * 0.5f;
|
|
||||||
|
|
||||||
b.min = position - halfScale;
|
|
||||||
b.max = position + halfScale;
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CheckCollision(const Bounds& a, const Bounds& b) {
|
|
||||||
bool overlapX = a.max.x >= b.min.x && b.max.x >= a.min.x;
|
|
||||||
bool overlapY = a.max.y >= b.min.y && b.max.y >= a.min.y;
|
|
||||||
|
|
||||||
return overlapX && overlapY;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MovePlayerShip()
|
|
||||||
{
|
|
||||||
double delta = OpenEngine::Time::DeltaTime();
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OpenEngine::KeyCode::Up)) {
|
|
||||||
tr1.position.y += 1 * delta;
|
|
||||||
}
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OpenEngine::KeyCode::Down)) {
|
|
||||||
tr1.position.y -= 1 * delta;
|
|
||||||
}
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OpenEngine::KeyCode::Right)) {
|
|
||||||
tr1.position.x += 1 * delta;
|
|
||||||
}
|
|
||||||
if (OpenEngine::Input::IsKeyPressed(OpenEngine::KeyCode::Left)) {
|
|
||||||
tr1.position.x -= 1 * delta;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tr1.position.y <= -0.9)
|
|
||||||
tr1.position.y = -0.9;
|
|
||||||
if (tr1.position.y >= -0.3)
|
|
||||||
tr1.position.y = -0.3;
|
|
||||||
if (tr1.position.x <= -0.8)
|
|
||||||
tr1.position.x = -0.8;
|
|
||||||
if (tr1.position.x >= 0.8)
|
|
||||||
tr1.position.x = 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MovePlayerShipDiscrete(OpenEngine::KeyPressedEvent& event)
|
|
||||||
{
|
|
||||||
if (state == GameState::Playing) {
|
|
||||||
double delta = OpenEngine::Time::DeltaTime();
|
|
||||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Right) {
|
|
||||||
tr1.position.x += 0.1f;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Left) {
|
|
||||||
tr1.position.x -= 0.1f;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tr1.position.y <= -0.9)
|
|
||||||
tr1.position.y = -0.9;
|
|
||||||
if (tr1.position.y >= -0.3)
|
|
||||||
tr1.position.y = -0.3;
|
|
||||||
if (tr1.position.x <= -0.8)
|
|
||||||
tr1.position.x = -0.8;
|
|
||||||
if (tr1.position.x >= 0.8)
|
|
||||||
tr1.position.x = 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MoveEntities(double time_step) {
|
|
||||||
double delta = time_step;
|
|
||||||
|
|
||||||
// Updating enemy positions
|
|
||||||
for (auto& enemy : enemies) {
|
|
||||||
enemy.position.y -= 0.3 * delta;
|
|
||||||
if (state == GameState::Playing && (enemy.position.y <= -1.1 || CheckCollision(
|
|
||||||
GetBounds(enemy.position, enemy.size),
|
|
||||||
GetBounds(tr1.position, tr1.size))))
|
|
||||||
lives--;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Updating friendly bullets positions
|
|
||||||
for (auto& bullet : bullets) {
|
|
||||||
bullet.position.y += 1.1 * delta;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateEntity()
|
|
||||||
{
|
|
||||||
double delta = OpenEngine::Time::DeltaTime();
|
|
||||||
|
|
||||||
MoveEntities(delta);
|
|
||||||
|
|
||||||
// Deletes enemies offscreen
|
|
||||||
std::erase_if(enemies, [](const auto& enemy) {
|
|
||||||
return enemy.position.y <= -1.1f;
|
|
||||||
});
|
|
||||||
// Deletes bullets offscreen
|
|
||||||
std::erase_if(bullets, [](const auto& bullet) {
|
|
||||||
return bullet.position.y >= 1.2f;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Lowers lives upon collision between player and enemy
|
|
||||||
for (auto& enemy : enemies) {
|
|
||||||
if (state == GameState::Playing) {
|
|
||||||
if (enemy.position.y <= -1.1)
|
|
||||||
lives--;
|
|
||||||
|
|
||||||
if (CheckCollision(
|
|
||||||
GetBounds(enemy.position, enemy.size),
|
|
||||||
GetBounds(tr1.position, tr1.size)))
|
|
||||||
lives = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deletes enemy and bullet and increases score after collision
|
|
||||||
for (auto& bullet : bullets) {
|
|
||||||
for (auto& enemy : enemies) {
|
|
||||||
Bounds bullet_bounds = GetBounds(bullet.position, bullet.size);
|
|
||||||
Bounds enemy_bounds = GetBounds(enemy.position, enemy.size);
|
|
||||||
|
|
||||||
if (CheckCollision(bullet_bounds, enemy_bounds)) {
|
|
||||||
std::erase_if(bullets, [&](const OpenEngine::Transform& _bullet) {
|
|
||||||
return _bullet.position == bullet.position;
|
|
||||||
});
|
|
||||||
std::erase_if(enemies, [&](const auto& _enemy) {
|
|
||||||
return _enemy.position == enemy.position;
|
|
||||||
});
|
|
||||||
score++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Render()
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION()
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Setting up Rendering");
|
|
||||||
OpenEngine::RenderCommand::SetClearColor({0.11f, 0.11f, 0.15f, 1.0f});
|
|
||||||
//OpenEngine::RenderCommand::SetClearColor({1.0f, 0.11f, 0.15f, 1.0f});
|
|
||||||
OpenEngine::RenderCommand::Clear();
|
|
||||||
OpenEngine::Renderer2D::BeginScene(camera.GetCamera());
|
|
||||||
}
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Drawing Quads");
|
|
||||||
OpenEngine::Renderer2D::DrawQuad(tr1, ship);
|
|
||||||
|
|
||||||
for (auto& enemy : enemies)
|
|
||||||
OpenEngine::Renderer2D::DrawQuad(enemy, enemy_ship);
|
|
||||||
for (auto& bullet : bullets)
|
|
||||||
OpenEngine::Renderer2D::DrawQuad(bullet, bullet_tx);
|
|
||||||
}
|
|
||||||
|
|
||||||
OpenEngine::Renderer2D::EndScene();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnUpdate() override
|
|
||||||
{
|
|
||||||
float delta = OpenEngine::Time::DeltaTime();
|
|
||||||
|
|
||||||
Render();
|
|
||||||
|
|
||||||
UpdateEntity();
|
|
||||||
|
|
||||||
if (state == GameState::Playing) {
|
|
||||||
if (spawn_cooldown >= spawn_min_time) {
|
|
||||||
//SpawnEnemyRandom();
|
|
||||||
ReadMap();
|
|
||||||
spawn_cooldown = 0;
|
|
||||||
if (spawn_min_time > 0.5)
|
|
||||||
spawn_min_time -= 0.01;
|
|
||||||
}
|
|
||||||
|
|
||||||
//MovePlayerShip();
|
|
||||||
|
|
||||||
if (shooting)
|
|
||||||
SpawnBullet();
|
|
||||||
|
|
||||||
shot_cooldown += delta;
|
|
||||||
spawn_cooldown += delta;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lives <= 0)
|
|
||||||
state = GameState::GameOver;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Reset()
|
|
||||||
{
|
|
||||||
tr1 = {glm::vec3(0.0f, -0.9f, -0.1f), glm::vec3(0.1f), 0.0f};
|
|
||||||
|
|
||||||
score = 0;
|
|
||||||
lives = 5;
|
|
||||||
|
|
||||||
bullets.clear();
|
|
||||||
enemies.clear();
|
|
||||||
|
|
||||||
state = GameState::Playing;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SpawnEnemyRandom()
|
|
||||||
{
|
|
||||||
static std::uniform_int_distribution<int> dist{-8, 8};
|
|
||||||
|
|
||||||
SpawnEnemy(dist(rd));
|
|
||||||
};
|
|
||||||
|
|
||||||
void SpawnEnemy(int x)
|
|
||||||
{
|
|
||||||
OpenEngine::Transform enemy_tr({{x/10.0f, 1.2f, 0.1f}, glm::vec3(0.1f), 180.0f});
|
|
||||||
enemies.emplace_back(enemy_tr);
|
|
||||||
};
|
|
||||||
|
|
||||||
void LoadMap(const char* path = "assets/maps/lvl1.txt")
|
|
||||||
{
|
|
||||||
std::string buffer;
|
|
||||||
|
|
||||||
std::ifstream map_file(path);
|
|
||||||
|
|
||||||
while (std::getline(map_file, buffer)) {
|
|
||||||
map.emplace_back(buffer);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void ReadMap()
|
|
||||||
{
|
|
||||||
static int line_n = 0;
|
|
||||||
if (line_n >= map.size())
|
|
||||||
return;
|
|
||||||
|
|
||||||
auto line = map[line_n];
|
|
||||||
|
|
||||||
int position = -8;
|
|
||||||
for (int i = 0; i < line.length(); i++) {
|
|
||||||
if (line[i] == '#')
|
|
||||||
SpawnEnemy(position);
|
|
||||||
position++;
|
|
||||||
}
|
|
||||||
|
|
||||||
line_n++;
|
|
||||||
};
|
|
||||||
|
|
||||||
void SpawnBullet()
|
|
||||||
{
|
|
||||||
if (shot_cooldown >= 0.2) {
|
|
||||||
OpenEngine::Transform bullet_tr;
|
|
||||||
bullet_tr.size = glm::vec3(0.03f);
|
|
||||||
bullet_tr.position.x = tr1.position.x;
|
|
||||||
bullet_tr.position.y = tr1.position.y + 0.1;
|
|
||||||
|
|
||||||
bullets.emplace_back(bullet_tr);
|
|
||||||
|
|
||||||
shot_cooldown = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ProcessKeyPressedEvents(OpenEngine::KeyPressedEvent& event)
|
|
||||||
{
|
|
||||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Space) {
|
|
||||||
shooting = true;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (state == GameState::GameOver && event.GetKeyCode() == OpenEngine::KeyCode::Enter) {
|
|
||||||
Reset();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
bool ProcessKeyReleased(OpenEngine::KeyReleasedEvent& event)
|
|
||||||
{
|
|
||||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Space)
|
|
||||||
shooting = false;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnEvent(OpenEngine::Event& event) override
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
|
|
||||||
OpenEngine::EventDispatcher dispatcher(event);
|
|
||||||
|
|
||||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Shmup::MovePlayerShipDiscrete));
|
|
||||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Shmup::ProcessKeyPressedEvents));
|
|
||||||
dispatcher.Dispatch<OpenEngine::KeyReleasedEvent>(BIND_EVENT_FN(Shmup::ProcessKeyReleased));
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Camera OnEvent");
|
|
||||||
camera.OnEvent(event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//void OnImGuiRender() override
|
|
||||||
//{
|
|
||||||
// ImGuiIO io = ImGui::GetIO();
|
|
||||||
// static auto m_Font = io.Fonts->AddFontFromFileTTF("/usr/share/fonts/TTF/JetBrainsMono-Regular.ttf", 120.0f);
|
|
||||||
|
|
||||||
// ImGui::GetForegroundDrawList()->AddText(m_Font, 48.0f, {5.0f, 5.0f}, 0xffffffff, "test");
|
|
||||||
//}
|
|
||||||
|
|
||||||
GameState GetGameState() { return state; };
|
|
||||||
int GetScore() { return score; };
|
|
||||||
int GetLives() { return lives; };
|
|
||||||
|
|
||||||
private:
|
|
||||||
OpenEngine::Ref<OpenEngine::Texture2D> ship;
|
|
||||||
OpenEngine::Ref<OpenEngine::Texture2D> enemy_ship;
|
|
||||||
OpenEngine::Ref<OpenEngine::Texture2D> bullet_tx;
|
|
||||||
OpenEngine::Transform tr1 = {glm::vec3(0.0f, -0.9f, -0.1f), glm::vec3(0.1f), 0.0f};
|
|
||||||
std::vector<OpenEngine::Transform> enemies, bullets;
|
|
||||||
int score = 0;
|
|
||||||
int lives = 5;
|
|
||||||
|
|
||||||
bool shooting = false;
|
|
||||||
float spawn_cooldown = 0, shot_cooldown = 0;
|
|
||||||
float spawn_min_time = 1.0f;
|
|
||||||
std::vector<std::string> map;
|
|
||||||
|
|
||||||
std::random_device rd;
|
|
||||||
std::mt19937 e{rd()}; // or std::default_random_engine e{rd()};
|
|
||||||
|
|
||||||
OpenEngine::OrthographicCameraController camera;
|
|
||||||
GameState state = GameState::Playing;
|
|
||||||
|
|
||||||
//OpenEngine::Ref<Overlay> overlay;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // SHMUP_HPP
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
default: build_and_run
|
|
||||||
|
|
||||||
alias c := config
|
|
||||||
alias b := build
|
|
||||||
alias r := run
|
|
||||||
alias br := build_and_run
|
|
||||||
alias cln := clean
|
|
||||||
alias v := valgrind
|
|
||||||
|
|
||||||
run:
|
|
||||||
@echo Running ${BINARY_NAME}
|
|
||||||
@./build/${BINARY_NAME}
|
|
||||||
|
|
||||||
build:
|
|
||||||
time cmake --build build --config ${BUILD_TYPE}
|
|
||||||
|
|
||||||
build_and_run: build
|
|
||||||
just run
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm build -rf
|
|
||||||
|
|
||||||
config:
|
|
||||||
@echo Configuring project with build type: ${BUILD_TYPE}
|
|
||||||
cmake -S . -G Ninja -B build \
|
|
||||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=${COMPILE_COMMANDS} \
|
|
||||||
; cp build/compile_commands.json .
|
|
||||||
|
|
||||||
valgrind: build
|
|
||||||
valgrind --track-origins=yes ./build/${BINARY_NAME}
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,86 +0,0 @@
|
|||||||
#include <open_engine/core.hpp>
|
|
||||||
#include <control_layer.hpp>
|
|
||||||
#include <sandbox2d.hpp>
|
|
||||||
#include <sandbox.hpp>
|
|
||||||
|
|
||||||
ControlLayer::ControlLayer(OpenEngine::Ref<OpenEngine::Layer> layer)
|
|
||||||
: active_layer(layer), OpenEngine::Layer("control_layer")
|
|
||||||
//ControlLayer::ControlLayer()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ControlLayer::OnUpdate()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ControlLayer::SwitchLayer(OpenEngine::KeyPressedEvent& event)
|
|
||||||
{
|
|
||||||
OE_PROFILE_FUNCTION();
|
|
||||||
|
|
||||||
auto& app = OpenEngine::Application::Get();
|
|
||||||
OpenEngine::Ref<Layer> layer;
|
|
||||||
|
|
||||||
if (event.GetKeyCode() == OE_KEY_1) {
|
|
||||||
OE_PROFILE_SCOPE("Press Key 1");
|
|
||||||
|
|
||||||
OE_DEBUG("Sandbox2D Layer");
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Creating SB2D");
|
|
||||||
layer = OpenEngine::CreateRef<Sandbox2DLayer>();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.QueueLayerPush(layer);
|
|
||||||
app.QueueLayerPop(active_layer);
|
|
||||||
active_layer = layer;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} else if (event.GetKeyCode() == OE_KEY_2) {
|
|
||||||
OE_PROFILE_SCOPE("Press Key 2");
|
|
||||||
|
|
||||||
OE_DEBUG("Sandbox Layer");
|
|
||||||
{
|
|
||||||
OE_PROFILE_SCOPE("Creating SB");
|
|
||||||
layer = OpenEngine::CreateRef<SandboxLayer>();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.QueueLayerPush(layer);
|
|
||||||
app.QueueLayerPop(active_layer);
|
|
||||||
active_layer = layer;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ControlLayer::StopRunning(OpenEngine::KeyPressedEvent& event)
|
|
||||||
{
|
|
||||||
if (event.GetKeyCode() == OE_KEY_ESCAPE) {
|
|
||||||
OpenEngine::Application::Get().Close();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlLayer::OnEvent(OpenEngine::Event& event)
|
|
||||||
{
|
|
||||||
OpenEngine::EventDispatcher dispatcher(event);
|
|
||||||
|
|
||||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(ControlLayer::SwitchLayer));
|
|
||||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(ControlLayer::StopRunning));
|
|
||||||
}
|
|
||||||
|
|
||||||
void ControlLayer::OnImGuiRender()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ControlLayer::OnAttach()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ControlLayer::OnDetach()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#include <memory>
|
|
||||||
#include <sandbox2d.hpp>
|
|
||||||
#include <sandbox.hpp>
|
|
||||||
#include <control_layer.hpp>
|
|
||||||
#include <overlay.hpp>
|
|
||||||
#include <modding.hpp>
|
|
||||||
#include <shmup.hpp>
|
|
||||||
|
|
||||||
#include <open_engine/entry_point.hpp>
|
|
||||||
|
|
||||||
Sandbox::Sandbox()
|
|
||||||
{
|
|
||||||
OpenEngine::Ref<Sandbox2DLayer> initial_layer = std::make_shared<Sandbox2DLayer>();
|
|
||||||
//OpenEngine::Ref<Shmup> initial_layer = OpenEngine::CreateRef<Shmup>();
|
|
||||||
//OpenEngine::Ref<Overlay> overlay = OpenEngine::CreateRef<Overlay>(shmup);
|
|
||||||
//OpenEngine::Ref<Overlay> overlay = OpenEngine::CreateRef<Overlay>(initial_layer);
|
|
||||||
OpenEngine::Ref<OpenEngine::Layer> control_layer = std::make_shared<ControlLayer>(initial_layer);
|
|
||||||
//OpenEngine::Ref<ControlLayer> control_layer = std::make_shared<ControlLayer>();
|
|
||||||
OpenEngine::Ref<OpenEngine::Layer> modding_layer = std::make_shared<Modding>();
|
|
||||||
|
|
||||||
//QueueLayerPush(shmup);
|
|
||||||
QueueLayerPush(initial_layer);
|
|
||||||
QueueLayerPush(control_layer);
|
|
||||||
QueueLayerPush(modding_layer);
|
|
||||||
//QueueOverlayPush(overlay);
|
|
||||||
}
|
|
||||||
|
|
||||||
Sandbox::~Sandbox()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
OpenEngine::Application* OpenEngine::CreateApplication()
|
|
||||||
{
|
|
||||||
OE_INFO("Sandbox Starting...");
|
|
||||||
return new Sandbox();
|
|
||||||
}
|
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
imgui/1.92.5-docking
|
imgui/1.92.5-docking
|
||||||
spdlog/1.16.0
|
spdlog/1.16.0
|
||||||
entt/3.16.0
|
entt/3.16.0
|
||||||
|
yaml-cpp/0.8.0
|
||||||
|
|
||||||
[generators]
|
[generators]
|
||||||
CMakeDeps
|
CMakeDeps
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ cmake_minimum_required(VERSION 3.28)
|
|||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
|
||||||
set(PROJECT_EXECUTABLE_NAME sand_box)
|
set(PROJECT_EXECUTABLE_NAME oe_editor)
|
||||||
|
|
||||||
|
set(CMAKE_BUILD_RPATH ".")
|
||||||
|
|
||||||
project(SandBox
|
project(SandBox
|
||||||
VERSION 0.1.0
|
VERSION 0.1.0
|
||||||
@@ -10,6 +12,7 @@ project(SandBox
|
|||||||
|
|
||||||
find_package(imgui REQUIRED CONFIG)
|
find_package(imgui REQUIRED CONFIG)
|
||||||
find_package(spdlog REQUIRED CONFIG)
|
find_package(spdlog REQUIRED CONFIG)
|
||||||
|
find_package(EnTT REQUIRED)
|
||||||
|
|
||||||
file(GLOB_RECURSE SRC_FILES "src/*.cpp")
|
file(GLOB_RECURSE SRC_FILES "src/*.cpp")
|
||||||
add_executable(${PROJECT_EXECUTABLE_NAME}
|
add_executable(${PROJECT_EXECUTABLE_NAME}
|
||||||
@@ -18,6 +21,8 @@ add_executable(${PROJECT_EXECUTABLE_NAME}
|
|||||||
|
|
||||||
target_include_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
target_include_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||||
"${PROJECT_SOURCE_DIR}/include"
|
"${PROJECT_SOURCE_DIR}/include"
|
||||||
|
"${PROJECT_SOURCE_DIR}/editor/include"
|
||||||
|
"/usr/include/freetype2/"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
target_link_libraries(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||||
@@ -26,9 +31,11 @@ target_link_libraries(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
|||||||
open_engine
|
open_engine
|
||||||
dl
|
dl
|
||||||
nethost
|
nethost
|
||||||
|
freetype
|
||||||
|
EnTT::EnTT
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
target_link_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||||
${PROJECT_SOURCE_DIR}/lib
|
${PROJECT_SOURCE_DIR}/lib
|
||||||
/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native
|
/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native
|
||||||
)
|
)
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
#ifndef EDITOR_HPP
|
#ifndef EDITOR_HPP
|
||||||
#define EDITOR_HPP
|
#define EDITOR_HPP
|
||||||
|
|
||||||
#include "open_engine/ref_scope.hpp"
|
|
||||||
#include "panels/scene_hierarchy.hpp"
|
|
||||||
#include <open_engine.hpp>
|
#include <open_engine.hpp>
|
||||||
|
|
||||||
|
#include "panels/scene_hierarchy.hpp"
|
||||||
|
|
||||||
|
//#include <imfilebrowser.h>
|
||||||
#include <glm/ext/matrix_transform.hpp>
|
#include <glm/ext/matrix_transform.hpp>
|
||||||
#include <glm/gtc/type_ptr.hpp>
|
#include <glm/gtc/type_ptr.hpp>
|
||||||
#include <glm/matrix.hpp>
|
#include <glm/matrix.hpp>
|
||||||
@@ -27,6 +28,7 @@ namespace OpenEngine {
|
|||||||
{
|
{
|
||||||
auto delta = Time::DeltaTime();
|
auto delta = Time::DeltaTime();
|
||||||
|
|
||||||
|
if (HasComponent<TransformComponent>()) {
|
||||||
auto& position = GetComponent<TransformComponent>().translation;
|
auto& position = GetComponent<TransformComponent>().translation;
|
||||||
|
|
||||||
if (Input::IsKeyPressed(KeyCode::Up))
|
if (Input::IsKeyPressed(KeyCode::Up))
|
||||||
@@ -37,6 +39,7 @@ namespace OpenEngine {
|
|||||||
position.x += 5.0 * delta;
|
position.x += 5.0 * delta;
|
||||||
if (Input::IsKeyPressed(KeyCode::Left))
|
if (Input::IsKeyPressed(KeyCode::Left))
|
||||||
position.x -= 5.0 * delta;
|
position.x -= 5.0 * delta;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void OnDestroy()
|
void OnDestroy()
|
||||||
@@ -48,16 +51,11 @@ namespace OpenEngine {
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EditorLayer()
|
EditorLayer()
|
||||||
: Layer("editor_layer")/*,
|
: Layer("editor_layer")
|
||||||
camera((float)Application::Get().GetWindow().GetWidth() /
|
|
||||||
Application::Get().GetWindow().GetHeight(), 1.0f)
|
|
||||||
*/
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
~EditorLayer() {};
|
~EditorLayer() {};
|
||||||
|
|
||||||
entt::registry registry;
|
|
||||||
|
|
||||||
void OnAttach() override
|
void OnAttach() override
|
||||||
{
|
{
|
||||||
OE_PROFILE_FUNCTION();
|
OE_PROFILE_FUNCTION();
|
||||||
@@ -70,15 +68,15 @@ namespace OpenEngine {
|
|||||||
|
|
||||||
scene = CreateRef<Scene>();
|
scene = CreateRef<Scene>();
|
||||||
|
|
||||||
sq_entity = scene->CreateEntity("square");
|
//sq_entity = scene->CreateEntity("square");
|
||||||
|
|
||||||
sq_entity.AddComponents<TransformComponent>();
|
//sq_entity.AddComponents<TransformComponent>();
|
||||||
sq_entity.AddComponents<SpriteRendererComponent>(glm::vec4(1.0f, 0.0f, 0.0f, 1.0f));
|
//sq_entity.AddComponents<SpriteRendererComponent>(glm::vec4(1.0f, 0.0f, 0.0f, 1.0f));
|
||||||
|
|
||||||
camera_bis = scene->CreateEntity("Main camera");
|
//camera_bis = scene->CreateEntity("Main camera");
|
||||||
camera_bis.AddComponents<TransformComponent>();
|
//camera_bis.AddComponents<TransformComponent>();
|
||||||
camera_bis.AddComponents<CameraComponent>();
|
//camera_bis.AddComponents<CameraComponent>();
|
||||||
camera_bis.AddComponents<NativeScriptComponent>().Bind<CameraController>();
|
//camera_bis.AddComponents<NativeScriptComponent>().Bind<CameraController>();
|
||||||
|
|
||||||
scene_hierarchy.SetContext(scene);
|
scene_hierarchy.SetContext(scene);
|
||||||
}
|
}
|
||||||
@@ -258,10 +256,68 @@ namespace OpenEngine {
|
|||||||
ImGui::End();
|
ImGui::End();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
void test2()
|
||||||
|
{
|
||||||
|
// (optional) set browser properties
|
||||||
|
fileDialog.SetTitle("title");
|
||||||
|
fileDialog.SetTypeFilters({ ".oes" });
|
||||||
|
fileDialog.Open();
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
void OnImGuiRender() override
|
void OnImGuiRender() override
|
||||||
{
|
{
|
||||||
OE_PROFILE_FUNCTION();
|
OE_PROFILE_FUNCTION();
|
||||||
|
|
||||||
|
{
|
||||||
|
// Testing file pickers
|
||||||
|
if (ImGui::BeginMainMenuBar()) {
|
||||||
|
if (ImGui::BeginMenu("File")) {
|
||||||
|
if (ImGui::MenuItem("Save As", "Ctrl+S")) {
|
||||||
|
std::string file = FileDialogs::SaveFile("useless");
|
||||||
|
OE_TRACE("saving to filename: {}", file);
|
||||||
|
if (!file.empty()) {
|
||||||
|
SceneSerializer serializer(scene);
|
||||||
|
serializer.Serialize(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ImGui::MenuItem("Load", "Ctrl+O")) {
|
||||||
|
std::string file = FileDialogs::OpenFile("useless");
|
||||||
|
OE_DEBUG("loading filename: {}", file);
|
||||||
|
if (!file.empty()) {
|
||||||
|
scene = CreateRef<Scene>();
|
||||||
|
scene->OnViewportResize((uint32_t)viewport_size.x, (uint32_t)viewport_size.y);
|
||||||
|
scene_hierarchy.SetContext(scene);
|
||||||
|
|
||||||
|
SceneSerializer serializer(scene);
|
||||||
|
serializer.Deserialize(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ImGui::MenuItem("New Scene", "Ctrl+N")) {
|
||||||
|
scene = CreateRef<Scene>();
|
||||||
|
scene->OnViewportResize((uint32_t)viewport_size.x, (uint32_t)viewport_size.y);
|
||||||
|
scene_hierarchy.SetContext(scene);
|
||||||
|
}
|
||||||
|
ImGui::Separator();
|
||||||
|
if (ImGui::MenuItem("Exit"))
|
||||||
|
Application::Get().Close();
|
||||||
|
ImGui::EndMenu();
|
||||||
|
}
|
||||||
|
ImGui::EndMainMenuBar();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
fileDialog.Display();
|
||||||
|
|
||||||
|
if(fileDialog.HasSelected())
|
||||||
|
{
|
||||||
|
OE_TRACE("Selected filename {}", fileDialog.GetSelected().string());
|
||||||
|
fileDialog.ClearSelected();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::DockSpaceOverViewport();
|
ImGui::DockSpaceOverViewport();
|
||||||
|
|
||||||
DrawStats();
|
DrawStats();
|
||||||
@@ -279,12 +335,13 @@ namespace OpenEngine {
|
|||||||
glm::vec2 viewport_size = { 0.0f, 0.0f };
|
glm::vec2 viewport_size = { 0.0f, 0.0f };
|
||||||
Ref<OpenEngine::FrameBuffer> framebuffer;
|
Ref<OpenEngine::FrameBuffer> framebuffer;
|
||||||
SceneHierarchy scene_hierarchy;
|
SceneHierarchy scene_hierarchy;
|
||||||
//OrthographicCameraController camera;
|
|
||||||
|
|
||||||
Entity camera_bis;
|
Entity camera_bis;
|
||||||
|
|
||||||
Ref<Scene> scene;
|
Ref<Scene> scene;
|
||||||
Entity sq_entity;
|
Entity sq_entity;
|
||||||
|
//ImGui::FileBrowser fileDialog;
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,3 +353,24 @@ class EditorApp : public OpenEngine::Application
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif // EDITOR_HPP
|
#endif // EDITOR_HPP
|
||||||
|
|
||||||
|
/*
|
||||||
|
#include <cstdio>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
std::string OpenFile() {
|
||||||
|
char buffer[1024];
|
||||||
|
// This command opens a native GTK file picker and returns the path
|
||||||
|
FILE* pipe = popen("zenity --file-selection", "r");
|
||||||
|
if (!pipe) return "";
|
||||||
|
|
||||||
|
if (fgets(buffer, sizeof(buffer), pipe) != NULL) {
|
||||||
|
std::string path = buffer;
|
||||||
|
path.erase(path.find_last_not_of("\n") + 1); // Clean newline
|
||||||
|
pclose(pipe);
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
pclose(pipe);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
#include <open_engine.hpp>
|
#include <open_engine.hpp>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native/nethost.h"
|
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native/nethost.h"
|
||||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native/hostfxr.h"
|
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native/hostfxr.h"
|
||||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.0/runtimes/arch-x64/native/coreclr_delegates.h"
|
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native/coreclr_delegates.h"
|
||||||
|
|
||||||
class Modding : public OpenEngine::Layer
|
class Modding : public OpenEngine::Layer
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
#define SCENE_HIERARCHY_HPP
|
#define SCENE_HIERARCHY_HPP
|
||||||
|
|
||||||
#include "imgui.h"
|
#include "imgui.h"
|
||||||
#include <array>
|
|
||||||
#include <open_engine.hpp>
|
#include <open_engine.hpp>
|
||||||
|
|
||||||
namespace OpenEngine {
|
namespace OpenEngine {
|
||||||
@@ -23,12 +22,42 @@ namespace OpenEngine {
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void DrawComponentDrawer(Entity& entity, const char* header)
|
void DrawComponentDrawer(Entity& entity, const char* header)
|
||||||
{
|
{
|
||||||
if (entity.HasComponent<T>())
|
bool component_marked_deletion = false;
|
||||||
if (ImGui::TreeNodeEx((void*)typeid(T).hash_code(), ImGuiTreeNodeFlags_DefaultOpen, "%s", header)) {
|
ImVec2 region_available = ImGui::GetContentRegionAvail();
|
||||||
|
ImGuiTreeNodeFlags tree_node_flags = ImGuiTreeNodeFlags_DefaultOpen
|
||||||
|
| ImGuiTreeNodeFlags_Framed
|
||||||
|
| ImGuiTreeNodeFlags_AllowOverlap;
|
||||||
|
if (entity.HasComponent<T>()) {
|
||||||
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2{ 4, 4 });
|
||||||
|
float line_height = ImGui::GetFontSize() + ImGui::GetStyle().FramePadding.y * 2.0f;
|
||||||
|
|
||||||
|
bool opened = ImGui::TreeNodeEx((void*)typeid(T).hash_code(), tree_node_flags, "%s", header);
|
||||||
|
ImGui::SameLine(region_available.x - line_height * 0.5f);
|
||||||
|
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_Button, { 0.290f, 0.301f, 0.388f, 1.0f });
|
||||||
|
if (ImGui::Button("...", ImVec2{ line_height, line_height }))
|
||||||
|
ImGui::OpenPopup("component_settings");
|
||||||
|
ImGui::PopStyleColor();
|
||||||
|
|
||||||
|
ImGui::PopStyleVar();
|
||||||
|
|
||||||
|
if (ImGui::BeginPopup("component_settings")) {
|
||||||
|
if (ImGui::MenuItem("Remove component"))
|
||||||
|
component_marked_deletion = true;
|
||||||
|
|
||||||
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opened) {
|
||||||
entity.GetComponents<T>().OnImGuiRender(entity);
|
entity.GetComponents<T>().OnImGuiRender(entity);
|
||||||
ImGui::TreePop();
|
ImGui::TreePop();
|
||||||
ImGui::Separator();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
}
|
||||||
|
if (component_marked_deletion)
|
||||||
|
entity.RemoveComponents<T>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#include "open_engine/scene/components.hpp"
|
||||||
|
#include "open_engine/scene/entity.hpp"
|
||||||
#include <panels/scene_hierarchy.hpp>
|
#include <panels/scene_hierarchy.hpp>
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
@@ -13,55 +15,98 @@ namespace OpenEngine {
|
|||||||
void SceneHierarchy::SetContext(const Ref<Scene>& context)
|
void SceneHierarchy::SetContext(const Ref<Scene>& context)
|
||||||
{
|
{
|
||||||
scene = context;
|
scene = context;
|
||||||
|
selected_context = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
void ComponentPopup(Entity& selected_context)
|
||||||
|
{
|
||||||
|
ImGui::SeparatorText("Add");
|
||||||
|
if (!selected_context.HasComponent<TransformComponent>())
|
||||||
|
if (ImGui::MenuItem("Transform")) {
|
||||||
|
selected_context.AddComponents<TransformComponent>();
|
||||||
|
ImGui::CloseCurrentPopup();
|
||||||
|
}
|
||||||
|
if (!selected_context.HasComponent<SpriteRendererComponent>())
|
||||||
|
if (ImGui::MenuItem("Sprite")) {
|
||||||
|
selected_context.AddComponents<SpriteRendererComponent>();
|
||||||
|
ImGui::CloseCurrentPopup();
|
||||||
|
}
|
||||||
|
if (!selected_context.HasComponent<CameraComponent>())
|
||||||
|
if (ImGui::MenuItem("Camera")) {
|
||||||
|
selected_context.AddComponents<CameraComponent>();
|
||||||
|
ImGui::CloseCurrentPopup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void EntityPopup(Ref<Scene>& scene)
|
||||||
|
{
|
||||||
|
ImGui::SeparatorText("Add");
|
||||||
|
if (ImGui::MenuItem("Empty entity")) {
|
||||||
|
scene->CreateEntity("Empty entity");
|
||||||
|
ImGui::CloseCurrentPopup();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneHierarchy::OnImGuiRender()
|
void SceneHierarchy::OnImGuiRender()
|
||||||
{
|
{
|
||||||
ImGui::Begin("Scene");
|
// Scene hierarchy
|
||||||
|
if (ImGui::Begin("Scene")) {
|
||||||
|
|
||||||
|
// Draw all enitity tree names
|
||||||
for (auto entity_entt : scene->GetRegistry().view<TagComponent>()) {
|
for (auto entity_entt : scene->GetRegistry().view<TagComponent>()) {
|
||||||
Entity entity{ entity_entt, scene.get() };
|
Entity entity{ entity_entt, scene.get() };
|
||||||
|
|
||||||
DrawEntityNode(entity);
|
DrawEntityNode(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// On click not on item, deselect
|
||||||
if ((ImGui::IsMouseDown(0) && ImGui::IsWindowHovered())
|
if ((ImGui::IsMouseDown(0) && ImGui::IsWindowHovered())
|
||||||
|| (ImGui::IsKeyDown(ImGuiKey_Escape) && ImGui::IsWindowHovered()))
|
|| (ImGui::IsKeyDown(ImGuiKey_Escape) && ImGui::IsWindowHovered())) {
|
||||||
{
|
|
||||||
selected_context = {};
|
selected_context = {};
|
||||||
renamed_entity = {};
|
renamed_entity = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::BeginPopupContextWindow(0, ImGuiPopupFlags_MouseButtonRight | ImGuiPopupFlags_NoOpenOverItems))
|
// On Right click open entity creation window
|
||||||
{
|
if (ImGui::BeginPopupContextWindow(0, ImGuiPopupFlags_MouseButtonRight | ImGuiPopupFlags_NoOpenOverItems)) {
|
||||||
if (ImGui::MenuItem("Create Empty Entity"))
|
EntityPopup(scene);
|
||||||
{
|
ImGui::EndPopup();
|
||||||
scene->CreateEntity("Empty entity");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Centred fullwidth bottom button to add entity
|
||||||
|
float button_height = ImGui::GetFrameHeight();
|
||||||
|
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + ImGui::GetContentRegionAvail().y - button_height);
|
||||||
|
|
||||||
|
if (ImGui::Button("Add Entity", ImVec2(ImGui::GetContentRegionAvail().x, 0.0f)))
|
||||||
|
ImGui::OpenPopup("add_entity");
|
||||||
|
|
||||||
|
if (ImGui::BeginPopup("add_entity")) {
|
||||||
|
EntityPopup(scene);
|
||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Property window
|
||||||
ImGui::Begin("Properties");
|
ImGui::Begin("Properties");
|
||||||
|
|
||||||
if (selected_context) {
|
if (selected_context) {
|
||||||
DrawComponents(selected_context);
|
DrawComponents(selected_context);
|
||||||
|
|
||||||
if (ImGui::BeginPopupContextWindow(0, ImGuiPopupFlags_MouseButtonRight | ImGuiPopupFlags_NoOpenOverItems))
|
if (ImGui::BeginPopupContextWindow(0, ImGuiPopupFlags_MouseButtonRight | ImGuiPopupFlags_NoOpenOverItems)) {
|
||||||
{
|
ComponentPopup(selected_context);
|
||||||
if (ImGui::MenuItem("Add transform"))
|
ImGui::EndPopup();
|
||||||
{
|
|
||||||
selected_context.AddComponents<TransformComponent>();
|
|
||||||
}
|
|
||||||
if (ImGui::MenuItem("Add Sprite"))
|
|
||||||
{
|
|
||||||
selected_context.AddComponents<SpriteRendererComponent>();
|
|
||||||
}
|
|
||||||
if (ImGui::MenuItem("Add camera"))
|
|
||||||
{
|
|
||||||
selected_context.AddComponents<CameraComponent>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Centred fullwidth bottom button to add component
|
||||||
|
float button_height = ImGui::GetFrameHeight();
|
||||||
|
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + ImGui::GetContentRegionAvail().y - button_height);
|
||||||
|
|
||||||
|
if (ImGui::Button("Add Component", ImVec2(ImGui::GetContentRegionAvail().x, 0.0f)))
|
||||||
|
ImGui::OpenPopup("add_component");
|
||||||
|
|
||||||
|
if (ImGui::BeginPopup("add_component")) {
|
||||||
|
ComponentPopup(selected_context);
|
||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -73,6 +118,7 @@ namespace OpenEngine {
|
|||||||
{
|
{
|
||||||
auto& tag = entity.GetComponents<TagComponent>().tag;
|
auto& tag = entity.GetComponents<TagComponent>().tag;
|
||||||
|
|
||||||
|
bool entity_marked_deletion = false;
|
||||||
if (renamed_entity == entity && selected_context == entity) {
|
if (renamed_entity == entity && selected_context == entity) {
|
||||||
char buffer[255];
|
char buffer[255];
|
||||||
std::memset(buffer, 0, sizeof(buffer));
|
std::memset(buffer, 0, sizeof(buffer));
|
||||||
@@ -93,13 +139,18 @@ namespace OpenEngine {
|
|||||||
renamed_entity = {};
|
renamed_entity = {};
|
||||||
|
|
||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ImGuiTreeNodeFlags flags = ((selected_context == entity) ? ImGuiTreeNodeFlags_Selected : 0) | ImGuiTreeNodeFlags_OpenOnArrow;
|
ImGuiTreeNodeFlags flags = ((selected_context == entity) ? ImGuiTreeNodeFlags_Selected : 0) | ImGuiTreeNodeFlags_OpenOnArrow;
|
||||||
flags |= ImGuiTreeNodeFlags_SpanAvailWidth;
|
flags |= ImGuiTreeNodeFlags_SpanAvailWidth | ImGuiTreeNodeFlags_SpanAvailWidth;
|
||||||
|
|
||||||
bool opened = ImGui::TreeNodeEx((void*)(uint64_t)(uint32_t)entity, flags, "%s", tag.c_str());
|
bool opened = ImGui::TreeNodeEx((void*)(uint64_t)(uint32_t)entity, flags, "%s", tag.c_str());
|
||||||
|
|
||||||
|
if (ImGui::BeginPopupContextItem()) {
|
||||||
|
if (ImGui::MenuItem("Delete entity"))
|
||||||
|
entity_marked_deletion = true;
|
||||||
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
|
|
||||||
if (ImGui::IsItemHovered() && ImGui::IsMouseDoubleClicked(ImGuiMouseButton_Left)) {
|
if (ImGui::IsItemHovered() && ImGui::IsMouseDoubleClicked(ImGuiMouseButton_Left)) {
|
||||||
// FocusViewportOnEntity(entity); // future implementation
|
// FocusViewportOnEntity(entity); // future implementation
|
||||||
renamed_entity = {};
|
renamed_entity = {};
|
||||||
@@ -120,10 +171,15 @@ namespace OpenEngine {
|
|||||||
last_selected_time = current_time;
|
last_selected_time = current_time;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opened)
|
if (opened)
|
||||||
ImGui::TreePop();
|
ImGui::TreePop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (entity_marked_deletion) {
|
||||||
|
scene->DeleteEntity(entity);
|
||||||
|
if (selected_context == entity)
|
||||||
|
selected_context = {};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneHierarchy::DrawComponents(Entity& entity)
|
void SceneHierarchy::DrawComponents(Entity& entity)
|
||||||
|
|||||||
157
imgui.ini
157
imgui.ini
@@ -1,59 +1,144 @@
|
|||||||
[Window][WindowOverViewport_11111111]
|
[Window][WindowOverViewport_11111111]
|
||||||
Pos=0,0
|
Pos=0,24
|
||||||
Size=1272,1386
|
Size=1272,1362
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Statistics]
|
|
||||||
Pos=0,0
|
|
||||||
Size=404,149
|
|
||||||
Collapsed=0
|
|
||||||
DockId=0x00000001,0
|
|
||||||
|
|
||||||
[Window][Debug##Default]
|
[Window][Debug##Default]
|
||||||
Pos=60,60
|
Pos=431,670
|
||||||
Size=400,400
|
Size=400,400
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Square settings]
|
[Window][Statistics]
|
||||||
Pos=1037,307
|
Pos=0,24
|
||||||
Size=235,1079
|
Size=343,227
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000008,0
|
DockId=0x00000003,0
|
||||||
|
|
||||||
|
[Window][Properties]
|
||||||
|
Pos=829,24
|
||||||
|
Size=443,738
|
||||||
|
Collapsed=0
|
||||||
|
DockId=0x00000007,0
|
||||||
|
|
||||||
[Window][Viewport]
|
[Window][Viewport]
|
||||||
Pos=406,0
|
Pos=345,24
|
||||||
Size=391,1059
|
Size=482,1362
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000009,0
|
DockId=0x00000009,0
|
||||||
|
|
||||||
[Window][Dear ImGui Demo]
|
[Window][Dear ImGui Demo]
|
||||||
Pos=406,1061
|
Pos=829,764
|
||||||
Size=391,325
|
Size=443,622
|
||||||
|
Collapsed=0
|
||||||
|
DockId=0x00000008,0
|
||||||
|
|
||||||
|
[Window][Scene]
|
||||||
|
Pos=0,253
|
||||||
|
Size=343,1133
|
||||||
|
Collapsed=0
|
||||||
|
DockId=0x00000004,0
|
||||||
|
|
||||||
|
[Window][Dear ImGui Style Editor]
|
||||||
|
Pos=60,60
|
||||||
|
Size=591,1380
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Example: Console]
|
||||||
|
Pos=345,786
|
||||||
|
Size=761,600
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x0000000A,0
|
DockId=0x0000000A,0
|
||||||
|
|
||||||
[Window][Scene]
|
[Window][Example: Log]
|
||||||
Pos=0,151
|
Pos=375,209
|
||||||
Size=404,1235
|
Size=500,400
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000002,0
|
|
||||||
|
|
||||||
[Window][Properties]
|
[Window][title##filebrowser_140732545916536]
|
||||||
Pos=799,0
|
Pos=290,472
|
||||||
Size=473,1386
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][dummy window]
|
||||||
|
Pos=0,525
|
||||||
|
Size=343,861
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_140732777490360]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_140724674745064]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_140734304330456]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94826634853176]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_93985610707192]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94189918777656]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94796664553720]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94694593474872]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94281956523384]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94833770559928]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94808591664760]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94921459991096]
|
||||||
|
Pos=286,468
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][title##filebrowser_94787465768376]
|
||||||
|
Pos=287,467
|
||||||
|
Size=700,450
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000007,0
|
|
||||||
|
|
||||||
[Docking][Data]
|
[Docking][Data]
|
||||||
DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,0 Size=1272,1386 Split=X
|
DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,24 Size=1272,1362 Split=X
|
||||||
DockNode ID=0x00000003 Parent=0x08BD597D SizeRef=2085,1386 Split=X
|
DockNode ID=0x00000005 Parent=0x08BD597D SizeRef=827,1386 Split=X
|
||||||
DockNode ID=0x00000005 Parent=0x00000003 SizeRef=404,1386 Split=Y Selected=0x553E127E
|
DockNode ID=0x00000001 Parent=0x00000005 SizeRef=343,1386 Split=Y Selected=0xE601B12F
|
||||||
DockNode ID=0x00000001 Parent=0x00000005 SizeRef=274,149 Selected=0x553E127E
|
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=255,231 Selected=0x553E127E
|
||||||
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=274,1235 Selected=0xE601B12F
|
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=255,1153 Selected=0xE601B12F
|
||||||
DockNode ID=0x00000006 Parent=0x00000003 SizeRef=1679,1386 Split=Y Selected=0xC450F867
|
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=482,1386 Split=Y Selected=0xC450F867
|
||||||
DockNode ID=0x00000009 Parent=0x00000006 SizeRef=629,1067 CentralNode=1 Selected=0xC450F867
|
DockNode ID=0x00000009 Parent=0x00000002 SizeRef=483,784 CentralNode=1 Selected=0xC450F867
|
||||||
DockNode ID=0x0000000A Parent=0x00000006 SizeRef=629,325 Selected=0x5E5F7166
|
DockNode ID=0x0000000A Parent=0x00000002 SizeRef=483,600 Selected=0x1BCA3180
|
||||||
DockNode ID=0x00000004 Parent=0x08BD597D SizeRef=473,1386 Split=Y Selected=0x5E5F7166
|
DockNode ID=0x00000006 Parent=0x08BD597D SizeRef=443,1386 Split=Y Selected=0x8C72BEA8
|
||||||
DockNode ID=0x00000007 Parent=0x00000004 SizeRef=235,305 Selected=0x8C72BEA8
|
DockNode ID=0x00000007 Parent=0x00000006 SizeRef=444,738 Selected=0x8C72BEA8
|
||||||
DockNode ID=0x00000008 Parent=0x00000004 SizeRef=235,1079 Selected=0xA5FF3A7A
|
DockNode ID=0x00000008 Parent=0x00000006 SizeRef=444,622 Selected=0x5E5F7166
|
||||||
|
|
||||||
|
|||||||
93
licenses/OFL.txt
Normal file
93
licenses/OFL.txt
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans)
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
https://openfontlicense.org
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||||
15
licenses/nfd-e.md
Normal file
15
licenses/nfd-e.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
|
including commercial applications, and to alter it and redistribute it
|
||||||
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software
|
||||||
|
in a product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
misrepresented as being the original software.
|
||||||
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.28)
|
cmake_minimum_required(VERSION 3.28)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 23)
|
||||||
|
|
||||||
set(PROJECT_EXECUTABLE_NAME open_engine)
|
set(PROJECT_EXECUTABLE_NAME open_engine)
|
||||||
|
|
||||||
@@ -11,6 +11,8 @@ project(OpenEngine
|
|||||||
add_definitions( -DOE_ENABLE_ASSERTS )
|
add_definitions( -DOE_ENABLE_ASSERTS )
|
||||||
|
|
||||||
find_package(imgui REQUIRED)
|
find_package(imgui REQUIRED)
|
||||||
|
find_package(EnTT REQUIRED)
|
||||||
|
find_package(yaml-cpp REQUIRED)
|
||||||
|
|
||||||
file(GLOB_RECURSE SRC_FILES "src/*.cpp")
|
file(GLOB_RECURSE SRC_FILES "src/*.cpp")
|
||||||
add_library(${PROJECT_EXECUTABLE_NAME} STATIC
|
add_library(${PROJECT_EXECUTABLE_NAME} STATIC
|
||||||
@@ -30,6 +32,7 @@ target_include_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
|||||||
target_include_directories(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
target_include_directories(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||||
"/home/erris/.conan2/p/b/imguic69fe98538919/p/include"
|
"/home/erris/.conan2/p/b/imguic69fe98538919/p/include"
|
||||||
|
"vendor/nativefiledialog-extended/src/include"
|
||||||
)
|
)
|
||||||
|
|
||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
|
||||||
@@ -42,7 +45,10 @@ target_link_libraries(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
|||||||
glfw
|
glfw
|
||||||
glm
|
glm
|
||||||
dl
|
dl
|
||||||
|
EnTT::EnTT
|
||||||
X11
|
X11
|
||||||
|
yaml-cpp::yaml-cpp
|
||||||
|
nfd
|
||||||
)
|
)
|
||||||
|
|
||||||
#target_link_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
#target_link_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||||
@@ -52,3 +58,5 @@ target_link_libraries(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
|||||||
add_subdirectory(vendor/glad
|
add_subdirectory(vendor/glad
|
||||||
./lib
|
./lib
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_subdirectory("vendor/nativefiledialog-extended")
|
||||||
|
|||||||
@@ -2,14 +2,18 @@
|
|||||||
#define OPEN_ENGINE_HPP
|
#define OPEN_ENGINE_HPP
|
||||||
|
|
||||||
#include "open_engine/orthographic_camera_controller.hpp"
|
#include "open_engine/orthographic_camera_controller.hpp"
|
||||||
#include "open_engine/scene/native_scriptable_entity.hpp"
|
|
||||||
#include "open_engine/imgui/imgui_layer.hpp"
|
#include "open_engine/imgui/imgui_layer.hpp"
|
||||||
#include "open_engine/events/key_event.hpp"
|
#include "open_engine/events/key_event.hpp"
|
||||||
#include "open_engine/scene/components.hpp"
|
|
||||||
#include "open_engine/application.hpp"
|
#include "open_engine/application.hpp"
|
||||||
#include "open_engine/ref_scope.hpp"
|
#include "open_engine/ref_scope.hpp"
|
||||||
#include "open_engine/logging.hpp"
|
#include "open_engine/logging.hpp"
|
||||||
|
|
||||||
|
#include "open_engine/scene/native_scriptable_entity.hpp"
|
||||||
|
#include "open_engine/scene/scene_serializer.hpp"
|
||||||
|
#include "open_engine/scene/components.hpp"
|
||||||
|
#include "open_engine/scene/components.hpp"
|
||||||
|
|
||||||
|
#include "open_engine/core/file_dialogs.hpp"
|
||||||
#include "open_engine/core/time.hpp"
|
#include "open_engine/core/time.hpp"
|
||||||
#include "open_engine/core.hpp"
|
#include "open_engine/core.hpp"
|
||||||
|
|
||||||
@@ -23,7 +27,6 @@
|
|||||||
#include "open_engine/renderer/renderer2d.hpp"
|
#include "open_engine/renderer/renderer2d.hpp"
|
||||||
#include "open_engine/renderer/renderer.hpp"
|
#include "open_engine/renderer/renderer.hpp"
|
||||||
#include "open_engine/renderer/texture.hpp"
|
#include "open_engine/renderer/texture.hpp"
|
||||||
#include "open_engine/scene/components.hpp"
|
|
||||||
#include "open_engine/renderer/buffer.hpp"
|
#include "open_engine/renderer/buffer.hpp"
|
||||||
#include "open_engine/renderer/shader.hpp"
|
#include "open_engine/renderer/shader.hpp"
|
||||||
#include "open_engine/scene/entity.hpp"
|
#include "open_engine/scene/entity.hpp"
|
||||||
|
|||||||
16
open_engine/include/open_engine/core/file_dialogs.hpp
Normal file
16
open_engine/include/open_engine/core/file_dialogs.hpp
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#ifndef FILE_DIALOGS_HPP
|
||||||
|
#define FILE_DIALOGS_HPP
|
||||||
|
|
||||||
|
// TODO: Un-Class this?
|
||||||
|
namespace OpenEngine {
|
||||||
|
|
||||||
|
class FileDialogs
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static std::string OpenFile(const char* filters);
|
||||||
|
static std::string SaveFile(const char* filters);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // FILE_DIALOGS_HPP
|
||||||
@@ -34,7 +34,6 @@ namespace OpenEngine {
|
|||||||
std::memset(buffer, 0, sizeof(buffer));
|
std::memset(buffer, 0, sizeof(buffer));
|
||||||
std::strncpy(buffer, tag.c_str(), sizeof(buffer));
|
std::strncpy(buffer, tag.c_str(), sizeof(buffer));
|
||||||
|
|
||||||
ImGui::Text("Name");
|
|
||||||
if (ImGui::InputText("##tagEditor", buffer, sizeof(buffer), ImGuiInputTextFlags_EnterReturnsTrue | ImGuiInputTextFlags_AutoSelectAll)
|
if (ImGui::InputText("##tagEditor", buffer, sizeof(buffer), ImGuiInputTextFlags_EnterReturnsTrue | ImGuiInputTextFlags_AutoSelectAll)
|
||||||
|| (!ImGui::IsItemActive() && ImGui::IsMouseClicked(0)))
|
|| (!ImGui::IsItemActive() && ImGui::IsMouseClicked(0)))
|
||||||
tag = buffer;
|
tag = buffer;
|
||||||
@@ -68,7 +67,9 @@ namespace OpenEngine {
|
|||||||
void OnImGuiRender(Entity& entity)
|
void OnImGuiRender(Entity& entity)
|
||||||
{
|
{
|
||||||
DrawVec3Control("Position", translation);
|
DrawVec3Control("Position", translation);
|
||||||
DrawVec3Control("Rotation", rotation);
|
glm::vec3 rotation_comp = glm::degrees(rotation);
|
||||||
|
DrawVec3Control("Rotation", rotation_comp);
|
||||||
|
rotation = glm::radians(rotation_comp);
|
||||||
DrawVec3Control("Scale", scale);
|
DrawVec3Control("Scale", scale);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
#include "open_engine/scene/scene.hpp"
|
#include "open_engine/scene/scene.hpp"
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <entt/entity/fwd.hpp>
|
||||||
#include <entt/entt.hpp>
|
#include <entt/entt.hpp>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
@@ -44,6 +46,7 @@ namespace OpenEngine {
|
|||||||
};
|
};
|
||||||
|
|
||||||
operator bool() const { return handle != entt::null; };
|
operator bool() const { return handle != entt::null; };
|
||||||
|
operator entt::entity() const { return handle; };
|
||||||
operator uint32_t() const { return (uint32_t)handle; };
|
operator uint32_t() const { return (uint32_t)handle; };
|
||||||
|
|
||||||
bool operator ==(const Entity& other) const {
|
bool operator ==(const Entity& other) const {
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ namespace OpenEngine {
|
|||||||
virtual ~NativeScriptableEntity() = default;
|
virtual ~NativeScriptableEntity() = default;
|
||||||
template <typename T>
|
template <typename T>
|
||||||
T& GetComponent() { return entity.GetComponents<T>(); };
|
T& GetComponent() { return entity.GetComponents<T>(); };
|
||||||
|
template <typename T>
|
||||||
|
bool HasComponent() { return entity.HasComponent<T>(); };
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnCreate() {};
|
virtual void OnCreate() {};
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ namespace OpenEngine {
|
|||||||
~Scene() = default;
|
~Scene() = default;
|
||||||
|
|
||||||
Entity CreateEntity(const std::string& name = std::string());
|
Entity CreateEntity(const std::string& name = std::string());
|
||||||
|
void DeleteEntity(Entity entity);
|
||||||
|
|
||||||
void OnUpdate();
|
void OnUpdate();
|
||||||
void OnViewportResize(uint32_t width, uint32_t height);
|
void OnViewportResize(uint32_t width, uint32_t height);
|
||||||
@@ -26,6 +27,7 @@ namespace OpenEngine {
|
|||||||
|
|
||||||
uint32_t viewport_width = 0, viewport_height = 0;
|
uint32_t viewport_width = 0, viewport_height = 0;
|
||||||
|
|
||||||
|
friend class SceneSerializer;
|
||||||
friend class Entity;
|
friend class Entity;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
25
open_engine/include/open_engine/scene/scene_serializer.hpp
Normal file
25
open_engine/include/open_engine/scene/scene_serializer.hpp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#ifndef SCENE_SERIALIZER_HPP
|
||||||
|
#define SCENE_SERIALIZER_HPP
|
||||||
|
|
||||||
|
#include "open_engine/ref_scope.hpp"
|
||||||
|
#include "open_engine/scene/scene.hpp"
|
||||||
|
|
||||||
|
namespace OpenEngine {
|
||||||
|
|
||||||
|
class SceneSerializer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SceneSerializer(const Ref<Scene>& scene);
|
||||||
|
|
||||||
|
void Serialize(const std::string& file_path);
|
||||||
|
void SerializeRuntime(const std::string& file_path);
|
||||||
|
|
||||||
|
bool Deserialize(const std::string& file_path);
|
||||||
|
bool DeserializeRuntime(const std::string& file_path);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ref<Scene> context;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCENE_SERIALIZER_HPP
|
||||||
74
open_engine/src/open_engine/core/file_dialogs.cpp
Normal file
74
open_engine/src/open_engine/core/file_dialogs.cpp
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#include "logging.hpp"
|
||||||
|
#include "nfd.h"
|
||||||
|
#include <pch.hpp>
|
||||||
|
|
||||||
|
#include <core/file_dialogs.hpp>
|
||||||
|
|
||||||
|
#include <nfd.hpp>
|
||||||
|
|
||||||
|
namespace OpenEngine {
|
||||||
|
|
||||||
|
std::string FileDialogs::OpenFile(const char* filters)
|
||||||
|
{
|
||||||
|
NFD_Init();
|
||||||
|
std::string path;
|
||||||
|
|
||||||
|
nfdu8char_t *outPath;
|
||||||
|
nfdu8filteritem_t nfd_filters[1] = { { "Open Engine save file", "oes" } };
|
||||||
|
nfdopendialogu8args_t args = {0};
|
||||||
|
args.filterList = nfd_filters;
|
||||||
|
args.filterCount = 1;
|
||||||
|
args.defaultPath = ".";
|
||||||
|
nfdresult_t result = NFD_OpenDialogU8_With(&outPath, &args);
|
||||||
|
if (result == NFD_OKAY)
|
||||||
|
{
|
||||||
|
path = outPath;
|
||||||
|
NFD_FreePathU8(outPath);
|
||||||
|
NFD_Quit();
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
else if (result == NFD_CANCEL)
|
||||||
|
{
|
||||||
|
OE_CORE_TRACE("User canceled.");
|
||||||
|
NFD_Quit();
|
||||||
|
return std::string();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OE_CORE_ERROR("{}", NFD_GetError());
|
||||||
|
NFD_Quit();
|
||||||
|
return std::string();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Debug Make work consistently
|
||||||
|
std::string FileDialogs::SaveFile(const char* filters)
|
||||||
|
{
|
||||||
|
NFD_Init();
|
||||||
|
std::string path;
|
||||||
|
|
||||||
|
nfdchar_t* savePath;
|
||||||
|
|
||||||
|
// prepare filters for the dialog
|
||||||
|
nfdfilteritem_t filterItem[1] = {{"Open Engine save file", "oes"}};
|
||||||
|
|
||||||
|
// show the dialog
|
||||||
|
nfdresult_t result = NFD_SaveDialog(&savePath, filterItem, 1, NULL, "untitled.oes");
|
||||||
|
if (result == NFD_OKAY) {
|
||||||
|
path = savePath;
|
||||||
|
NFD_FreePath(savePath);
|
||||||
|
NFD_Quit();
|
||||||
|
return path;
|
||||||
|
NFD_Quit();
|
||||||
|
} else if (result == NFD_CANCEL) {
|
||||||
|
puts("User pressed cancel.");
|
||||||
|
NFD_Quit();
|
||||||
|
return std::string();
|
||||||
|
} else {
|
||||||
|
printf("Error: %s\n", NFD_GetError());
|
||||||
|
NFD_Quit();
|
||||||
|
return std::string();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -274,6 +274,9 @@ namespace OpenEngine {
|
|||||||
io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;
|
io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;
|
||||||
io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;
|
io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;
|
||||||
|
|
||||||
|
io.Fonts->AddFontFromFileTTF("assets/fonts/opensans.ttf", 18.0f);
|
||||||
|
io.FontDefault = io.Fonts->AddFontFromFileTTF("assets/fonts/opensans.ttf", 18.0f);
|
||||||
|
|
||||||
ImGuiStyle& style = ImGui::GetStyle();
|
ImGuiStyle& style = ImGui::GetStyle();
|
||||||
|
|
||||||
if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable) {
|
if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable) {
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ namespace OpenEngine {
|
|||||||
float reset_value, float column_width,
|
float reset_value, float column_width,
|
||||||
const std::array<const char*, 3> labels)
|
const std::array<const char*, 3> labels)
|
||||||
{
|
{
|
||||||
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
auto bold_font = io.Fonts->Fonts[0];
|
||||||
|
|
||||||
ImGui::PushID(label);
|
ImGui::PushID(label);
|
||||||
ImVec2 item_spacing = { 15.0f, 0.0f };
|
ImVec2 item_spacing = { 15.0f, 0.0f };
|
||||||
ImGui::Columns(2);
|
ImGui::Columns(2);
|
||||||
@@ -28,12 +31,14 @@ namespace OpenEngine {
|
|||||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4{ 1.0f, 0.8f, 0.9f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4{ 1.0f, 0.8f, 0.9f, 1.0f });
|
||||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4{ 0.953f, 0.545f, 0.659f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4{ 0.953f, 0.545f, 0.659f, 1.0f });
|
||||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{ 0.0f, 0.0f, 0.0f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{ 0.0f, 0.0f, 0.0f, 1.0f });
|
||||||
|
ImGui::PushFont(bold_font);
|
||||||
if (ImGui::Button(labels[0], button_size))
|
if (ImGui::Button(labels[0], button_size))
|
||||||
values.x = reset_value;
|
values.x = reset_value;
|
||||||
|
ImGui::PopFont();
|
||||||
ImGui::PopStyleColor(4);
|
ImGui::PopStyleColor(4);
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::DragFloat("##X", &values.x, 0.1f);
|
ImGui::DragFloat("##X", &values.x, 0.1f, 0.0f, 0.0f, "%.2f");
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, item_spacing);
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, item_spacing);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
@@ -42,13 +47,15 @@ namespace OpenEngine {
|
|||||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4{ 0.9f, 1.0f, 0.9f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4{ 0.9f, 1.0f, 0.9f, 1.0f });
|
||||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4{ 0.650f, 0.890f, 0.631f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4{ 0.650f, 0.890f, 0.631f, 1.0f });
|
||||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{ 0.0f, 0.0f, 0.0f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{ 0.0f, 0.0f, 0.0f, 1.0f });
|
||||||
|
ImGui::PushFont(bold_font);
|
||||||
if (ImGui::Button(labels[1], button_size))
|
if (ImGui::Button(labels[1], button_size))
|
||||||
values.y = reset_value;
|
values.y = reset_value;
|
||||||
|
ImGui::PopFont();
|
||||||
ImGui::PopStyleColor(4);
|
ImGui::PopStyleColor(4);
|
||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::DragFloat("##Y", &values.y, 0.1f);
|
ImGui::DragFloat("##Y", &values.y, 0.1f, 0.0f, 0.0f, "%.2f");
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, item_spacing);
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, item_spacing);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
@@ -57,13 +64,15 @@ namespace OpenEngine {
|
|||||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4{ 0.7f, 0.9f, 1.0f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4{ 0.7f, 0.9f, 1.0f, 1.0f });
|
||||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4{ 0.533f, 0.698f, 0.976f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4{ 0.533f, 0.698f, 0.976f, 1.0f });
|
||||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{ 0.0f, 0.0f, 0.0f, 1.0f });
|
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{ 0.0f, 0.0f, 0.0f, 1.0f });
|
||||||
|
ImGui::PushFont(bold_font);
|
||||||
if (ImGui::Button(labels[2], button_size))
|
if (ImGui::Button(labels[2], button_size))
|
||||||
values.z = reset_value;
|
values.z = reset_value;
|
||||||
|
ImGui::PopFont();
|
||||||
ImGui::PopStyleColor(4);
|
ImGui::PopStyleColor(4);
|
||||||
ImGui::PopStyleVar(1);
|
ImGui::PopStyleVar(1);
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::DragFloat("##Z", &values.z, 0.1f);
|
ImGui::DragFloat("##Z", &values.z, 0.1f, 0.0f, 0.0f, "%.2f");
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
|
|
||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
|
|||||||
@@ -17,6 +17,11 @@ namespace OpenEngine {
|
|||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Scene::DeleteEntity(Entity entity)
|
||||||
|
{
|
||||||
|
registry.destroy(entity);
|
||||||
|
}
|
||||||
|
|
||||||
void Scene::OnUpdate()
|
void Scene::OnUpdate()
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
|||||||
255
open_engine/src/open_engine/scene/scene_serializer.cpp
Normal file
255
open_engine/src/open_engine/scene/scene_serializer.cpp
Normal file
@@ -0,0 +1,255 @@
|
|||||||
|
#include <pch.hpp>
|
||||||
|
|
||||||
|
#include "core.hpp"
|
||||||
|
#include <scene/scene_serializer.hpp>
|
||||||
|
#include "scene/components.hpp"
|
||||||
|
#include "scene/entity.hpp"
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
#include <yaml-cpp/emittermanip.h>
|
||||||
|
#include <yaml-cpp/yaml.h>
|
||||||
|
|
||||||
|
namespace YAML {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct convert<glm::vec3>
|
||||||
|
{
|
||||||
|
static Node encode(const glm::vec3& rhs)
|
||||||
|
{
|
||||||
|
Node node;
|
||||||
|
node.push_back(rhs.x);
|
||||||
|
node.push_back(rhs.y);
|
||||||
|
node.push_back(rhs.z);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool decode(const Node& node, glm::vec3& rhs)
|
||||||
|
{
|
||||||
|
if (!node.IsSequence() || node.size() != 3)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
rhs.x = node[0].as<float>();
|
||||||
|
rhs.y = node[1].as<float>();
|
||||||
|
rhs.z = node[2].as<float>();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct convert<glm::vec4>
|
||||||
|
{
|
||||||
|
static Node encode(const glm::vec4& rhs)
|
||||||
|
{
|
||||||
|
Node node;
|
||||||
|
node.push_back(rhs.x);
|
||||||
|
node.push_back(rhs.y);
|
||||||
|
node.push_back(rhs.z);
|
||||||
|
node.push_back(rhs.w);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool decode(const Node& node, glm::vec4& rhs)
|
||||||
|
{
|
||||||
|
if (!node.IsSequence() || node.size() != 4)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
rhs.x = node[0].as<float>();
|
||||||
|
rhs.y = node[1].as<float>();
|
||||||
|
rhs.z = node[2].as<float>();
|
||||||
|
rhs.w = node[3].as<float>();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace OpenEngine {
|
||||||
|
|
||||||
|
YAML::Emitter& operator<<(YAML::Emitter& out, const glm::vec3& v)
|
||||||
|
{
|
||||||
|
out << YAML::Flow;
|
||||||
|
out << YAML::BeginSeq << v.x << v.y << v.z << YAML::EndSeq;
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
YAML::Emitter& operator<<(YAML::Emitter& out, const glm::vec4& v)
|
||||||
|
{
|
||||||
|
out << YAML::Flow;
|
||||||
|
out << YAML::BeginSeq << v.x << v.y << v.z << v.w << YAML::EndSeq;
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
SceneSerializer::SceneSerializer(const Ref<Scene>& scene)
|
||||||
|
: context(scene)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void SerializeEntity(YAML::Emitter& out, Entity entity)
|
||||||
|
{
|
||||||
|
out << YAML::BeginMap;
|
||||||
|
out << YAML::Key << "Entity" << YAML::Value << "412741205"; // Needs random
|
||||||
|
|
||||||
|
if (entity.HasComponent<TagComponent>())
|
||||||
|
{
|
||||||
|
out << YAML::Key << "TagComponent";
|
||||||
|
out << YAML::BeginMap; // TagComponent
|
||||||
|
|
||||||
|
auto& tag = entity.GetComponents<TagComponent>().tag;
|
||||||
|
out << YAML::Key << "Tag" << YAML::Value << tag;
|
||||||
|
|
||||||
|
out << YAML::EndMap; // TagComponent
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entity.HasComponent<TransformComponent>())
|
||||||
|
{
|
||||||
|
out << YAML::Key << "TransformComponent";
|
||||||
|
out << YAML::BeginMap; // TransformComponent
|
||||||
|
|
||||||
|
auto& tc = entity.GetComponents<TransformComponent>();
|
||||||
|
out << YAML::Key << "Translation" << YAML::Value << tc.translation;
|
||||||
|
out << YAML::Key << "Rotation" << YAML::Value << tc.rotation;
|
||||||
|
out << YAML::Key << "Scale" << YAML::Value << tc.scale;
|
||||||
|
|
||||||
|
out << YAML::EndMap; // TransformComponent
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entity.HasComponent<CameraComponent>())
|
||||||
|
{
|
||||||
|
out << YAML::Key << "CameraComponent";
|
||||||
|
out << YAML::BeginMap; // CameraComponent
|
||||||
|
|
||||||
|
auto& cameraComponent = entity.GetComponents<CameraComponent>();
|
||||||
|
auto& camera = cameraComponent.camera;
|
||||||
|
|
||||||
|
out << YAML::Key << "Camera" << YAML::Value;
|
||||||
|
out << YAML::BeginMap; // Camera
|
||||||
|
out << YAML::Key << "ProjectionType" << YAML::Value << (int)camera.GetProjectionType();
|
||||||
|
out << YAML::Key << "PerspectiveFOV" << YAML::Value << camera.GetVerticalFov();
|
||||||
|
out << YAML::Key << "PerspectiveNear" << YAML::Value << camera.GetPerspectiveNearClip();
|
||||||
|
out << YAML::Key << "PerspectiveFar" << YAML::Value << camera.GetPerspectiveFarClip();
|
||||||
|
out << YAML::Key << "OrthographicSize" << YAML::Value << camera.GetOrthographicSize();
|
||||||
|
out << YAML::Key << "OrthographicNear" << YAML::Value << camera.GetOrthographicNearClip();
|
||||||
|
out << YAML::Key << "OrthographicFar" << YAML::Value << camera.GetOrthographicFarClip();
|
||||||
|
out << YAML::EndMap; // Camera
|
||||||
|
|
||||||
|
out << YAML::Key << "Primary" << YAML::Value << cameraComponent.primary;
|
||||||
|
out << YAML::Key << "FixedAspectRatio" << YAML::Value << cameraComponent.fixed_aspect_ratio;
|
||||||
|
|
||||||
|
out << YAML::EndMap; // CameraComponent
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entity.HasComponent<SpriteRendererComponent>())
|
||||||
|
{
|
||||||
|
out << YAML::Key << "SpriteRendererComponent";
|
||||||
|
out << YAML::BeginMap; // SpriteRendererComponent
|
||||||
|
|
||||||
|
auto& spriteRendererComponent = entity.GetComponents<SpriteRendererComponent>();
|
||||||
|
out << YAML::Key << "Color" << YAML::Value << spriteRendererComponent.color;
|
||||||
|
|
||||||
|
out << YAML::EndMap; // SpriteRendererComponent
|
||||||
|
}
|
||||||
|
|
||||||
|
out << YAML::EndMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SceneSerializer::Serialize(const std::string& file_path)
|
||||||
|
{
|
||||||
|
YAML::Emitter out;
|
||||||
|
|
||||||
|
out << YAML::BeginMap;
|
||||||
|
out << YAML::Key << "Scene" << YAML::Value << "N/A";
|
||||||
|
out << YAML::Key << "Entities" << YAML::Value << YAML::BeginSeq;
|
||||||
|
for (auto entity_id : context->registry.view<entt::entity>()) {
|
||||||
|
Entity entity = { entity_id, context.get()};
|
||||||
|
if (!entity)
|
||||||
|
return;
|
||||||
|
|
||||||
|
SerializeEntity(out, entity);
|
||||||
|
}
|
||||||
|
out << YAML::EndSeq;
|
||||||
|
out << YAML::EndMap;
|
||||||
|
|
||||||
|
std::ofstream fout(file_path);
|
||||||
|
fout << out.c_str();
|
||||||
|
}
|
||||||
|
void SceneSerializer::SerializeRuntime(const std::string& file_path)
|
||||||
|
{
|
||||||
|
OE_CORE_ASSERT(false, "Not implemented yet");
|
||||||
|
}
|
||||||
|
|
||||||
|
bool SceneSerializer::Deserialize(const std::string& file_path)
|
||||||
|
{
|
||||||
|
std::ifstream stream(file_path);
|
||||||
|
std::stringstream strStream;
|
||||||
|
strStream << stream.rdbuf();
|
||||||
|
|
||||||
|
YAML::Node data = YAML::Load(strStream.str());
|
||||||
|
if (!data["Scene"])
|
||||||
|
return false;
|
||||||
|
|
||||||
|
std::string sceneName = data["Scene"].as<std::string>();
|
||||||
|
OE_CORE_TRACE("Deserializing scene '{0}'", sceneName);
|
||||||
|
|
||||||
|
auto entities = data["Entities"];
|
||||||
|
if (entities)
|
||||||
|
{
|
||||||
|
for (auto entity : entities)
|
||||||
|
{
|
||||||
|
uint64_t uuid = entity["Entity"].as<uint64_t>(); // TODO
|
||||||
|
|
||||||
|
std::string name;
|
||||||
|
auto tagComponent = entity["TagComponent"];
|
||||||
|
if (tagComponent)
|
||||||
|
name = tagComponent["Tag"].as<std::string>();
|
||||||
|
|
||||||
|
OE_CORE_TRACE("Deserialized entity with ID = {0}, name = {1}", uuid, name);
|
||||||
|
|
||||||
|
Entity deserializedEntity = context->CreateEntity(name);
|
||||||
|
|
||||||
|
auto transformComponent = entity["TransformComponent"];
|
||||||
|
if (transformComponent)
|
||||||
|
{
|
||||||
|
auto& tc = deserializedEntity.AddComponents<TransformComponent>();
|
||||||
|
tc.translation = transformComponent["Translation"].as<glm::vec3>();
|
||||||
|
tc.rotation = transformComponent["Rotation"].as<glm::vec3>();
|
||||||
|
tc.scale = transformComponent["Scale"].as<glm::vec3>();
|
||||||
|
}
|
||||||
|
|
||||||
|
auto cameraComponent = entity["CameraComponent"];
|
||||||
|
if (cameraComponent)
|
||||||
|
{
|
||||||
|
auto& cc = deserializedEntity.AddComponents<CameraComponent>();
|
||||||
|
|
||||||
|
auto camera_props = cameraComponent["Camera"];
|
||||||
|
cc.camera.SetProjectionType((SceneCamera::ProjectionType)camera_props["ProjectionType"].as<int>());
|
||||||
|
|
||||||
|
cc.camera.SetVerticalFov(camera_props["PerspectiveFOV"].as<float>());
|
||||||
|
cc.camera.SetPerspectiveNearClip(camera_props["PerspectiveNear"].as<float>());
|
||||||
|
cc.camera.SetPerspectiveFarClip(camera_props["PerspectiveFar"].as<float>());
|
||||||
|
|
||||||
|
cc.camera.SetOrthographicSize(camera_props["OrthographicSize"].as<float>());
|
||||||
|
cc.camera.SetOrthographicNearClip(camera_props["OrthographicNear"].as<float>());
|
||||||
|
cc.camera.SetOrthographicFarClip(camera_props["OrthographicFar"].as<float>());
|
||||||
|
|
||||||
|
cc.primary = cameraComponent["Primary"].as<bool>();
|
||||||
|
cc.fixed_aspect_ratio = cameraComponent["FixedAspectRatio"].as<bool>();
|
||||||
|
}
|
||||||
|
|
||||||
|
auto spriteRendererComponent = entity["SpriteRendererComponent"];
|
||||||
|
if (spriteRendererComponent)
|
||||||
|
{
|
||||||
|
auto& src = deserializedEntity.AddComponents<SpriteRendererComponent>();
|
||||||
|
src.color = spriteRendererComponent["Color"].as<glm::vec4>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool SceneSerializer::DeserializeRuntime(const std::string& file_path)
|
||||||
|
{
|
||||||
|
OE_CORE_ASSERT(false, "Not implemented yet");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user