From bf958cc2a946f63a8af348e18d4853832bfbe850 Mon Sep 17 00:00:00 2001 From: Isuru Samarathunga Date: Fri, 4 Jul 2025 20:14:29 +0530 Subject: [PATCH] Initial --- .clang-format | 12 +++++ .gitignore | 50 ++++++++++++++++++ .gitmodules | 3 ++ .vscode/launch.json | 20 +++++++ .vscode/settings.json | 72 ++++++++++++++++++++++++++ .vscode/tasks.json | 19 +++++++ CMakeLists.txt | 15 ++++++ Dependencies/IACore | 1 + Src/IAESandbox/CMakeLists.txt | 10 ++++ Src/IAESandbox/imp/cpp/Main.cpp | 7 +++ Src/IAEngine/CMakeLists.txt | 11 ++++ Src/IAEngine/imp/cpp/IAEngine.cpp | 6 +++ Src/IAEngine/inc/IAEngine/IAEngine.hpp | 9 ++++ 13 files changed, 235 insertions(+) create mode 100644 .clang-format create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 CMakeLists.txt create mode 160000 Dependencies/IACore create mode 100644 Src/IAESandbox/CMakeLists.txt create mode 100644 Src/IAESandbox/imp/cpp/Main.cpp create mode 100644 Src/IAEngine/CMakeLists.txt create mode 100644 Src/IAEngine/imp/cpp/IAEngine.cpp create mode 100644 Src/IAEngine/inc/IAEngine/IAEngine.hpp diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..5dcdeb6 --- /dev/null +++ b/.clang-format @@ -0,0 +1,12 @@ +--- +BasedOnStyle: Microsoft +IndentWidth: 4 +--- +Language: Cpp +FixNamespaceComments: true +NamespaceIndentation: All +SeparateDefinitionBlocks: Always +SortIncludes: CaseSensitive +SpaceAfterCStyleCast: true +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b3ffba9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +# ---> C++ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# ---> VisualStudioCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +.cache/ +build/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c72ee5d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Dependencies/IACore"] + path = Dependencies/IACore + url = https://git.iasoft.dev/dev0/IACore diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..764619e --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++: debiug", + "type": "cppvsdbg", + "request": "launch", + "program": "${workspaceFolder}/build/bin/IAESandbox.exe", + "args": [], + "stopAtEntry": false, + "cwd": "${workspaceFolder}/", + "environment": [], + "preLaunchTask": "build", + "console": "integratedTerminal" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5383c6a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,72 @@ +{ + "files.associations": { + "stdexcept": "cpp", + "chrono": "cpp", + "forward_list": "cpp", + "initializer_list": "cpp", + "list": "cpp", + "vector": "cpp", + "xhash": "cpp", + "xiosbase": "cpp", + "xstring": "cpp", + "xutility": "cpp", + "format": "cpp", + "functional": "cpp", + "filesystem": "cpp", + "unordered_map": "cpp", + "algorithm": "cpp", + "iterator": "cpp", + "xmemory": "cpp", + "cmath": "cpp", + "atomic": "cpp", + "bit": "cpp", + "cctype": "cpp", + "charconv": "cpp", + "clocale": "cpp", + "codecvt": "cpp", + "compare": "cpp", + "concepts": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "exception": "cpp", + "fstream": "cpp", + "iomanip": "cpp", + "ios": "cpp", + "iosfwd": "cpp", + "istream": "cpp", + "limits": "cpp", + "locale": "cpp", + "memory": "cpp", + "new": "cpp", + "optional": "cpp", + "ratio": "cpp", + "sstream": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "string": "cpp", + "system_error": "cpp", + "thread": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "typeinfo": "cpp", + "utility": "cpp", + "xfacet": "cpp", + "xlocale": "cpp", + "xlocbuf": "cpp", + "xlocinfo": "cpp", + "xlocmes": "cpp", + "xlocmon": "cpp", + "xlocnum": "cpp", + "xloctime": "cpp", + "xtr1common": "cpp", + "iostream": "cpp", + "map": "cpp", + "ostream": "cpp", + "xtree": "cpp" + } +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..4b7c314 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,19 @@ +{ + "tasks": [ + { + "label": "build", + "type": "shell", + "command": "cmake -S. -B./build -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ && cmake --build build", + "group": { + "kind": "build", + "isDefault": true + } + } + ], + "options": { + "env": { + "INCLUDE": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/include;C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/ATLMFC/include;C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include;C:/Program Files (x86)/Windows Kits/10/include/10.0.26100.0/ucrt;C:/Program Files (x86)/Windows Kits/10//include/10.0.26100.0//um;C:/Program Files (x86)/Windows Kits/10//include/10.0.26100.0//shared;C:/Program Files (x86)/Windows Kits/10//include/10.0.26100.0//winrt;C:/Program Files (x86)/Windows Kits/10//include/10.0.26100.0//cppwinrt;C:/Program Files (x86)/Windows Kits/NETFXSDK/4.8/include/um", + "LIB": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/ATLMFC/lib/x64;C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/lib/x64;C:/Program Files (x86)/Windows Kits/NETFXSDK/4.8/lib/um/x64;C:/Program Files (x86)/Windows Kits/10/lib/10.0.26100.0/ucrt/x64;C:/Program Files (x86)/Windows Kits/10//lib/10.0.26100.0//um/x64" + } + } +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..16a44f7 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.28 FATAL_ERROR) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + +project(IAEngine) + +add_subdirectory(Dependencies/IACore) + +add_subdirectory(Src/IAEngine) +add_subdirectory(Src/IAESandbox) diff --git a/Dependencies/IACore b/Dependencies/IACore new file mode 160000 index 0000000..491342a --- /dev/null +++ b/Dependencies/IACore @@ -0,0 +1 @@ +Subproject commit 491342ad50aad9ef85429a460be6925c2cba22a4 diff --git a/Src/IAESandbox/CMakeLists.txt b/Src/IAESandbox/CMakeLists.txt new file mode 100644 index 0000000..4b198f6 --- /dev/null +++ b/Src/IAESandbox/CMakeLists.txt @@ -0,0 +1,10 @@ + +set(IAESandbox_Sources + imp/cpp/Main.cpp +) + +add_executable(IAESandbox ${IAESandbox_Sources}) + +target_include_directories(IAESandbox PRIVATE imp/hpp) + +target_link_libraries(IAESandbox PRIVATE IAEngine) diff --git a/Src/IAESandbox/imp/cpp/Main.cpp b/Src/IAESandbox/imp/cpp/Main.cpp new file mode 100644 index 0000000..bf98d6f --- /dev/null +++ b/Src/IAESandbox/imp/cpp/Main.cpp @@ -0,0 +1,7 @@ +#include + +int main(int argc, char*argv[]) +{ + + return 0; +} \ No newline at end of file diff --git a/Src/IAEngine/CMakeLists.txt b/Src/IAEngine/CMakeLists.txt new file mode 100644 index 0000000..97eac2f --- /dev/null +++ b/Src/IAEngine/CMakeLists.txt @@ -0,0 +1,11 @@ + +set(IAEngine_Sources + imp/cpp/IAEngine.cpp +) + +add_library(IAEngine STATIC ${IAEngine_Sources}) + +target_include_directories(IAEngine PUBLIC inc/) +target_include_directories(IAEngine PRIVATE imp/hpp) + +target_link_libraries(IAEngine PUBLIC IACore) diff --git a/Src/IAEngine/imp/cpp/IAEngine.cpp b/Src/IAEngine/imp/cpp/IAEngine.cpp new file mode 100644 index 0000000..53844c4 --- /dev/null +++ b/Src/IAEngine/imp/cpp/IAEngine.cpp @@ -0,0 +1,6 @@ +#include + +namespace ia::iae +{ + +} \ No newline at end of file diff --git a/Src/IAEngine/inc/IAEngine/IAEngine.hpp b/Src/IAEngine/inc/IAEngine/IAEngine.hpp new file mode 100644 index 0000000..8ae5b73 --- /dev/null +++ b/Src/IAEngine/inc/IAEngine/IAEngine.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include +#include + +namespace ia::iae +{ + +} \ No newline at end of file