diff --git a/CMakeLists.txt b/CMakeLists.txt
index 18e51e2..f015637 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,3 +2,5 @@ cmake_minimum_required(VERSION 3.16)
project(mob)
add_subdirectory(src)
+
+set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT mob)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7c15d53..f52246c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,8 +1,9 @@
cmake_minimum_required(VERSION 3.16)
-file(GLOB_RECURSE src_files *.cpp)
+file(GLOB_RECURSE source_files *.cpp)
+file(GLOB RECURSE header_files *.h)
-add_executable(mob ${src_files})
+add_executable(mob ${source_files})
set_target_properties(mob PROPERTIES CXX_STANDARD 20)
target_compile_definitions(mob PUBLIC NOMINMAX)
@@ -14,3 +15,8 @@ target_link_libraries(mob PUBLIC
debug ${CMAKE_SOURCE_DIR}/third-party/lib/libcurl-d.lib
optimized ${CMAKE_SOURCE_DIR}/third-party/lib/zlib.lib
debug ${CMAKE_SOURCE_DIR}/third-party/lib/zlibd.lib)
+
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}
+ PREFIX src
+ FILES ${source_files} ${header_files})
+set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT mob)
diff --git a/vs/debug.props b/vs/debug.props
deleted file mode 100644
index 745efbe..0000000
--- a/vs/debug.props
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
- libcurl-d.lib;zlibd.lib;%(AdditionalDependencies)
-
-
- MultiThreadedDebug
-
-
-
-
\ No newline at end of file
diff --git a/vs/mob.sln b/vs/mob.sln
deleted file mode 100644
index fe6f3cf..0000000
--- a/vs/mob.sln
+++ /dev/null
@@ -1,25 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30014.187
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mob", "mob.vcxproj", "{CB2CB683-78DA-44B9-B762-D195041F234E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {CB2CB683-78DA-44B9-B762-D195041F234E}.Debug|x64.ActiveCfg = Debug|x64
- {CB2CB683-78DA-44B9-B762-D195041F234E}.Debug|x64.Build.0 = Debug|x64
- {CB2CB683-78DA-44B9-B762-D195041F234E}.Release|x64.ActiveCfg = Release|x64
- {CB2CB683-78DA-44B9-B762-D195041F234E}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {84F7C190-1CD8-46DF-9349-05A62C5B02B5}
- EndGlobalSection
-EndGlobal
diff --git a/vs/mob.vcxproj b/vs/mob.vcxproj
deleted file mode 100644
index cafed2a..0000000
--- a/vs/mob.vcxproj
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 16.0
- Win32Proj
- {cb2cb683-78da-44b9-b762-d195041f234e}
- mob
- 10.0
-
-
-
- Application
- true
- v143
- Unicode
-
-
- Application
- false
- v143
- Unicode
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create
- Create
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vs/mob.vcxproj.filters b/vs/mob.vcxproj.filters
deleted file mode 100644
index de212c4..0000000
--- a/vs/mob.vcxproj.filters
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
-
- {23ea265d-5536-4626-b27a-5403447aec6e}
-
-
- {892d19b8-e898-4c80-be14-e1ee1fb13209}
-
-
- {b0afbfc3-9b49-4768-9077-a8284ced4416}
-
-
- {6e4d31d5-100c-4a4d-8e7d-4c48939819bd}
-
-
- {78dd6066-d407-4450-b520-649454c15ee9}
-
-
- {b9307be3-9ccb-4449-8aed-d9b69f0beda9}
-
-
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\cmd
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\tools
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tools
-
-
-
-
- src
-
-
- src
-
-
- src
-
-
- src\tasks
-
-
- src\tasks
-
-
- src\tools
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\utility
-
-
- src\cmd
-
-
- src\utility
-
-
- src\core
-
-
- src\core
-
-
- src\core
-
-
- src\tools
-
-
- src\tools
-
-
- src\tools
-
-
- src\tasks
-
-
-
\ No newline at end of file
diff --git a/vs/props.props b/vs/props.props
deleted file mode 100644
index 046c06c..0000000
--- a/vs/props.props
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- $(SolutionDir)..\build\$(Configuration)\$(PlatformTarget)\
- $(ProjectDir)obj\$(ProjectName)\$(Configuration)\$(PlatformTarget)\
-
-
-
- EnableAllWarnings
-
-
-
-
- Caret
- true
- stdcpplatest
- Use
- pch.h
- $(IntDir)fake\%(RelativeDir)
- _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;CURL_STATICLIB;NOMINMAX;%(PreprocessorDefinitions)
- ..\third-party\include;%(AdditionalIncludeDirectories)
- 4566
-
-
- ..\third-party\lib;%(AdditionalLibraryDirectories)
- Ws2_32.lib;Crypt32.lib;Wldap32.lib;Shlwapi.lib;DbgHelp.lib;Version.lib;%(AdditionalDependencies)
-
-
-
-
\ No newline at end of file
diff --git a/vs/release.props b/vs/release.props
deleted file mode 100644
index 451936a..0000000
--- a/vs/release.props
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
- libcurl.lib;zlib.lib;%(AdditionalDependencies)
- true
- true
- UseLinkTimeCodeGeneration
-
-
- AnySuitable
-
-
- true
- NDEBUG;%(PreprocessorDefinitions)
- true
- true
- true
-
-
-
-
\ No newline at end of file