commit 5428cb3f00cbe2f60578c132a44bd064a5d88881 Author: HappyTanuki Date: Sun Mar 30 22:44:05 2025 +0900 Initial Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0d767dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.vs +build/* +out \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c5ac51f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.22) +project(VulkanEngine) + +find_package(Vulkan REQUIRED) + +include(FetchContent) + +FetchContent_Declare( + glm + GIT_REPOSITORY "https://github.com/g-truc/glm.git" + GIT_TAG "1.0.1" + GIT_SHALLOW ON +) +FetchContent_MakeAvailable(glm) + +FetchContent_Declare( + glfw + GIT_REPOSITORY "https://github.com/glfw/glfw.git" + GIT_TAG "3.4" + GIT_SHALLOW ON +) +FetchContent_MakeAvailable(glfw) + +FetchContent_Declare( + GSL + GIT_REPOSITORY "https://github.com/microsoft/GSL.git" + GIT_TAG "v4.2.0" + GIT_SHALLOW ON +) +FetchContent_MakeAvailable(GSL) + +file(GLOB_RECURSE VulkanEngineSources CONFIGURE_DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/*.h" +) + +add_executable(VulkanEngine ${VulkanEngineSources}) +target_link_libraries(VulkanEngine PRIVATE Vulkan::Vulkan) +target_link_libraries(VulkanEngine PRIVATE glm) +target_link_libraries(VulkanEngine PRIVATE glfw) +target_link_libraries(VulkanEngine PRIVATE Microsoft.GSL::GSL) + +target_include_directories(VulkanEngine PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src") +target_compile_features(VulkanEngine PRIVATE cxx_std_20) \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..ba1103f --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,19 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +int main(std::int32_t argc, gsl::zstring* argv) +{ + gsl::span arguments(argv, argc); + std::sort(arguments.begin(), arguments.end()); + + gsl::not_null arguments_pointer_validated = argv; + + std::cout << "Hello, World!" << std::endl; + return 0; +} \ No newline at end of file