From 13327f6fc3fef3df6eec23ea484cd95234d25fc1 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sat, 18 Apr 2026 23:22:06 +0200 Subject: [PATCH] Started the engine, using a 'header-only' architecture for compoments of the engine --- .gitignore | 2 + CMakeLists.txt | 86 +++++ bin/.ninja_deps | Bin 0 -> 88904 bytes bin/.ninja_log | 23 ++ bin/_deps/fastgltf-src | 1 + bin/_deps/fastgltf-subbuild/.ninja_log | 37 ++ bin/_deps/fastgltf-subbuild/CMakeLists.txt | 42 +++ bin/_deps/fastgltf-subbuild/build.ninja | 208 +++++++++++ .../fastgltf-populate-build | 0 .../fastgltf-populate-configure | 0 .../fastgltf-populate-done | 0 .../fastgltf-populate-download | 0 .../fastgltf-populate-gitclone-lastrun.txt | 15 + .../fastgltf-populate-gitinfo.txt | 15 + .../fastgltf-populate-install | 0 .../fastgltf-populate-mkdir | 0 .../fastgltf-populate-patch | 0 .../fastgltf-populate-patch-info.txt | 6 + .../fastgltf-populate-test | 0 .../fastgltf-populate-update-info.txt | 7 + .../tmp/fastgltf-populate-cfgcmd.txt | 1 + .../tmp/fastgltf-populate-gitclone.cmake | 87 +++++ .../tmp/fastgltf-populate-gitupdate.cmake | 317 ++++++++++++++++ .../tmp/fastgltf-populate-mkdirs.cmake | 27 ++ bin/build.ninja | 349 ++++++++++++++++++ bin/compile_commands.json | 32 ++ bin/main/main | Bin 0 -> 277584 bytes src/engine/engine.h | 87 +++++ src/engine/images.h | 7 + src/engine/initializers.h | 7 + src/engine/pipelines.h | 7 + src/engine/types.h | 25 ++ src/main.cpp | 11 + 33 files changed, 1399 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 bin/.ninja_deps create mode 100644 bin/.ninja_log create mode 160000 bin/_deps/fastgltf-src create mode 100644 bin/_deps/fastgltf-subbuild/.ninja_log create mode 100644 bin/_deps/fastgltf-subbuild/CMakeLists.txt create mode 100644 bin/_deps/fastgltf-subbuild/build.ninja create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch-info.txt create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update-info.txt create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-cfgcmd.txt create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake create mode 100644 bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake create mode 100644 bin/build.ninja create mode 100644 bin/compile_commands.json create mode 100755 bin/main/main create mode 100644 src/engine/engine.h create mode 100644 src/engine/images.h create mode 100644 src/engine/initializers.h create mode 100644 src/engine/pipelines.h create mode 100644 src/engine/types.h create mode 100644 src/main.cpp diff --git a/.gitignore b/.gitignore index 636d3ec..d2158db 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # Build directories build/ build-*/ +bin/ +bin-*/ cmake-build-*/ # CMake generated files diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..74dfddd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,86 @@ +cmake_minimum_required (VERSION 3.29) + +project(VulkanEngine) + +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +# Find all package dependencies +find_package( glm REQUIRED ) # just one package as an exemple +find_package( VulkanMemoryAllocator CONFIG REQUIRED ) +find_package( sdl2 REQUIRED ) + +# fastgltf because it's not in nixpkgs +include(FetchContent) + +FetchContent_Declare( + fastgltf + GIT_REPOSITORY https://github.com/spnda/fastgltf.git + GIT_TAG v0.8.0 +) +FetchContent_MakeAvailable(fastgltf) + +# Enables LTO +include(CheckIPOSupported) +check_ipo_supported(RESULT LTO_SUPPORTED OUTPUT LTO_ERROR) + +if(LTO_SUPPORTED AND CMAKE_BUILD_TYPE STREQUAL "Release") + message(STATUS "LTO activated") + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) +else() + message(WARNING "LTO not supported : ${LTO_ERROR}") +endif() + +# A function to automate executables aditions + +function ( addBinary BINARY_NAME ) + cmake_parse_arguments ( BINARY "" "SHADER" "LIBS;TEXTURES;MODELS" ${ARGN} ) + add_executable ( ${BINARY_NAME} src/${BINARY_NAME}.cpp ) + # Sets the output dir to have clear separation between binaries + set_target_properties ( ${BINARY_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BINARY_NAME} ) + set_target_properties ( ${BINARY_NAME} PROPERTIES CXX_STANDARD 20 ) # Uses C++20 + + # Define VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS to treat VK_ERROR_OUT_OF_DATE_KHR as a success code + target_compile_definitions ( ${BINARY_NAME} PRIVATE "VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS" ) + + + + if (DEFINED BINARY_LIBS) + target_link_libraries ( ${BINARY_NAME} ${BINARY_LIBS} ) + endif() + + if (DEFINED BINARY_MODELS) # Adds the 3D models in the binary folder + set(RESOLVED_MODELS "") + foreach(MODEL_PATTERN ${BINARY_MODELS}) + file(GLOB MATCHED_MODELS CONFIGURE_DEPENDS + "${CMAKE_SOURCE_DIR}/assets/models/${MODEL_PATTERN}" + ) + list(APPEND RESOLVED_MODELS ${MATCHED_MODELS}) + endforeach() + + if (RESOLVED_MODELS) + file(COPY ${RESOLVED_MODELS} DESTINATION ${CMAKE_BINARY_DIR}/${BINARY_NAME}/models) + endif() + endif() + + if (DEFINED BINARY_TEXTURES) # Adds the textures in the binary folder + set(RESOLVED_TEXTURES "") + foreach(TEX_PATTERN ${BINARY_TEXTURES}) + file(GLOB MATCHED_TEXTURES CONFIGURE_DEPENDS + "${CMAKE_SOURCE_DIR}/assets/textures/${TEX_PATTERN}" + ) + list(APPEND RESOLVED_TEXTURES ${MATCHED_TEXTURES}) + endforeach() + + if (RESOLVED_TEXTURES) + file(COPY ${RESOLVED_TEXTURES} DESTINATION ${CMAKE_BINARY_DIR}/${BINARY_NAME}/textures) + endif() + endif () +endfunction() + +# Adds the main binary + +addBinary ( + main + + LIBS SDL2::SDL2 +) diff --git a/bin/.ninja_deps b/bin/.ninja_deps new file mode 100644 index 0000000000000000000000000000000000000000..d6d14b444bf00443d576ecc8df4700b3952562b3 GIT binary patch literal 88904 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 literal 0 HcmV?d00001 diff --git a/bin/.ninja_log b/bin/.ninja_log new file mode 100644 index 0000000..da3b368 --- /dev/null +++ b/bin/.ninja_log @@ -0,0 +1,23 @@ +# ninja log v7 +2 832 1776524224772581787 build.ninja 49485a7fb337b1e6 +2 832 1776524224770019075 /home/alex/Developer/Code/Vulkan/bin/cmake_install.cmake 49485a7fb337b1e6 +1 2544 1776523437569221238 _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/io.cpp.o 55102a173727ecf5 +0 2839 1776523437568925562 _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/base64.cpp.o 24783971ab3df401 +1 3179 1776523437569454443 _deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson/simdjson.cpp.o 81bd726d153d0dba +0 7845 1776523437568734172 _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/fastgltf.cpp.o 808ecdb040f91506 +2 832 1776524224772581787 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/cmake_install.cmake 49485a7fb337b1e6 +2 234 1776523743038837711 _deps/fastgltf-build/libfastgltf.a 35ed20c53ec12f4b +3 443 1776523899323132202 CMakeFiles/main.dir/src/main.cpp.o.ddi 2c0b378e41ca85e7 +3 14 1776523941796235970 CMakeFiles/main.dir/CXX.dd 64625a41e7cb2d24 +3 14 1776523941796235970 CMakeFiles/main.dir/CXXModules.json 64625a41e7cb2d24 +3 14 1776523941796235970 CMakeFiles/main.dir/src/main.cpp.o.modmap 64625a41e7cb2d24 +452 2309 1776523899772136336 CMakeFiles/main.dir/src/main.cpp.o a3ec966cb9dd3537 +4 803 1776524224772581787 build.ninja 49485a7fb337b1e6 +4 803 1776524224772581787 /home/alex/Developer/Code/Vulkan/bin/cmake_install.cmake 49485a7fb337b1e6 +4 803 1776524224772581787 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/cmake_install.cmake 49485a7fb337b1e6 +2 481 1776524224779019102 CMakeFiles/main.dir/src/main.cpp.o.ddi ad45a11344eefd19 +481 491 1776524225259020540 CMakeFiles/main.dir/CXX.dd 64625a41e7cb2d24 +481 491 1776524225259020540 CMakeFiles/main.dir/CXXModules.json 64625a41e7cb2d24 +481 491 1776524225259020540 CMakeFiles/main.dir/src/main.cpp.o.modmap 64625a41e7cb2d24 +491 2388 1776524225268140989 CMakeFiles/main.dir/src/main.cpp.o b37edae0e954e5dc +2388 2579 1776524227165026252 main/main 5d4e64b1fe423d3a diff --git a/bin/_deps/fastgltf-src b/bin/_deps/fastgltf-src new file mode 160000 index 0000000..d4734a7 --- /dev/null +++ b/bin/_deps/fastgltf-src @@ -0,0 +1 @@ +Subproject commit d4734a7e55d8d25155e755d895e018e423845cd0 diff --git a/bin/_deps/fastgltf-subbuild/.ninja_log b/bin/_deps/fastgltf-subbuild/.ninja_log new file mode 100644 index 0000000..d8295de --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/.ninja_log @@ -0,0 +1,37 @@ +# ninja log v7 +1 16 1776523434263396135 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir e7b554f212059804 +1 16 1776523434263396135 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir e7b554f212059804 +16 1402 1776523435649396820 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download d6b057c3f4523864 +16 1402 1776523435649396820 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download d6b057c3f4523864 +0 15 1776523941056234125 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update 18ab84be450bf721 +0 15 1776523941056234125 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update 18ab84be450bf721 +15 30 1776523941085234197 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch 4ddfc104a209a355 +15 30 1776523941085234197 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch 4ddfc104a209a355 +30 44 1776523941100234235 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure f003ba6b94beeb51 +30 44 1776523941100234235 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure f003ba6b94beeb51 +45 58 1776523941114234269 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build 94eddf46f8205f82 +45 58 1776523941114234269 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build 94eddf46f8205f82 +59 72 1776523941128234304 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install 8ab81e46393e391c +59 72 1776523941128234304 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install 8ab81e46393e391c +72 87 1776523941142234339 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test 985ab92c32343512 +72 87 1776523941142234339 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test 985ab92c32343512 +87 107 1776523941162234389 CMakeFiles/fastgltf-populate-complete 4f7c559732830105 +87 107 1776523941162234389 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done 4f7c559732830105 +87 107 1776523941162234389 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/CMakeFiles/fastgltf-populate-complete 4f7c559732830105 +87 107 1776523941162234389 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done 4f7c559732830105 +0 16 1776524224080017009 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update 18ab84be450bf721 +0 16 1776524224080017009 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update 18ab84be450bf721 +16 30 1776524224109017096 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch 4ddfc104a209a355 +16 30 1776524224109017096 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch 4ddfc104a209a355 +30 44 1776524224124017141 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure f003ba6b94beeb51 +30 44 1776524224124017141 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure f003ba6b94beeb51 +44 58 1776524224138017182 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build 94eddf46f8205f82 +44 58 1776524224138017182 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build 94eddf46f8205f82 +58 72 1776524224151017221 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install 8ab81e46393e391c +58 72 1776524224151017221 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install 8ab81e46393e391c +72 86 1776524224166017266 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test 985ab92c32343512 +72 86 1776524224166017266 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test 985ab92c32343512 +86 106 1776524224186017326 CMakeFiles/fastgltf-populate-complete 4f7c559732830105 +86 106 1776524224186017326 fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done 4f7c559732830105 +86 106 1776524224186017326 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/CMakeFiles/fastgltf-populate-complete 4f7c559732830105 +86 106 1776524224186017326 /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done 4f7c559732830105 diff --git a/bin/_deps/fastgltf-subbuild/CMakeLists.txt b/bin/_deps/fastgltf-subbuild/CMakeLists.txt new file mode 100644 index 0000000..ea3b8e6 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/CMakeLists.txt @@ -0,0 +1,42 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file LICENSE.rst or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION 4.1.2) + +# Reject any attempt to use a toolchain file. We must not use one because +# we could be downloading it here. If the CMAKE_TOOLCHAIN_FILE environment +# variable is set, the cache variable will have been initialized from it. +unset(CMAKE_TOOLCHAIN_FILE CACHE) +unset(ENV{CMAKE_TOOLCHAIN_FILE}) + +# We name the project and the target for the ExternalProject_Add() call +# to something that will highlight to the user what we are working on if +# something goes wrong and an error message is produced. + +project(fastgltf-populate NONE) + + +# Pass through things we've already detected in the main project to avoid +# paying the cost of redetecting them again in ExternalProject_Add() +set(GIT_EXECUTABLE [==[/etc/profiles/per-user/alex/bin/git]==]) +set(GIT_VERSION_STRING [==[2.53.0]==]) +set_property(GLOBAL PROPERTY _CMAKE_FindGit_GIT_EXECUTABLE_VERSION + [==[/etc/profiles/per-user/alex/bin/git;2.53.0]==] +) + + +include(ExternalProject) +ExternalProject_Add(fastgltf-populate + "UPDATE_DISCONNECTED" "False" "GIT_REPOSITORY" "https://github.com/spnda/fastgltf.git" "EXTERNALPROJECT_INTERNAL_ARGUMENT_SEPARATOR" "GIT_TAG" "v0.8.0" + SOURCE_DIR "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + BINARY_DIR "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + USES_TERMINAL_DOWNLOAD YES + USES_TERMINAL_UPDATE YES + USES_TERMINAL_PATCH YES +) + + diff --git a/bin/_deps/fastgltf-subbuild/build.ninja b/bin/_deps/fastgltf-subbuild/build.ninja new file mode 100644 index 0000000..761f3c9 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/build.ninja @@ -0,0 +1,208 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 4.1 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: fastgltf-populate +# Configurations: +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/ + +############################################# +# Utility command for fastgltf-populate + +build fastgltf-populate: phony CMakeFiles/fastgltf-populate CMakeFiles/fastgltf-populate-complete fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake --regenerate-during-build -S/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild -B/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Phony custom command for CMakeFiles/fastgltf-populate + +build CMakeFiles/fastgltf-populate | ${cmake_ninja_workdir}CMakeFiles/fastgltf-populate: phony CMakeFiles/fastgltf-populate-complete + + +############################################# +# Custom command for CMakeFiles/fastgltf-populate-complete + +build CMakeFiles/fastgltf-populate-complete fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done | ${cmake_ninja_workdir}CMakeFiles/fastgltf-populate-complete ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done: CUSTOM_COMMAND fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E make_directory /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/CMakeFiles && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/CMakeFiles/fastgltf-populate-complete && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done + DESC = Completed 'fastgltf-populate' + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build: CUSTOM_COMMAND fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo_append && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build + DESC = No build step for 'fastgltf-populate' + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure: CUSTOM_COMMAND fastgltf-populate-prefix/tmp/fastgltf-populate-cfgcmd.txt fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo_append && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure + DESC = No configure step for 'fastgltf-populate' + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download: CUSTOM_COMMAND fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download + DESC = Performing download step (git clone) for 'fastgltf-populate' + pool = console + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install: CUSTOM_COMMAND fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo_append && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install + DESC = No install step for 'fastgltf-populate' + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -Dcfgdir= -P /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir + DESC = Creating directories for 'fastgltf-populate' + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch: CUSTOM_COMMAND fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch-info.txt fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo_append && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch + DESC = No patch step for 'fastgltf-populate' + pool = console + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test: CUSTOM_COMMAND fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo_append && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E touch /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test + DESC = No test step for 'fastgltf-populate' + restat = 1 + + +############################################# +# Custom command for fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update + +build fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update | ${cmake_ninja_workdir}fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update: CUSTOM_COMMAND fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update-info.txt fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -Dcan_fetch=YES -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake + DESC = Performing update step for 'fastgltf-populate' + pool = console + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild + +build codegen: phony + +# ============================================================================= + +############################################# +# Folder: /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild + +build all: phony fastgltf-populate + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/cmake_install.cmake: RERUN_CMAKE | /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeGenericSystem.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeInitializeConfigs.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInitialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/PatchInfo.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/RepositoryInfo.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/UpdateInfo.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/cfgcmd.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/gitclone.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/gitupdate.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/mkdirs.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/shared_internal_commands.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-Initialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/4.1.2/CMakeSystem.cmake CMakeLists.txt fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeGenericSystem.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeInitializeConfigs.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInitialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/PatchInfo.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/RepositoryInfo.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/UpdateInfo.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/cfgcmd.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/gitclone.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/gitupdate.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/mkdirs.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/shared_internal_commands.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-Initialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/4.1.2/CMakeSystem.cmake CMakeLists.txt fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-build new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-configure new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-done new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-download new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt new file mode 100644 index 0000000..4fec9e2 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt @@ -0,0 +1,15 @@ +# This is a generated file and its contents are an internal implementation detail. +# The download step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +method=git +command=/nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake +source_dir=/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src +work_dir=/home/alex/Developer/Code/Vulkan/bin/_deps +repository=https://github.com/spnda/fastgltf.git +remote=origin +init_submodules=TRUE +recurse_submodules=--recursive +submodules= +CMP0097=NEW + diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt new file mode 100644 index 0000000..4fec9e2 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt @@ -0,0 +1,15 @@ +# This is a generated file and its contents are an internal implementation detail. +# The download step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +method=git +command=/nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake +source_dir=/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src +work_dir=/home/alex/Developer/Code/Vulkan/bin/_deps +repository=https://github.com/spnda/fastgltf.git +remote=origin +init_submodules=TRUE +recurse_submodules=--recursive +submodules= +CMP0097=NEW + diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-install new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-mkdir new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch-info.txt b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch-info.txt new file mode 100644 index 0000000..53e1e1e --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-patch-info.txt @@ -0,0 +1,6 @@ +# This is a generated file and its contents are an internal implementation detail. +# The update step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +command= +work_dir= diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-test new file mode 100644 index 0000000..e69de29 diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update-info.txt b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update-info.txt new file mode 100644 index 0000000..337d1f7 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-update-info.txt @@ -0,0 +1,7 @@ +# This is a generated file and its contents are an internal implementation detail. +# The patch step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +command (connected)=/nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake;-Dcan_fetch=YES;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake +command (disconnected)=/nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake;-Dcan_fetch=NO;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake +work_dir=/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-cfgcmd.txt b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-cfgcmd.txt new file mode 100644 index 0000000..6a6ed5f --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-cfgcmd.txt @@ -0,0 +1 @@ +cmd='' diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake new file mode 100644 index 0000000..f14ff43 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitclone.cmake @@ -0,0 +1,87 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file LICENSE.rst or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake + +if(EXISTS "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt" AND EXISTS "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt" AND + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt" IS_NEWER_THAN "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt") + message(VERBOSE + "Avoiding repeated git clone, stamp file is up to date: " + "'/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt'" + ) + return() +endif() + +# Even at VERBOSE level, we don't want to see the commands executed, but +# enabling them to be shown for DEBUG may be useful to help diagnose problems. +cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level) +if(active_log_level MATCHES "DEBUG|TRACE") + set(maybe_show_command COMMAND_ECHO STDOUT) +else() + set(maybe_show_command "") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} -E rm -rf "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + ${maybe_show_command} +) +if(error_code) + message(FATAL_ERROR "Failed to remove directory: '/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src'") +endif() + +# try the clone 3 times in case there is an odd git clone issue +set(error_code 1) +set(number_of_tries 0) +while(error_code AND number_of_tries LESS 3) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" + clone --no-checkout --config "advice.detachedHead=false" "https://github.com/spnda/fastgltf.git" "fastgltf-src" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps" + RESULT_VARIABLE error_code + ${maybe_show_command} + ) + math(EXPR number_of_tries "${number_of_tries} + 1") +endwhile() +if(number_of_tries GREATER 1) + message(NOTICE "Had to git clone more than once: ${number_of_tries} times.") +endif() +if(error_code) + message(FATAL_ERROR "Failed to clone repository: 'https://github.com/spnda/fastgltf.git'") +endif() + +execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" + checkout "v0.8.0" -- + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + ${maybe_show_command} +) +if(error_code) + message(FATAL_ERROR "Failed to checkout tag: 'v0.8.0'") +endif() + +set(init_submodules TRUE) +if(init_submodules) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" + submodule update --recursive --init + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + ${maybe_show_command} + ) +endif() +if(error_code) + message(FATAL_ERROR "Failed to update submodules in: '/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src'") +endif() + +# Complete success, update the script-last-run stamp file: +# +execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitinfo.txt" "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt" + RESULT_VARIABLE error_code + ${maybe_show_command} +) +if(error_code) + message(FATAL_ERROR "Failed to copy script-last-run stamp file: '/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/fastgltf-populate-gitclone-lastrun.txt'") +endif() diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake new file mode 100644 index 0000000..d637dd0 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-gitupdate.cmake @@ -0,0 +1,317 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file LICENSE.rst or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake + +# Even at VERBOSE level, we don't want to see the commands executed, but +# enabling them to be shown for DEBUG may be useful to help diagnose problems. +cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level) +if(active_log_level MATCHES "DEBUG|TRACE") + set(maybe_show_command COMMAND_ECHO STDOUT) +else() + set(maybe_show_command "") +endif() + +function(do_fetch) + message(VERBOSE "Fetching latest from the remote origin") + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git fetch --tags --force "origin" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + COMMAND_ERROR_IS_FATAL LAST + ${maybe_show_command} + ) +endfunction() + +function(get_hash_for_ref ref out_var err_var) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git rev-parse "${ref}^0" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + OUTPUT_VARIABLE ref_hash + ERROR_VARIABLE error_msg + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(error_code) + set(${out_var} "" PARENT_SCOPE) + else() + set(${out_var} "${ref_hash}" PARENT_SCOPE) + endif() + set(${err_var} "${error_msg}" PARENT_SCOPE) +endfunction() + +get_hash_for_ref(HEAD head_sha error_msg) +if(head_sha STREQUAL "") + message(FATAL_ERROR "Failed to get the hash for HEAD:\n${error_msg}") +endif() + +if("${can_fetch}" STREQUAL "") + set(can_fetch "YES") +endif() + +execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git show-ref "v0.8.0" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + OUTPUT_VARIABLE show_ref_output +) +if(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/remotes/") + # Given a full remote/branch-name and we know about it already. Since + # branches can move around, we should always fetch, if permitted. + if(can_fetch) + do_fetch() + endif() + set(checkout_name "v0.8.0") + +elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/tags/") + # Given a tag name that we already know about. We don't know if the tag we + # have matches the remote though (tags can move), so we should fetch. As a + # special case to preserve backward compatibility, if we are already at the + # same commit as the tag we hold locally, don't do a fetch and assume the tag + # hasn't moved on the remote. + # FIXME: We should provide an option to always fetch for this case + get_hash_for_ref("v0.8.0" tag_sha error_msg) + if(tag_sha STREQUAL head_sha) + message(VERBOSE "Already at requested tag: v0.8.0") + return() + endif() + + if(can_fetch) + do_fetch() + endif() + set(checkout_name "v0.8.0") + +elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/heads/") + # Given a branch name without any remote and we already have a branch by that + # name. We might already have that branch checked out or it might be a + # different branch. It isn't fully safe to use a bare branch name without the + # remote, so do a fetch (if allowed) and replace the ref with one that + # includes the remote. + if(can_fetch) + do_fetch() + endif() + set(checkout_name "origin/v0.8.0") + +else() + get_hash_for_ref("v0.8.0" tag_sha error_msg) + if(tag_sha STREQUAL head_sha) + # Have the right commit checked out already + message(VERBOSE "Already at requested ref: ${tag_sha}") + return() + + elseif(tag_sha STREQUAL "") + # We don't know about this ref yet, so we have no choice but to fetch. + if(NOT can_fetch) + message(FATAL_ERROR + "Requested git ref \"v0.8.0\" is not present locally, and not " + "allowed to contact remote due to UPDATE_DISCONNECTED setting." + ) + endif() + + # We deliberately swallow any error message at the default log level + # because it can be confusing for users to see a failed git command. + # That failure is being handled here, so it isn't an error. + if(NOT error_msg STREQUAL "") + message(DEBUG "${error_msg}") + endif() + do_fetch() + set(checkout_name "v0.8.0") + + else() + # We have the commit, so we know we were asked to find a commit hash + # (otherwise it would have been handled further above), but we don't + # have that commit checked out yet. We don't need to fetch from the remote. + set(checkout_name "v0.8.0") + if(NOT error_msg STREQUAL "") + message(WARNING "${error_msg}") + endif() + + endif() +endif() + +set(git_update_strategy "REBASE") +if(git_update_strategy STREQUAL "") + # Backward compatibility requires REBASE as the default behavior + set(git_update_strategy REBASE) +endif() + +if(git_update_strategy MATCHES "^REBASE(_CHECKOUT)?$") + # Asked to potentially try to rebase first, maybe with fallback to checkout. + # We can't if we aren't already on a branch and we shouldn't if that local + # branch isn't tracking the one we want to checkout. + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git symbolic-ref -q HEAD + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + OUTPUT_VARIABLE current_branch + OUTPUT_STRIP_TRAILING_WHITESPACE + # Don't test for an error. If this isn't a branch, we get a non-zero error + # code but empty output. + ) + + if(current_branch STREQUAL "") + # Not on a branch, checkout is the only sensible option since any rebase + # would always fail (and backward compatibility requires us to checkout in + # this situation) + set(git_update_strategy CHECKOUT) + + else() + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git for-each-ref "--format=%(upstream:short)" "${current_branch}" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + OUTPUT_VARIABLE upstream_branch + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY # There is no error if no upstream is set + ) + if(NOT upstream_branch STREQUAL checkout_name) + # Not safe to rebase when asked to checkout a different branch to the one + # we are tracking. If we did rebase, we could end up with arbitrary + # commits added to the ref we were asked to checkout if the current local + # branch happens to be able to rebase onto the target branch. There would + # be no error message and the user wouldn't know this was occurring. + set(git_update_strategy CHECKOUT) + endif() + + endif() +elseif(NOT git_update_strategy STREQUAL "CHECKOUT") + message(FATAL_ERROR "Unsupported git update strategy: ${git_update_strategy}") +endif() + + +# Check if stash is needed +execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git status --porcelain + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + OUTPUT_VARIABLE repo_status +) +if(error_code) + message(FATAL_ERROR "Failed to get the status") +endif() +string(LENGTH "${repo_status}" need_stash) + +# If not in clean state, stash changes in order to be able to perform a +# rebase or checkout without losing those changes permanently +if(need_stash) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git stash save --quiet;--include-untracked + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + COMMAND_ERROR_IS_FATAL ANY + ${maybe_show_command} + ) +endif() + +if(git_update_strategy STREQUAL "CHECKOUT") + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git checkout "${checkout_name}" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + COMMAND_ERROR_IS_FATAL ANY + ${maybe_show_command} + ) +else() + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git rebase "${checkout_name}" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + OUTPUT_VARIABLE rebase_output + ERROR_VARIABLE rebase_output + ) + if(error_code) + # Rebase failed, undo the rebase attempt before continuing + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git rebase --abort + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + ${maybe_show_command} + ) + + if(NOT git_update_strategy STREQUAL "REBASE_CHECKOUT") + # Not allowed to do a checkout as a fallback, so cannot proceed + if(need_stash) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git stash pop --index --quiet + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + ${maybe_show_command} + ) + endif() + message(FATAL_ERROR "\nFailed to rebase in: '/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src'." + "\nOutput from the attempted rebase follows:" + "\n${rebase_output}" + "\n\nYou will have to resolve the conflicts manually") + endif() + + # Fall back to checkout. We create an annotated tag so that the user + # can manually inspect the situation and revert if required. + # We can't log the failed rebase output because MSVC sees it and + # intervenes, causing the build to fail even though it completes. + # Write it to a file instead. + string(TIMESTAMP tag_timestamp "%Y%m%dT%H%M%S" UTC) + set(tag_name _cmake_ExternalProject_moved_from_here_${tag_timestamp}Z) + set(error_log_file ${CMAKE_CURRENT_LIST_DIR}/rebase_error_${tag_timestamp}Z.log) + file(WRITE ${error_log_file} "${rebase_output}") + message(WARNING "Rebase failed, output has been saved to ${error_log_file}" + "\nFalling back to checkout, previous commit tagged as ${tag_name}") + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git tag -a + -m "ExternalProject attempting to move from here to ${checkout_name}" + ${tag_name} + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + COMMAND_ERROR_IS_FATAL ANY + ${maybe_show_command} + ) + + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git checkout "${checkout_name}" + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + COMMAND_ERROR_IS_FATAL ANY + ${maybe_show_command} + ) + endif() +endif() + +if(need_stash) + # Put back the stashed changes + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git stash pop --index --quiet + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + ${maybe_show_command} + ) + if(error_code) + # Stash pop --index failed: Try again dropping the index + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git reset --hard --quiet + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + ${maybe_show_command} + ) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git stash pop --quiet + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + RESULT_VARIABLE error_code + ${maybe_show_command} + ) + if(error_code) + # Stash pop failed: Restore previous state. + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git reset --hard --quiet ${head_sha} + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + ${maybe_show_command} + ) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" --git-dir=.git stash pop --index --quiet + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + ${maybe_show_command} + ) + message(FATAL_ERROR "\nFailed to unstash changes in: '/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src'." + "\nYou will have to resolve the conflicts manually") + endif() + endif() +endif() + +set(init_submodules "TRUE") +if(init_submodules) + execute_process( + COMMAND "/etc/profiles/per-user/alex/bin/git" + --git-dir=.git + submodule update --recursive --init + WORKING_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src" + COMMAND_ERROR_IS_FATAL ANY + ${maybe_show_command} + ) +endif() diff --git a/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake new file mode 100644 index 0000000..30459f3 --- /dev/null +++ b/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp/fastgltf-populate-mkdirs.cmake @@ -0,0 +1,27 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file LICENSE.rst or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake + +# If CMAKE_DISABLE_SOURCE_CHANGES is set to true and the source directory is an +# existing directory in our source tree, calling file(MAKE_DIRECTORY) on it +# would cause a fatal error, even though it would be a no-op. +if(NOT EXISTS "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src") + file(MAKE_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src") +endif() +file(MAKE_DIRECTORY + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build" + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix" + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/tmp" + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp" + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src" + "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp" +) + +set(configSubDirs ) +foreach(subDir IN LISTS configSubDirs) + file(MAKE_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp/${subDir}") +endforeach() +if(cfgdir) + file(MAKE_DIRECTORY "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-subbuild/fastgltf-populate-prefix/src/fastgltf-populate-stamp${cfgdir}") # cfgdir has leading slash +endif() diff --git a/bin/build.ninja b/bin/build.ninja new file mode 100644 index 0000000..309e8b5 --- /dev/null +++ b/bin/build.ninja @@ -0,0 +1,349 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 4.1 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: VulkanEngine +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/alex/Developer/Code/Vulkan/bin/ +# ============================================================================= +# Object build statements for EXECUTABLE target main + + +############################################# +# Order-only phony target for main + +build cmake_object_order_depends_target_main: phony || . + +build CMakeFiles/main.dir/src/main.cpp.o.ddi: CXX_SCAN__main_Debug /home/alex/Developer/Code/Vulkan/src/main.cpp || cmake_object_order_depends_target_main + DEFINES = -DVULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS + DEP_FILE = CMakeFiles/main.dir/src/main.cpp.o.ddi.d + DYNDEP_INTERMEDIATE_FILE = CMakeFiles/main.dir/src/main.cpp.o.ddi + FLAGS = -g -std=gnu++20 + INCLUDES = -isystem /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/include -isystem /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/include/SDL2 + OBJ_FILE = CMakeFiles/main.dir/src/main.cpp.o + PREPROCESSED_OUTPUT_FILE = CMakeFiles/main.dir/src/main.cpp.o.ddi.i + +build CMakeFiles/main.dir/src/main.cpp.o: CXX_COMPILER__main_scanned_Debug /home/alex/Developer/Code/Vulkan/src/main.cpp | CMakeFiles/main.dir/src/main.cpp.o.modmap || cmake_object_order_depends_target_main CMakeFiles/main.dir/CXX.dd + CONFIG = Debug + DEFINES = -DVULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS + DEP_FILE = CMakeFiles/main.dir/src/main.cpp.o.d + DYNDEP_MODULE_MAP_FILE = CMakeFiles/main.dir/src/main.cpp.o.modmap + FLAGS = -g -std=gnu++20 + INCLUDES = -isystem /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/include -isystem /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/include/SDL2 + OBJECT_DIR = CMakeFiles/main.dir + OBJECT_FILE_DIR = CMakeFiles/main.dir/src + dyndep = CMakeFiles/main.dir/CXX.dd + +build CMakeFiles/main.dir/CXX.dd | CMakeFiles/main.dir/CXXModules.json CMakeFiles/main.dir/src/main.cpp.o.modmap: CXX_DYNDEP__main_Debug CMakeFiles/main.dir/src/main.cpp.o.ddi | /home/alex/Developer/Code/Vulkan/bin/CMakeFiles/main.dir/CXXDependInfo.json + + +# ============================================================================= +# Link build statements for EXECUTABLE target main + + +############################################# +# Link the executable main/main + +build main/main: CXX_EXECUTABLE_LINKER__main_Debug CMakeFiles/main.dir/src/main.cpp.o | /nix/store/rl4az5h05v9qzbd9cfarxz2nsn57981i-sdl2-compat-2.32.62/lib/libSDL2-2.0.so.0.3200.62 + CONFIG = Debug + DEP_FILE = CMakeFiles/main.dir/link.d + FLAGS = -g + LINK_FLAGS = -Wl,--dependency-file=CMakeFiles/main.dir/link.d + LINK_LIBRARIES = -Wl,-rpath,/nix/store/rl4az5h05v9qzbd9cfarxz2nsn57981i-sdl2-compat-2.32.62/lib /nix/store/rl4az5h05v9qzbd9cfarxz2nsn57981i-sdl2-compat-2.32.62/lib/libSDL2-2.0.so.0.3200.62 + OBJECT_DIR = CMakeFiles/main.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = main/main + TARGET_PDB = main.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake --regenerate-during-build -S/home/alex/Developer/Code/Vulkan -B/home/alex/Developer/Code/Vulkan/bin + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/alex/Developer/Code/Vulkan/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target fastgltf + + +############################################# +# Order-only phony target for fastgltf + +build cmake_object_order_depends_target_fastgltf: phony || . + +build _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/fastgltf.cpp.o: CXX_COMPILER__fastgltf_unscanned_Debug /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/fastgltf.cpp || cmake_object_order_depends_target_fastgltf + CONFIG = Debug + DEFINES = -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\"3.9.4\" + DEP_FILE = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/fastgltf.cpp.o.d + FLAGS = -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions + INCLUDES = -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson + OBJECT_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir + OBJECT_FILE_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src + +build _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/base64.cpp.o: CXX_COMPILER__fastgltf_unscanned_Debug /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/base64.cpp || cmake_object_order_depends_target_fastgltf + CONFIG = Debug + DEFINES = -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\"3.9.4\" + DEP_FILE = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/base64.cpp.o.d + FLAGS = -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions + INCLUDES = -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson + OBJECT_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir + OBJECT_FILE_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src + +build _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/io.cpp.o: CXX_COMPILER__fastgltf_unscanned_Debug /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/io.cpp || cmake_object_order_depends_target_fastgltf + CONFIG = Debug + DEFINES = -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\"3.9.4\" + DEP_FILE = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/io.cpp.o.d + FLAGS = -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions + INCLUDES = -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson + OBJECT_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir + OBJECT_FILE_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src + +build _deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson/simdjson.cpp.o: CXX_COMPILER__fastgltf_unscanned_Debug /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson/simdjson.cpp || cmake_object_order_depends_target_fastgltf + CONFIG = Debug + DEFINES = -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\"3.9.4\" + DEP_FILE = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson/simdjson.cpp.o.d + FLAGS = -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions + INCLUDES = -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson + OBJECT_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir + OBJECT_FILE_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target fastgltf + + +############################################# +# Link the static library _deps/fastgltf-build/libfastgltf.a + +build _deps/fastgltf-build/libfastgltf.a: CXX_STATIC_LIBRARY_LINKER__fastgltf_Debug _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/fastgltf.cpp.o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/base64.cpp.o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/io.cpp.o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson/simdjson.cpp.o + CONFIG = Debug + LANGUAGE_COMPILE_FLAGS = -g + OBJECT_DIR = _deps/fastgltf-build/CMakeFiles/fastgltf.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = _deps/fastgltf-build/libfastgltf.a + TARGET_PDB = fastgltf.a.dbg + + +############################################# +# Utility command for edit_cache + +build _deps/fastgltf-build/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build _deps/fastgltf-build/edit_cache: phony _deps/fastgltf-build/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build _deps/fastgltf-build/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake --regenerate-during-build -S/home/alex/Developer/Code/Vulkan -B/home/alex/Developer/Code/Vulkan/bin + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build _deps/fastgltf-build/rebuild_cache: phony _deps/fastgltf-build/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build _deps/fastgltf-build/list_install_components: phony + + +############################################# +# Utility command for install + +build _deps/fastgltf-build/CMakeFiles/install.util: CUSTOM_COMMAND _deps/fastgltf-build/all + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build _deps/fastgltf-build/install: phony _deps/fastgltf-build/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build _deps/fastgltf-build/CMakeFiles/install/local.util: CUSTOM_COMMAND _deps/fastgltf-build/all + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build _deps/fastgltf-build/install/local: phony _deps/fastgltf-build/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build _deps/fastgltf-build/CMakeFiles/install/strip.util: CUSTOM_COMMAND _deps/fastgltf-build/all + COMMAND = cd /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build && /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build _deps/fastgltf-build/install/strip: phony _deps/fastgltf-build/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build fastgltf: phony _deps/fastgltf-build/libfastgltf.a + +build libfastgltf.a: phony _deps/fastgltf-build/libfastgltf.a + +build main: phony main/main + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/alex/Developer/Code/Vulkan/bin + +build all: phony main/main _deps/fastgltf-build/all + +# ============================================================================= + +############################################# +# Folder: /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build + +build _deps/fastgltf-build/all: phony _deps/fastgltf-build/libfastgltf.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja /home/alex/Developer/Code/Vulkan/bin/cmake_install.cmake /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/cmake_install.cmake: RERUN_CMAKE | /home/alex/Developer/Code/Vulkan/CMakeLists.txt /nix/store/52c5b5flbdyi3nl0cdg575iavwgpqkq8-vulkan-memory-allocator-3.3.0/share/cmake/VulkanMemoryAllocator/VulkanMemoryAllocatorConfig.cmake /nix/store/52c5b5flbdyi3nl0cdg575iavwgpqkq8-vulkan-memory-allocator-3.3.0/share/cmake/VulkanMemoryAllocator/VulkanMemoryAllocatorConfigVersion.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2Config.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2ConfigVersion.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2Targets-release.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2Targets.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2mainTargets-release.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2mainTargets.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/sdl2-config-version.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/sdl2-config.cmake /nix/store/kd966dfwmjvg89gk3gzb17b1056lvmv7-glm-1.0.2/share/glm/glmConfig-release.cmake /nix/store/kd966dfwmjvg89gk3gzb17b1056lvmv7-glm-1.0.2/share/glm/glmConfig.cmake /nix/store/kd966dfwmjvg89gk3gzb17b1056lvmv7-glm-1.0.2/share/glm/glmConfigVersion.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeCInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeCXXInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeCommonLanguageInclude.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeGenericSystem.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeInitializeConfigs.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeLanguageInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInitialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/CMakeLists-C.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/foo.c /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/foo.cpp /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/main.c /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/main.cpp /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/CMakeCommonCompilerMacros.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/shared_internal_commands.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FeatureSummary.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FetchContent.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FetchContent/CMakeLists.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FindGit.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FindPackageHandleStandardArgs.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FindPackageMessage.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Internal/CMakeCLinkerInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Internal/CMakeCXXLinkerInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Internal/CMakeCommonLinkerInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Linker/GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Linker/GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Linker/GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/Linux-GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/Linux-GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/Linux-GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-Initialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/4.1.2/CMakeCCompiler.cmake CMakeFiles/4.1.2/CMakeCXXCompiler.cmake CMakeFiles/4.1.2/CMakeSystem.cmake _deps/fastgltf-src/CMakeLists.txt _deps/fastgltf-src/cmake/add_source_directory.cmake _deps/fastgltf-src/cmake/compilers.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/alex/Developer/Code/Vulkan/CMakeLists.txt /nix/store/52c5b5flbdyi3nl0cdg575iavwgpqkq8-vulkan-memory-allocator-3.3.0/share/cmake/VulkanMemoryAllocator/VulkanMemoryAllocatorConfig.cmake /nix/store/52c5b5flbdyi3nl0cdg575iavwgpqkq8-vulkan-memory-allocator-3.3.0/share/cmake/VulkanMemoryAllocator/VulkanMemoryAllocatorConfigVersion.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2Config.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2ConfigVersion.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2Targets-release.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2Targets.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2mainTargets-release.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/SDL2mainTargets.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/sdl2-config-version.cmake /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/lib/cmake/SDL2/sdl2-config.cmake /nix/store/kd966dfwmjvg89gk3gzb17b1056lvmv7-glm-1.0.2/share/glm/glmConfig-release.cmake /nix/store/kd966dfwmjvg89gk3gzb17b1056lvmv7-glm-1.0.2/share/glm/glmConfig.cmake /nix/store/kd966dfwmjvg89gk3gzb17b1056lvmv7-glm-1.0.2/share/glm/glmConfigVersion.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeCInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeCXXInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeCommonLanguageInclude.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeGenericSystem.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeInitializeConfigs.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeLanguageInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CMakeSystemSpecificInitialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/CMakeLists-C.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/foo.c /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/foo.cpp /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/main.c /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/CheckIPOSupported/main.cpp /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/CMakeCommonCompilerMacros.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Compiler/GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/ExternalProject/shared_internal_commands.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FeatureSummary.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FetchContent.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FetchContent/CMakeLists.cmake.in /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FindGit.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FindPackageHandleStandardArgs.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/FindPackageMessage.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Internal/CMakeCLinkerInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Internal/CMakeCXXLinkerInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Internal/CMakeCommonLinkerInformation.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Linker/GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Linker/GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Linker/GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/Linux-GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/Linux-GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linker/Linux-GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-GNU-C.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-GNU-CXX.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-GNU.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux-Initialize.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/Linux.cmake /nix/store/lxkvigfj5xy6w2bs7h4xwr3d7wb7piqb-cmake-4.1.2/share/cmake-4.1/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/4.1.2/CMakeCCompiler.cmake CMakeFiles/4.1.2/CMakeCXXCompiler.cmake CMakeFiles/4.1.2/CMakeSystem.cmake _deps/fastgltf-src/CMakeLists.txt _deps/fastgltf-src/cmake/add_source_directory.cmake _deps/fastgltf-src/cmake/compilers.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/bin/compile_commands.json b/bin/compile_commands.json new file mode 100644 index 0000000..48d51ad --- /dev/null +++ b/bin/compile_commands.json @@ -0,0 +1,32 @@ +[ +{ + "directory": "/home/alex/Developer/Code/Vulkan/bin", + "command": "/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0/bin/g++ -DVULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS -isystem /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/include -isystem /nix/store/55g2yvciw0whi44h5614q58lfv8akh5d-sdl2-compat-2.32.62-dev/include/SDL2 -g -std=gnu++20 -fmodules-ts -fmodule-mapper=CMakeFiles/main.dir/src/main.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/main.dir/src/main.cpp.o -c /home/alex/Developer/Code/Vulkan/src/main.cpp", + "file": "/home/alex/Developer/Code/Vulkan/src/main.cpp", + "output": "/home/alex/Developer/Code/Vulkan/bin/CMakeFiles/main.dir/src/main.cpp.o" +}, +{ + "directory": "/home/alex/Developer/Code/Vulkan/bin", + "command": "/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0/bin/g++ -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\\\"3.9.4\\\" -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions -o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/fastgltf.cpp.o -c /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/fastgltf.cpp", + "file": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/fastgltf.cpp", + "output": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/fastgltf.cpp.o" +}, +{ + "directory": "/home/alex/Developer/Code/Vulkan/bin", + "command": "/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0/bin/g++ -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\\\"3.9.4\\\" -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions -o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/base64.cpp.o -c /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/base64.cpp", + "file": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/base64.cpp", + "output": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/base64.cpp.o" +}, +{ + "directory": "/home/alex/Developer/Code/Vulkan/bin", + "command": "/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0/bin/g++ -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\\\"3.9.4\\\" -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions -o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/io.cpp.o -c /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/io.cpp", + "file": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/src/io.cpp", + "output": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/CMakeFiles/fastgltf.dir/src/io.cpp.o" +}, +{ + "directory": "/home/alex/Developer/Code/Vulkan/bin", + "command": "/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0/bin/g++ -DFASTGLTF_DISABLE_CUSTOM_MEMORY_POOL=0 -DFASTGLTF_ENABLE_DEPRECATED_EXT=0 -DFASTGLTF_USE_64BIT_FLOAT=0 -DFASTGLTF_USE_CUSTOM_SMALLVECTOR=0 -DSIMDJSON_TARGET_VERSION=\\\"3.9.4\\\" -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/include -I/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson -g -Wall -Wno-unknown-pragmas -flax-vector-conversions -fpermissive -finline-functions -o _deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson/simdjson.cpp.o -c /home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson/simdjson.cpp", + "file": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-src/deps/simdjson/simdjson.cpp", + "output": "/home/alex/Developer/Code/Vulkan/bin/_deps/fastgltf-build/CMakeFiles/fastgltf.dir/deps/simdjson/simdjson.cpp.o" +} +] diff --git a/bin/main/main b/bin/main/main new file mode 100755 index 0000000000000000000000000000000000000000..b039f65a10ecbac7ad646f505f2a52eba4eeb6d7 GIT binary patch literal 277584 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

