diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..b58b603
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/CustomHeapManager.iml b/.idea/CustomHeapManager.iml
new file mode 100644
index 0000000..f08604b
--- /dev/null
+++ b/.idea/CustomHeapManager.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..79b3c94
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..61a2f5f
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..151442d
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,46 @@
+cmake_minimum_required(VERSION 3.25.1)
+
+set(IS_OS_WINDOWS FALSE)
+set(IS_OS_LINUX FALSE)
+set(IS_OS_MAC FALSE)
+
+set(IS_ARCH_AMD64 FALSE)
+set(IS_ARCH_X86 FALSE)
+set(IS_ARCH_ARM64 FALSE)
+set(IS_ARCH_ARM FALSE)
+
+project(CustomHeapManager C)
+
+if (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
+ set(IS_OS_WINDOWS TRUE)
+ set(USER_HOME_DIRECTORY $ENV{USERPROFILE})
+ message("Building for the Windows operating system.")
+elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
+ set(IS_OS_LINUX TRUE)
+ set(USER_HOME_DIRECTORY $ENV{HOME})
+ add_compile_options(-Wno-stringop-overflow)
+ message("Building for the Linux operating system.")
+elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin")
+ set(IS_OS_MAC TRUE)
+ set(USER_HOME_DIRECTORY $ENV{HOME})
+ message("Building for the Mac operating system.")
+endif ()
+
+if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
+ set(IS_ARCH_AMD64 TRUE)
+ enable_language(ASM_NASM)
+ message("Building for the AMD64 architecture.")
+elseif ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
+ set(IS_ARCH_ARM64 TRUE)
+ enable_language(ASM)
+ message("Building for the ARM64 architecture.")
+endif ()
+
+set(CMAKE_C_STANDARD 23)
+
+add_executable(CustomHeapManager main.c)
+
+if (IS_OS_LINUX)
+ target_link_options(CustomHeapManager PUBLIC)
+elseif (IS_OS_WINDOWS)
+endif ()
\ No newline at end of file
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..eaddc08
--- /dev/null
+++ b/main.c
@@ -0,0 +1,15 @@
+#include
+
+void* malloc(unsigned long size)
+{
+ return NULL;
+}
+
+void free(void* ptr)
+{
+}
+
+int main(void)
+{
+ return 0;
+}
\ No newline at end of file