diff --git a/VCMP-LUA.sln b/VCMP-LUA.sln
deleted file mode 100644
index 93f9f80..0000000
--- a/VCMP-LUA.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29102.190
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VCMP-LUA", "VCMP-LUA\VCMP-LUA.vcxproj", "{E99A361A-5464-4BB2-B11E-4EE40998720A}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Debug|x64.ActiveCfg = Debug|x64
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Debug|x64.Build.0 = Debug|x64
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Debug|x86.ActiveCfg = Debug|Win32
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Debug|x86.Build.0 = Debug|Win32
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Release|x64.ActiveCfg = Release|x64
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Release|x64.Build.0 = Release|x64
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Release|x86.ActiveCfg = Release|Win32
- {E99A361A-5464-4BB2-B11E-4EE40998720A}.Release|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {FAD590FA-8A25-452D-A246-B4EC43E4BF3B}
- EndGlobalSection
-EndGlobal
diff --git a/VCMP-LUA/CMakeLists.txt b/VCMP-LUA/CMakeLists.txt
new file mode 100644
index 0000000..0ce3d9f
--- /dev/null
+++ b/VCMP-LUA/CMakeLists.txt
@@ -0,0 +1,72 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(lib-lua VERSION 1.0 LANGUAGES CXX)
+
+option(BUILD_64 "" ON)
+
+if(BUILD_64)
+ set(LUA_PLATFORM "x64")
+else()
+ set(LUA_PLATFORM "x32")
+endif()
+
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose Release or Debug" FORCE)
+endif()
+
+if(NOT CMAKE_CXX_STANDARD)
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+endif()
+
+add_library(lib-lua SHARED
+ ${PROJECT_SOURCE_DIR}/Core.cpp
+ ${PROJECT_SOURCE_DIR}/pch.cpp
+ # include
+ ${PROJECT_SOURCE_DIR}/include/SimpleIni.h
+ ${PROJECT_SOURCE_DIR}/include/utility.h
+ ${PROJECT_SOURCE_DIR}/include/vcmp.h
+ # sol
+ ${PROJECT_SOURCE_DIR}/sol/forward.hpp
+ ${PROJECT_SOURCE_DIR}/sol/sol.hpp
+ # vcmpWrap
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/globalTables.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/vcmpCallbacks.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Player.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Player.cpp
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Vehicle.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Vehicle.cpp
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Server.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Server.cpp
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Stream.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/Stream.cpp
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/EventManager/EventManager.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/EventManager/EventManager.cpp
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Timer/vcmpTimer.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Timer/vcmpTimer.cpp
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Timer/TimerManager.h
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/Timer/TimerManager.cpp
+ # Lua
+ ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/include/lauxlib.h
+ ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/include/lua.h
+ ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/include/lua.hpp
+ ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/include/luaconf.h
+ ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/include/lualib.h
+)
+
+target_include_directories(lib-lua
+ PRIVATE
+ ${PROJECT_SOURCE_DIR}/
+ ${PROJECT_SOURCE_DIR}/include/
+ #${PROJECT_SOURCE_DIR}/sol/
+ ${PROJECT_SOURCE_DIR}/vcmpWrap/
+ #${PROJECT_SOURCE_DIR}/vcmpWrap/Classes/
+ #${PROJECT_SOURCE_DIR}/vcmpWrap/EventManager/
+ #${PROJECT_SOURCE_DIR}/vcmpWrap/Timer/
+)
+
+target_include_directories(lib-lua PRIVATE ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/include/)
+target_link_libraries(lib-lua ${PROJECT_SOURCE_DIR}/lua/${LUA_PLATFORM}/lua53.lib)
+
+set_target_properties(lib-lua PROPERTIES PREFIX "")
+set_target_properties(lib-lua PROPERTIES OUTPUT_NAME "lua-plugin-${LUA_PLATFORM}")
\ No newline at end of file
diff --git a/VCMP-LUA/Core.cpp b/VCMP-LUA/Core.cpp
index 059e9a5..2e56270 100644
--- a/VCMP-LUA/Core.cpp
+++ b/VCMP-LUA/Core.cpp
@@ -1,6 +1,6 @@
#include "pch.h"
#include "include/utility.h"
-#include "vcmpWrap/globaTables.h"
+#include "vcmpWrap/globalTables.h"
#include "vcmpWrap/vcmpCallbacks.h"
PluginFuncs* g_Funcs;
diff --git a/VCMP-LUA/VCMP-LUA.filters b/VCMP-LUA/VCMP-LUA.filters
deleted file mode 100644
index 53278e4..0000000
--- a/VCMP-LUA/VCMP-LUA.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hh;hpp;hxx;hm;inl;inc;ipp;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
\ No newline at end of file
diff --git a/VCMP-LUA/VCMP-LUA.user b/VCMP-LUA/VCMP-LUA.user
deleted file mode 100644
index 966b4ff..0000000
--- a/VCMP-LUA/VCMP-LUA.user
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- true
-
-
\ No newline at end of file
diff --git a/VCMP-LUA/VCMP-LUA.vcxproj b/VCMP-LUA/VCMP-LUA.vcxproj
deleted file mode 100644
index efc0798..0000000
--- a/VCMP-LUA/VCMP-LUA.vcxproj
+++ /dev/null
@@ -1,237 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 16.0
- {E99A361A-5464-4BB2-B11E-4EE40998720A}
- VCMPSDKSampleModule
- 10.0
-
-
-
- DynamicLibrary
- true
- v142
- MultiByte
-
-
- DynamicLibrary
- false
- v142
- true
- MultiByte
-
-
- DynamicLibrary
- true
- v142
- MultiByte
-
-
- DynamicLibrary
- false
- v142
- true
- MultiByte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(SolutionDir)bin\$(Platform)\$(Configuration)\
- $(SolutionDir)bin\$(Platform)\$(Configuration)\Interm\
- $(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)include
-
-
- $(SolutionDir)bin\$(Platform)\$(Configuration)\
- $(SolutionDir)bin\$(Platform)\$(Configuration)\Interm\
- lua-win32
-
-
- $(SolutionDir)bin\$(Platform)\$(Configuration)\
- $(SolutionDir)bin\$(Platform)\$(Configuration)\Interm\
-
-
- $(SolutionDir)bin\$(Platform)\$(Configuration)\
- $(SolutionDir)bin\$(Platform)\$(Configuration)\Interm\
- lua-win64
-
-
-
- Level3
- Disabled
- true
- true
- NotUsing
- pch.h
- $(ProjectDir);$(ProjectDir)include
- stdcpp17
- _WINDLL;%(PreprocessorDefinitions);SOL_ALL_SAFETIES_ON
-
-
- Console
- lua53.lib;%(AdditionalDependencies)
- D:\Development\C++\VCMP-Lua\VCMP-LUA\lua;%(AdditionalLibraryDirectories)
-
-
- copy /Y "$(TargetDir)$(ProjectName).dll" "D:\Development\VCMP\Blank\plugins"
-
-
-
-
- Level3
- Disabled
- true
- true
- $(ProjectDir);$(ProjectDir)include
- NotUsing
- pch.h
- stdcpp17
- _WINDLL;%(PreprocessorDefinitions);SOL_ALL_SAFETIES_ON
-
-
- Console
- lua53.lib;%(AdditionalDependencies)
- D:\Development\C++\VCMP-Lua\VCMP-LUA\lua;%(AdditionalLibraryDirectories)
-
-
- copy /Y "$(TargetDir)$(ProjectName).dll" "D:\Development\VCMP\Blank\plugins"
-
-
-
-
- Level3
- MaxSpeed
- true
- true
- true
- true
- $(ProjectDir);$(ProjectDir)include
- NotUsing
- pch.h
- stdcpp17
- _WINDLL;SOL_ALL_SAFETIES_ON;X86;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- x32\lua53.lib;%(AdditionalDependencies)
- D:\Development\C++\VCMP-Lua\VCMP-LUA\lua;%(AdditionalLibraryDirectories)
-
-
- copy /Y "$(TargetDir)lua-win32.dll" "D:\Development\VCMP\Blank\plugins"
-
-
-
-
- Level3
- MaxSpeed
- true
- true
- true
- true
- $(ProjectDir);$(ProjectDir)include
- NotUsing
- pch.h
- WIN32;SOL_ALL_SAFETIES_ON;X64;%(PreprocessorDefinitions)
- stdcpp17
-
-
- Console
- true
- true
- x64\lua53.lib;%(AdditionalDependencies)
- D:\Development\C++\VCMP-Lua\VCMP-LUA;D:\Development\C++\VCMP-Lua\VCMP-LUA\lua;%(AdditionalLibraryDirectories)
-
-
- copy /Y "$(TargetDir)lua-win64.dll" "D:\Development\VCMP\Blank\plugins"
-
-
-
-
-
- Create
-
-
- Create
-
-
- Create
-
-
- Create
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/VCMP-LUA/VCMP-LUA.vcxproj.user b/VCMP-LUA/VCMP-LUA.vcxproj.user
deleted file mode 100644
index 966b4ff..0000000
--- a/VCMP-LUA/VCMP-LUA.vcxproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- true
-
-
\ No newline at end of file
diff --git a/VCMP-LUA/vcmpWrap/globaTables.h b/VCMP-LUA/vcmpWrap/globalTables.h
similarity index 100%
rename from VCMP-LUA/vcmpWrap/globaTables.h
rename to VCMP-LUA/vcmpWrap/globalTables.h