parent
6cf95572d5
commit
9d782283f9
45 changed files with 132 additions and 6988 deletions
@ -1,12 +0,0 @@ |
||||
[submodule "bakara/vendor/glm"] |
||||
path = bakara/vendor/glm |
||||
url = https://github.com/g-truc/glm.git |
||||
[submodule "bakara/vendor/spdloglib"] |
||||
path = bakara/vendor/spdloglib |
||||
url = https://github.com/gabime/spdlog |
||||
[submodule "bakara/vendor/glfw"] |
||||
path = bakara/vendor/glfw |
||||
url = https://github.com/glfw/glfw |
||||
[submodule "bakara/vendor/imgui"] |
||||
path = bakara/vendor/imgui |
||||
url = https://github.com/ocornut/imgui |
@ -1,95 +0,0 @@ |
||||
project "bakara" |
||||
language "C++" |
||||
cppdialect "C++17" |
||||
|
||||
targetdir("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") |
||||
objdir("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") |
||||
|
||||
|
||||
files |
||||
{ |
||||
"vendor/glm/glm/**.hpp", |
||||
"vendor/glm/glm/**.inl", |
||||
"vendor/imgui/misc/cpp/imgui_stdlib.cpp", |
||||
"vendor/imgui/backends/imgui_impl_opengl3.cpp", |
||||
"vendor/imgui/backends/imgui_impl_glfw.cpp", |
||||
"src/**.h", |
||||
"src/**.cpp", |
||||
} |
||||
|
||||
defines |
||||
{ |
||||
"_CRT_SECURE_NO_WARNINGS", |
||||
"GLFW_INCLUDE_NONE", |
||||
"IMGUI_IMPL_OPENGL_LOADER_GLAD" |
||||
} |
||||
|
||||
includedirs |
||||
{ |
||||
"%{IncludeDirs.bakara}", |
||||
"%{IncludeDirs.glm}", |
||||
"%{IncludeDirs.spdlog}", |
||||
"%{IncludeDirs.glad}", |
||||
"%{IncludeDirs.glfw}", |
||||
"%{IncludeDirs.imgui}" |
||||
|
||||
} |
||||
|
||||
links |
||||
{ |
||||
"GLFW", |
||||
"GLAD", |
||||
"ImGui" |
||||
} |
||||
|
||||
filter "configurations:Debug" |
||||
defines |
||||
{ |
||||
"BK_DEBUG", |
||||
"DEBUG" |
||||
} |
||||
runtime "Debug" |
||||
symbols "on" |
||||
|
||||
|
||||
filter "configurations:Release" |
||||
defines |
||||
{ |
||||
"BK_RELEASE", |
||||
"NDEBUG" |
||||
} |
||||
runtime "Release" |
||||
optimize "on" |
||||
|
||||
filter "system:windows" |
||||
kind "StaticLib" |
||||
staticruntime "on" |
||||
defines |
||||
{ |
||||
"BK_PLATFORM_WINDOWS" |
||||
} |
||||
|
||||
links |
||||
{ |
||||
"opengl32.lib" |
||||
} |
||||
|
||||
filter "system:linux" |
||||
kind "SharedLib" |
||||
staticruntime "off" |
||||
|
||||
files |
||||
{ |
||||
"vendor/glm/glm/**.cpp" |
||||
} |
||||
|
||||
defines |
||||
{ |
||||
"BK_PLATFORM_LINUX" |
||||
} |
||||
|
||||
links |
||||
{ |
||||
"GL" |
||||
} |
||||
|
@ -1,311 +0,0 @@ |
||||
#ifndef __khrplatform_h_ |
||||
#define __khrplatform_h_ |
||||
|
||||
/*
|
||||
** Copyright (c) 2008-2018 The Khronos Group Inc. |
||||
** |
||||
** Permission is hereby granted, free of charge, to any person obtaining a |
||||
** copy of this software and/or associated documentation files (the |
||||
** "Materials"), to deal in the Materials without restriction, including |
||||
** without limitation the rights to use, copy, modify, merge, publish, |
||||
** distribute, sublicense, and/or sell copies of the Materials, and to |
||||
** permit persons to whom the Materials are furnished to do so, subject to |
||||
** the following conditions: |
||||
** |
||||
** The above copyright notice and this permission notice shall be included |
||||
** in all copies or substantial portions of the Materials. |
||||
** |
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. |
||||
*/ |
||||
|
||||
/* Khronos platform-specific types and definitions.
|
||||
* |
||||
* The master copy of khrplatform.h is maintained in the Khronos EGL |
||||
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||
* The last semantic modification to khrplatform.h was at commit ID: |
||||
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692 |
||||
* |
||||
* Adopters may modify this file to suit their platform. Adopters are |
||||
* encouraged to submit platform specific modifications to the Khronos |
||||
* group so that they can be included in future versions of this file. |
||||
* Please submit changes by filing pull requests or issues on |
||||
* the EGL Registry repository linked above. |
||||
* |
||||
* |
||||
* See the Implementer's Guidelines for information about where this file |
||||
* should be located on your system and for more details of its use: |
||||
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||
* |
||||
* This file should be included as |
||||
* #include <KHR/khrplatform.h> |
||||
* by Khronos client API header files that use its types and defines. |
||||
* |
||||
* The types in khrplatform.h should only be used to define API-specific types. |
||||
* |
||||
* Types defined in khrplatform.h: |
||||
* khronos_int8_t signed 8 bit |
||||
* khronos_uint8_t unsigned 8 bit |
||||
* khronos_int16_t signed 16 bit |
||||
* khronos_uint16_t unsigned 16 bit |
||||
* khronos_int32_t signed 32 bit |
||||
* khronos_uint32_t unsigned 32 bit |
||||
* khronos_int64_t signed 64 bit |
||||
* khronos_uint64_t unsigned 64 bit |
||||
* khronos_intptr_t signed same number of bits as a pointer |
||||
* khronos_uintptr_t unsigned same number of bits as a pointer |
||||
* khronos_ssize_t signed size |
||||
* khronos_usize_t unsigned size |
||||
* khronos_float_t signed 32 bit floating point |
||||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds |
||||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in |
||||
* nanoseconds |
||||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds |
||||
* khronos_boolean_enum_t enumerated boolean type. This should |
||||
* only be used as a base type when a client API's boolean type is |
||||
* an enum. Client APIs which use an integer or other type for |
||||
* booleans cannot use this as the base type for their boolean. |
||||
* |
||||
* Tokens defined in khrplatform.h: |
||||
* |
||||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. |
||||
* |
||||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. |
||||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. |
||||
* |
||||
* Calling convention macros defined in this file: |
||||
* KHRONOS_APICALL |
||||
* KHRONOS_APIENTRY |
||||
* KHRONOS_APIATTRIBUTES |
||||
* |
||||
* These may be used in function prototypes as: |
||||
* |
||||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname( |
||||
* int arg1, |
||||
* int arg2) KHRONOS_APIATTRIBUTES; |
||||
*/ |
||||
|
||||
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) |
||||
# define KHRONOS_STATIC 1 |
||||
#endif |
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APICALL |
||||
*------------------------------------------------------------------------- |
||||
* This precedes the return type of the function in the function prototype. |
||||
*/ |
||||
#if defined(KHRONOS_STATIC) |
||||
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||
* header compatible with static linking. */ |
||||
# define KHRONOS_APICALL |
||||
#elif defined(_WIN32) |
||||
# define KHRONOS_APICALL __declspec(dllimport) |
||||
#elif defined (__SYMBIAN32__) |
||||
# define KHRONOS_APICALL IMPORT_C |
||||
#elif defined(__ANDROID__) |
||||
# define KHRONOS_APICALL __attribute__((visibility("default"))) |
||||
#else |
||||
# define KHRONOS_APICALL |
||||
#endif |
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIENTRY |
||||
*------------------------------------------------------------------------- |
||||
* This follows the return type of the function and precedes the function |
||||
* name in the function prototype. |
||||
*/ |
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) |
||||
/* Win32 but not WinCE */ |
||||
# define KHRONOS_APIENTRY __stdcall |
||||
#else |
||||
# define KHRONOS_APIENTRY |
||||
#endif |
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIATTRIBUTES |
||||
*------------------------------------------------------------------------- |
||||
* This follows the closing parenthesis of the function prototype arguments. |
||||
*/ |
||||
#if defined (__ARMCC_2__) |
||||
#define KHRONOS_APIATTRIBUTES __softfp |
||||
#else |
||||
#define KHRONOS_APIATTRIBUTES |
||||
#endif |
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* basic type definitions |
||||
*-----------------------------------------------------------------------*/ |
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) |
||||
|
||||
|
||||
/*
|
||||
* Using <stdint.h> |
||||
*/ |
||||
#include <stdint.h> |
||||
typedef int32_t khronos_int32_t; |
||||
typedef uint32_t khronos_uint32_t; |
||||
typedef int64_t khronos_int64_t; |
||||
typedef uint64_t khronos_uint64_t; |
||||
#define KHRONOS_SUPPORT_INT64 1 |
||||
#define KHRONOS_SUPPORT_FLOAT 1 |
||||
/*
|
||||
* To support platform where unsigned long cannot be used interchangeably with |
||||
* inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. |
||||
* Ideally, we could just use (u)intptr_t everywhere, but this could result in |
||||
* ABI breakage if khronos_uintptr_t is changed from unsigned long to |
||||
* unsigned long long or similar (this results in different C++ name mangling). |
||||
* To avoid changes for existing platforms, we restrict usage of intptr_t to |
||||
* platforms where the size of a pointer is larger than the size of long. |
||||
*/ |
||||
#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) |
||||
#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ |
||||
#define KHRONOS_USE_INTPTR_T |
||||
#endif |
||||
#endif |
||||
|
||||
#elif defined(__VMS ) || defined(__sgi) |
||||
|
||||
/*
|
||||
* Using <inttypes.h> |
||||
*/ |
||||
#include <inttypes.h> |
||||
typedef int32_t khronos_int32_t; |
||||
typedef uint32_t khronos_uint32_t; |
||||
typedef int64_t khronos_int64_t; |
||||
typedef uint64_t khronos_uint64_t; |
||||
#define KHRONOS_SUPPORT_INT64 1 |
||||
#define KHRONOS_SUPPORT_FLOAT 1 |
||||
|
||||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) |
||||
|
||||
/*
|
||||
* Win32 |
||||
*/ |
||||
typedef __int32 khronos_int32_t; |
||||
typedef unsigned __int32 khronos_uint32_t; |
||||
typedef __int64 khronos_int64_t; |
||||
typedef unsigned __int64 khronos_uint64_t; |
||||
#define KHRONOS_SUPPORT_INT64 1 |
||||
#define KHRONOS_SUPPORT_FLOAT 1 |
||||
|
||||
#elif defined(__sun__) || defined(__digital__) |
||||
|
||||
/*
|
||||
* Sun or Digital |
||||
*/ |
||||
typedef int khronos_int32_t; |
||||
typedef unsigned int khronos_uint32_t; |
||||
#if defined(__arch64__) || defined(_LP64) |
||||
typedef long int khronos_int64_t; |
||||
typedef unsigned long int khronos_uint64_t; |
||||
#else |
||||
typedef long long int khronos_int64_t; |
||||
typedef unsigned long long int khronos_uint64_t; |
||||
#endif /* __arch64__ */ |
||||
#define KHRONOS_SUPPORT_INT64 1 |
||||
#define KHRONOS_SUPPORT_FLOAT 1 |
||||
|
||||
#elif 0 |
||||
|
||||
/*
|
||||
* Hypothetical platform with no float or int64 support |
||||
*/ |
||||
typedef int khronos_int32_t; |
||||
typedef unsigned int khronos_uint32_t; |
||||
#define KHRONOS_SUPPORT_INT64 0 |
||||
#define KHRONOS_SUPPORT_FLOAT 0 |
||||
|
||||
#else |
||||
|
||||
/*
|
||||
* Generic fallback |
||||
*/ |
||||
#include <stdint.h> |
||||
typedef int32_t khronos_int32_t; |
||||
typedef uint32_t khronos_uint32_t; |
||||
typedef int64_t khronos_int64_t; |
||||
typedef uint64_t khronos_uint64_t; |
||||
#define KHRONOS_SUPPORT_INT64 1 |
||||
#define KHRONOS_SUPPORT_FLOAT 1 |
||||
|
||||
#endif |
||||
|
||||
|
||||
/*
|
||||
* Types that are (so far) the same on all platforms |
||||
*/ |
||||
typedef signed char khronos_int8_t; |
||||
typedef unsigned char khronos_uint8_t; |
||||
typedef signed short int khronos_int16_t; |
||||
typedef unsigned short int khronos_uint16_t; |
||||
|
||||
/*
|
||||
* Types that differ between LLP64 and LP64 architectures - in LLP64, |
||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears |
||||
* to be the only LLP64 architecture in current use. |
||||
*/ |
||||
#ifdef KHRONOS_USE_INTPTR_T |
||||
typedef intptr_t khronos_intptr_t; |
||||
typedef uintptr_t khronos_uintptr_t; |
||||
#elif defined(_WIN64) |
||||
typedef signed long long int khronos_intptr_t; |
||||
typedef unsigned long long int khronos_uintptr_t; |
||||
#else |
||||
typedef signed long int khronos_intptr_t; |
||||
typedef unsigned long int khronos_uintptr_t; |
||||
#endif |
||||
|
||||
#if defined(_WIN64) |
||||
typedef signed long long int khronos_ssize_t; |
||||
typedef unsigned long long int khronos_usize_t; |
||||
#else |
||||
typedef signed long int khronos_ssize_t; |
||||
typedef unsigned long int khronos_usize_t; |
||||
#endif |
||||
|
||||
#if KHRONOS_SUPPORT_FLOAT |
||||
/*
|
||||
* Float type |
||||
*/ |
||||
typedef float khronos_float_t; |
||||
#endif |
||||
|
||||
#if KHRONOS_SUPPORT_INT64 |
||||
/* Time types
|
||||
* |
||||
* These types can be used to represent a time interval in nanoseconds or |
||||
* an absolute Unadjusted System Time. Unadjusted System Time is the number |
||||
* of nanoseconds since some arbitrary system event (e.g. since the last |
||||
* time the system booted). The Unadjusted System Time is an unsigned |
||||
* 64 bit value that wraps back to 0 every 584 years. Time intervals |
||||
* may be either signed or unsigned. |
||||
*/ |
||||
typedef khronos_uint64_t khronos_utime_nanoseconds_t; |
||||
typedef khronos_int64_t khronos_stime_nanoseconds_t; |
||||
#endif |
||||
|
||||
/*
|
||||
* Dummy value used to pad enum types to 32 bits. |
||||
*/ |
||||
#ifndef KHRONOS_MAX_ENUM |
||||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF |
||||
#endif |
||||
|
||||
/*
|
||||
* Enumerated boolean type |
||||
* |
||||
* Values other than zero should be considered to be true. Therefore |
||||
* comparisons should not be made against KHRONOS_TRUE. |
||||
*/ |
||||
typedef enum { |
||||
KHRONOS_FALSE = 0, |
||||
KHRONOS_TRUE = 1, |
||||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM |
||||
} khronos_boolean_enum_t; |
||||
|
||||
#endif /* __khrplatform_h_ */ |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@ |
||||
Subproject commit 8e6c8d7effc54f8aecd30eda17069588298f4ada |
@ -1 +0,0 @@ |
||||
Subproject commit b06b775c1c80af51a1183c0e167f9de3b2351a79 |
@ -1 +0,0 @@ |
||||
Subproject commit 96839b445e32e46d87a44fd43a9cdd60c806f7e1 |
@ -1,157 +0,0 @@ |
||||
project "GLFW" |
||||
location "./glfw" |
||||
kind "StaticLib" |
||||
language "C" |
||||
|
||||
targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") |
||||
objdir ("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") |
||||
|
||||
includedirs { "%{prj.location}/include" } |
||||
|
||||
files |
||||
{ |
||||
"%{prj.location}/src/internal.h", |
||||
"%{prj.location}/src/platform.h", |
||||
"%{prj.location}/src/mappings.h", |
||||
"%{prj.location}/src/context.c", |
||||
"%{prj.location}/src/init.c", |
||||
"%{prj.location}/src/input.c", |
||||
"%{prj.location}/src/monitor.c", |
||||
"%{prj.location}/src/window.c", |
||||
"%{prj.location}/src/platform.c", |
||||
"%{prj.location}/src/vulkan.c", |
||||
"%{prj.location}/src/null_init.c", |
||||
"%{prj.location}/src/null_monitor.c", |
||||
"%{prj.location}/src/null_window.c", |
||||
"%{prj.location}/src/null_joystick.c", |
||||
"%{prj.location}/src/glfw_config.h", |
||||
"%{prj.location}/include/GLFW/glfw3native.h", |
||||
"%{prj.location}/include/GLFW/glfw3.h", |
||||
"include/GLFW/glfw3.h", |
||||
"include/GLFW/glfw3native.h", |
||||
} |
||||
|
||||
filter "system:linux" |
||||
pic "On" |
||||
|
||||
systemversion "latest" |
||||
|
||||
files |
||||
{ |
||||
"%{prj.location}/src/x11_init.c", |
||||
"%{prj.location}/src/x11_monitor.c", |
||||
"%{prj.location}/src/x11_window.c", |
||||
"%{prj.location}/src/xkb_unicode.c", |
||||
"%{prj.location}/src/posix_time.c", |
||||
"%{prj.location}/src/posix_module.c", |
||||
"%{prj.location}/src/posix_poll.c", |
||||
"%{prj.location}/src/posix_thread.c", |
||||
"%{prj.location}/src/glx_context.c", |
||||
"%{prj.location}/src/egl_context.c", |
||||
"%{prj.location}/src/osmesa_context.c", |
||||
"%{prj.location}/src/linux_joystick.c" |
||||
} |
||||
|
||||
defines |
||||
{ |
||||
"_GLFW_X11" |
||||
} |
||||
|
||||
filter "system:windows" |
||||
systemversion "latest" |
||||
staticruntime "On" |
||||
|
||||
files |
||||
{ |
||||
"%{prj.location}/src/win32_init.c", |
||||
"%{prj.location}/src/win32_joystick.c", |
||||
"%{prj.location}/src/win32_monitor.c", |
||||
"%{prj.location}/src/win32_time.c", |
||||
"%{prj.location}/src/win32_module.c", |
||||
"%{prj.location}/src/win32_thread.c", |
||||
"%{prj.location}/src/win32_window.c", |
||||
"%{prj.location}/src/wgl_context.c", |
||||
"%{prj.location}/src/egl_context.c", |
||||
"%{prj.location}/src/osmesa_context.c" |
||||
} |
||||
|
||||
defines |
||||
{ |
||||
"_GLFW_WIN32", |
||||
"_CRT_SECURE_NO_WARNINGS" |
||||
} |
||||
|
||||
filter "configurations:Debug" |
||||
runtime "Debug" |
||||
symbols "on" |
||||
|
||||
filter "configurations:Release" |
||||
runtime "Release" |
||||
optimize "on" |
||||
|
||||
project "GLAD" |
||||
location "./glad" |
||||
kind "StaticLib" |
||||
language "C" |
||||
systemversion "latest" |
||||
|
||||
targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") |
||||
objdir ("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") |
||||
|
||||
includedirs { "%{prj.location}/include" } |
||||
|
||||
buildoptions { "-fPIC" } |
||||
|
||||
files |
||||
{ |
||||
"%{prj.location}/src/glad.c", |
||||
"%{prj.location}/include/KHR/khrplatform.h", |
||||
"%{prj.location}/include/glad.h" |
||||
} |
||||
|
||||
filter "configurations:Debug" |
||||
runtime "Debug" |
||||
symbols "on" |
||||
|
||||
filter "configurations:Release" |
||||
runtime "Release" |
||||
optimize "on" |
||||
|
||||
project "ImGui" |
||||
location "./imgui" |
||||
kind "StaticLib" |
||||
language "C++" |
||||
systemversion "latest" |
||||
cppdialect "C++17" |
||||
staticruntime "On" |
||||
|
||||
targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") |
||||
objdir ("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") |
||||
|
||||
files |
||||
{ |
||||
"%{prj.location}/imconfig.h", |
||||
"%{prj.location}/imgui.h", |
||||
"%{prj.location}/imgui.cpp", |
||||
"%{prj.location}/imgui_draw.cpp", |
||||
"%{prj.location}/imgui_internal.h", |
||||
"%{prj.location}/imgui_widgets.cpp", |
||||
"%{prj.location}/imstb_rectpack.h", |
||||
"%{prj.location}/imstb_textedit.h", |
||||
"%{prj.location}/imstb_truetype.h", |
||||
"%{prj.location}/imgui_demo.cpp", |
||||
"%{prj.location}/imgui_tables.cpp", |
||||
|
||||
} |
||||
|
||||
|
||||
filter "system:linux" |
||||
pic "On" |
||||
|
||||
filter "configurations:Debug" |
||||
runtime "Debug" |
||||
symbols "on" |
||||
|
||||
filter "configurations:Release" |
||||
runtime "Release" |
||||
optimize "on" |
@ -1 +0,0 @@ |
||||
Subproject commit 696db97f672e9082e50e50af315d0f4234c82397 |
@ -1,57 +0,0 @@ |
||||
clear |
||||
echo ================== |
||||
echo [BUILDING PROJECT] |
||||
echo ================== |
||||
echo number of lines : |
||||
find ./bakara/src -name *.cpp -or -name *.h -exec cat {} \; | wc -l |
||||
if [ -z ${clear} ]; then |
||||
clear=0 |
||||
else |
||||
clear=1 |
||||
fi |
||||
if [ -z ${exec} ]; then |
||||
exec=0 |
||||
else |
||||
exec=1 |
||||
fi |
||||
|
||||
if [ 1 -eq ${clear} ]; then |
||||
echo Clearing bin/bin-int dirs |
||||
rm -rf bin bin-int |
||||
else |
||||
echo Caching bin/bin-int dirs |
||||
fi |
||||
echo |
||||
premake5 gmake |
||||
echo |
||||
make $1 |
||||
if [ $? -eq 0 ]; then |
||||
echo Compilation Success |
||||
echo ================ |
||||
echo [FINISHED BUILD] |
||||
echo ================ |
||||
|
||||
if [ 1 -eq ${exec} ]; then |
||||
config=$1 |
||||
if [ -z "$config" ]; then |
||||
config="config=debug" |
||||
fi |
||||
if [ "config=debug" == "$config" ]; then |
||||
echo |
||||
echo ============== |
||||
echo [STARTING APP] |
||||
echo ============== |
||||
echo Config: Debug |
||||
bin/linux-x86_64-Debug/sandbox/sandbox |
||||
elif [ "config=release" == "$config" ]; then |
||||
echo [STARTING APP] |
||||
echo [Config: Release] |
||||
bin/linux-x86_64-Release/sandbox/sandbox |
||||
else |
||||
echo [Aborted Launch] |
||||
echo [Config Unknown] |
||||
fi |
||||
fi |
||||
else |
||||
echo Error will compiling |
||||
fi |
@ -0,0 +1,11 @@ |
||||
IncludeDirs["bakara"] = "%{wks.location}/vendor/bakara/src" |
||||
IncludeDirs["spdlog"] = "%{wks.location}/vendor/spdlog/include" |
||||
IncludeDirs["glm"] = "%{wks.location}/vendor/glm" |
||||
|
||||
group "Bakara" |
||||
include "vendor/bakara" |
||||
include "vendor/glfw" |
||||
include "vendor/glad" |
||||
include "vendor/imgui" |
||||
group "" |
||||
|
@ -0,0 +1,38 @@ |
||||
{ |
||||
"name": "Bakara", |
||||
"owner": "anulax1225", |
||||
"git": "https://github.com/anulax1225/bakara", |
||||
"links": |
||||
[ |
||||
"bakara" |
||||
], |
||||
"includes": |
||||
[ |
||||
"bakara", |
||||
"spdlog", |
||||
"glm" |
||||
], |
||||
"packages": |
||||
[ |
||||
{ |
||||
"author": "gabime", |
||||
"name": "spdlog" |
||||
}, |
||||
{ |
||||
"author": "anulax1225", |
||||
"name": "glm" |
||||
}, |
||||
{ |
||||
"author": "anulax1225", |
||||
"name": "glfw" |
||||
}, |
||||
{ |
||||
"author": "anulax1225", |
||||
"name": "glad" |
||||
}, |
||||
{ |
||||
"author": "anulax1225", |
||||
"name": "imgui" |
||||
} |
||||
] |
||||
} |
@ -1,39 +1,95 @@ |
||||
workspace "Bakara" |
||||
architecture "x64" |
||||
configurations { "Debug", "Release" } |
||||
startproject "sandbox" |
||||
project "bakara" |
||||
language "C++" |
||||
cppdialect "C++17" |
||||
|
||||
flags |
||||
{ |
||||
"MultiProcessorCompile" |
||||
} |
||||
targetdir("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") |
||||
objdir("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") |
||||
|
||||
linkgroups "On" |
||||
|
||||
outputdir = "%{cfg.system}-%{cfg.architecture}-%{cfg.buildcfg}" |
||||
files |
||||
{ |
||||
"vendor/glm/glm/**.hpp", |
||||
"vendor/glm/glm/**.inl", |
||||
"vendor/imgui/misc/cpp/imgui_stdlib.cpp", |
||||
"vendor/imgui/backends/imgui_impl_opengl3.cpp", |
||||
"vendor/imgui/backends/imgui_impl_glfw.cpp", |
||||
"src/**.h", |
||||
"src/**.cpp", |
||||
} |
||||
|
||||
IncludeDirs = {} |
||||
IncludeDirs["bakara"] = "%{wks.location}/bakara/src" |
||||
IncludeDirs["vendor"] = "%{wks.location}/bakara/vendor" |
||||
IncludeDirs["spdlog"] = "%{wks.location}/bakara/vendor/spdloglib/include" |
||||
IncludeDirs["glm"] = "%{wks.location}/bakara/vendor/glm" |
||||
IncludeDirs["glfw"] = "%{wks.location}/bakara/vendor/glfw/include" |
||||
IncludeDirs["glad"] = "%{wks.location}/bakara/vendor/glad/include" |
||||
IncludeDirs["imgui"] = "%{wks.location}/bakara/vendor/imgui" |
||||
defines |
||||
{ |
||||
"_CRT_SECURE_NO_WARNINGS", |
||||
"GLFW_INCLUDE_NONE", |
||||
"IMGUI_IMPL_OPENGL_LOADER_GLAD" |
||||
} |
||||
|
||||
includedirs |
||||
{ |
||||
"%{IncludeDirs.bakara}", |
||||
"%{IncludeDirs.glm}", |
||||
"%{IncludeDirs.spdlog}", |
||||
"%{IncludeDirs.glad}", |
||||
"%{IncludeDirs.glfw}", |
||||
"%{IncludeDirs.imgui}" |
||||
|
||||
group "Dependencies" |
||||
include "bakara/vendor" |
||||
group "" |
||||
} |
||||
|
||||
group "Core" |
||||
include "bakara" |
||||
group "" |
||||
links |
||||
{ |
||||
"GLFW", |
||||
"GLAD", |
||||
"ImGui" |
||||
} |
||||
|
||||
group "App" |
||||
include "sandbox" |
||||
group "" |
||||
filter "configurations:Debug" |
||||
defines |
||||
{ |
||||
"BK_DEBUG", |
||||
"DEBUG" |
||||
} |
||||
runtime "Debug" |
||||
symbols "on" |
||||
|
||||
|
||||
filter "configurations:Release" |
||||
defines |
||||
{ |
||||
"BK_RELEASE", |
||||
"NDEBUG" |
||||
} |
||||
runtime "Release" |
||||
optimize "on" |
||||
|
||||
filter "system:windows" |
||||
kind "StaticLib" |
||||
staticruntime "on" |
||||
defines |
||||
{ |
||||
"BK_PLATFORM_WINDOWS" |
||||
} |
||||
|
||||
links |
||||
{ |
||||
"opengl32.lib" |
||||
} |
||||
|
||||
filter "system:linux" |
||||
kind "SharedLib" |
||||
staticruntime "off" |
||||
|
||||
files |
||||
{ |
||||
"vendor/glm/glm/**.cpp" |
||||
} |
||||
|
||||
defines |
||||
{ |
||||
"BK_PLATFORM_LINUX" |
||||
} |
||||
|
||||
links |
||||
{ |
||||
"GL" |
||||
} |
||||
|
||||
|
@ -1,59 +0,0 @@ |
||||
project "sandbox" |
||||
kind "ConsoleApp" |
||||
language "C++" |
||||
cppdialect "C++17" |
||||
systemversion "latest" |
||||
|
||||
targetdir("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") |
||||
objdir("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") |
||||
files |
||||
{ |
||||
"src/**.h", |
||||
"src/**.cpp" |
||||
} |
||||
|
||||
includedirs |
||||
{ |
||||
"%{IncludeDirs.bakara}", |
||||
"%{IncludeDirs.spdlog}", |
||||
"%{IncludeDirs.glm}" |
||||
} |
||||
|
||||
links |
||||
{ |
||||
"bakara" |
||||
} |
||||
|
||||
|
||||
filter "configurations:Debug" |
||||
defines |
||||
{ |
||||
"BK_DEBUG", |
||||
"DEBUG" |
||||
} |
||||
runtime "Debug" |
||||
symbols "on" |
||||
|
||||
|
||||
filter "configurations:Release" |
||||
defines |
||||
{ |
||||
"BK_RELEASE", |
||||
"NDEBUG" |
||||
} |
||||
runtime "Release" |
||||
optimize "on" |
||||
|
||||
filter "system:windows" |
||||
staticruntime "on" |
||||
defines |
||||
{ |
||||
"BK_PLATFORM_WINDOWS" |
||||
} |
||||
|
||||
filter "system:linux" |
||||
staticruntime "on" |
||||
defines |
||||
{ |
||||
"BK_PLATFORM_LINUX" |
||||
} |
Binary file not shown.
Loading…
Reference in New Issue