N~hE&nilRRQ7{t`YLSVDX~+^3gWLUz1j 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 literal 0 HcmV?d00001 diff --git a/src/engine/engine.h b/src/engine/engine.h new file mode 100644 index 0000000..516df90 --- /dev/null +++ b/src/engine/engine.h @@ -0,0 +1,87 @@ +#pragma once +// Normal header + +#include "types.h" +#include + +#define GLFW_INCLUDE_VULKAN +#include + +class Engine { + public: + bool _isInitialized { false }; + int _frameNumber { 0 }; + VkExtent2D _windowExtent { 1700, 900 }; + + struct SDL_Window* _window { nullptr }; + + void init(); + + void cleanup(); + + void draw(); + + void run(); +}; + +#ifdef ENGINE_IMPL +// Implementation +// Change this to use GLFW later + +#include "initializers.h" + +void Engine::init() { + #ifndef NDEBUG + fmt::println("Initializing the engine...") + #endif + + glfwInit(); + + glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); + glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE); + + window = glfwCreateWindow( + static_cast(windowExtent.width), + static_cast(windowExtent.height), + "Engine", + nullptr, + nullptr + ); + + _isInitialized = true; + + #ifndef NDEBUG + fmt::println("Engine Initialized !") + #endif +} + +void Engine::cleanup() { + if (_isInitialized) { + SDL_DestroyWindow(_window); + } +} + +void Engine::draw() { + // Todo +} + +void Engine::run() { + SDL_Event e; + bool bQuit = false; + + while (!bQuit) { + while ( SDL_PollEvent(&e) != 0 ) { + if ( e.type == SDL_QUIT ) { + bQuit = true; + } + + if (!GLFW_VISIBLE) { + // Window is not visible (minimized or somehting else), throttle render + } + + draw(); + } + } +} + +#endif diff --git a/src/engine/images.h b/src/engine/images.h new file mode 100644 index 0000000..91a9037 --- /dev/null +++ b/src/engine/images.h @@ -0,0 +1,7 @@ +#pragma once +// Normal header + +#ifdef IMAGES_IMPL +// Implementation + +#endif diff --git a/src/engine/initializers.h b/src/engine/initializers.h new file mode 100644 index 0000000..9722674 --- /dev/null +++ b/src/engine/initializers.h @@ -0,0 +1,7 @@ +#pragma once +// Normal header + +#ifdef INITIALIZERS_IMPL +// Implementation + +#endif diff --git a/src/engine/pipelines.h b/src/engine/pipelines.h new file mode 100644 index 0000000..70dcbbd --- /dev/null +++ b/src/engine/pipelines.h @@ -0,0 +1,7 @@ +#pragma once +// Normal header + +#ifdef PIPELINES_IMPL +// Implementation + +#endif diff --git a/src/engine/types.h b/src/engine/types.h new file mode 100644 index 0000000..e3886e1 --- /dev/null +++ b/src/engine/types.h @@ -0,0 +1,25 @@ +#pragma once +// Normal header +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include + + +#ifdef TYPES_IMPL +// Implementation + +#endif diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..1e283b9 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,11 @@ +#define ENGINE_IMPL +#include "engine/engine.h" + + +int main(int argc, char* argv[]) { + Engine engine; + + engine.init(); + // Just works :) + return 0; +}