diff --git a/.cache/clangd/index/main.cpp.E107921AA6E41F78.idx b/.cache/clangd/index/main.cpp.E107921AA6E41F78.idx index 87ee8f9..a24f480 100644 Binary files a/.cache/clangd/index/main.cpp.E107921AA6E41F78.idx and b/.cache/clangd/index/main.cpp.E107921AA6E41F78.idx differ diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e1ea9b..a76a08b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,9 +5,10 @@ project(HansTheGatherer) # Option to switch real platform vs. SDL implementation... find_package(SDL3 REQUIRED) +find_package(spdlog REQUIRED) add_executable(HansTheGatherer main.cpp) -target_link_libraries(HansTheGatherer SDL3::SDL3) +target_link_libraries(HansTheGatherer SDL3::SDL3 spdlog::spdlog) -set_property(TARGET HansTheGatherer PROPERTY CXX_STANDARD 23) +set_property(TARGET HansTheGatherer PROPERTY CXX_STANDARD 20) diff --git a/build/.ninja_deps b/build/.ninja_deps index 4ffde0f..02e24bc 100644 Binary files a/build/.ninja_deps and b/build/.ninja_deps differ diff --git a/build/.ninja_log b/build/.ninja_log index f05591f..5952156 100644 --- a/build/.ninja_log +++ b/build/.ninja_log @@ -1,7 +1,17 @@ # ninja log v6 -646 681 1748084217539431713 HansTheGatherer 56fe39e94f05f046 -0 646 1748084216892589223 CMakeFiles/HansTheGatherer.dir/main.cpp.o f05113a49bef90a -1 31 1748084271977788386 build.ninja 8e402d244b09da2 -1 40 1748084271980526268 HansTheGatherer 46a21811be68aff1 -0 636 1748084284144344059 CMakeFiles/HansTheGatherer.dir/main.cpp.o f05113a49bef90a -636 673 1748084284780341193 HansTheGatherer 46a21811be68aff1 +0 24 1748085895988350615 build.ninja 8e402d244b09da2 +1 735 1748085886398945346 CMakeFiles/HansTheGatherer.dir/main.cpp.o fd03b4ecddc186cb +735 769 1748085887132948329 HansTheGatherer ed94f679f8ca40ee +1 25 1748085895988350615 build.ninja 8e402d244b09da2 +1 697 1748085895991984332 CMakeFiles/HansTheGatherer.dir/main.cpp.o b4cb899b0b4e24eb +697 732 1748085896687987161 HansTheGatherer ed94f679f8ca40ee +1 693 1748085993855391696 CMakeFiles/HansTheGatherer.dir/main.cpp.o b4cb899b0b4e24eb +693 727 1748085994547394578 HansTheGatherer ed94f679f8ca40ee +1 696 1748086162957103608 CMakeFiles/HansTheGatherer.dir/main.cpp.o b4cb899b0b4e24eb +696 729 1748086163652106596 HansTheGatherer ed94f679f8ca40ee +1 704 1748086300260693724 CMakeFiles/HansTheGatherer.dir/main.cpp.o b4cb899b0b4e24eb +704 738 1748086300963696745 HansTheGatherer ed94f679f8ca40ee +1 679 1748086359530948456 CMakeFiles/HansTheGatherer.dir/main.cpp.o b4cb899b0b4e24eb +679 710 1748086360208951371 HansTheGatherer ed94f679f8ca40ee +1 657 1748086490791509825 CMakeFiles/HansTheGatherer.dir/main.cpp.o b4cb899b0b4e24eb +657 688 1748086491447512619 HansTheGatherer ed94f679f8ca40ee diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt index 8d866d9..e366463 100644 --- a/build/CMakeCache.txt +++ b/build/CMakeCache.txt @@ -227,6 +227,12 @@ HansTheGatherer_SOURCE_DIR:STATIC=/home/derek/Git/HansTheGatherer //The directory containing a CMake configuration file for SDL3. SDL3_DIR:PATH=/usr/lib64/cmake/SDL3 +//The directory containing a CMake configuration file for fmt. +fmt_DIR:PATH=/usr/lib64/cmake/fmt + +//The directory containing a CMake configuration file for spdlog. +spdlog_DIR:PATH=/usr/lib64/cmake/spdlog + ######################## # INTERNAL cache entries @@ -310,6 +316,8 @@ CMAKE_GENERATOR_INSTANCE:INTERNAL= CMAKE_GENERATOR_PLATFORM:INTERNAL= //Name of generator toolset. CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 //Source directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=/home/derek/Git/HansTheGatherer @@ -377,6 +385,8 @@ CMAKE_TAPI-ADVANCED:INTERNAL=1 CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //linker supports push/pop state _CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE //linker supports push/pop state diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 2072fbf..9211b45 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -516,3 +516,36 @@ events: Running the CXX compiler's linker: "/usr/bin/ld" "-v" GNU ld version 2.44-3.fc42 ... + +--- +events: + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:108 (try_compile)" + - "/usr/share/cmake/Modules/CheckCSourceCompiles.cmake:58 (cmake_check_source_compiles)" + - "/usr/share/cmake/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)" + - "/usr/share/cmake/Modules/FindThreads.cmake:163 (_threads_check_libc)" + - "/usr/lib64/cmake/spdlog/spdlogConfig.cmake:40 (find_package)" + - "CMakeLists.txt:8 (find_package)" + checks: + - "Performing Test CMAKE_HAVE_LIBC_PTHREAD" + directories: + source: "/home/derek/Git/HansTheGatherer/build/CMakeFiles/CMakeScratch/TryCompile-DM2u3W" + binary: "/home/derek/Git/HansTheGatherer/build/CMakeFiles/CMakeScratch/TryCompile-DM2u3W" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_HAVE_LIBC_PTHREAD" + cached: true + stdout: | + Change Dir: '/home/derek/Git/HansTheGatherer/build/CMakeFiles/CMakeScratch/TryCompile-DM2u3W' + + Run Build Command(s): /usr/bin/ninja-build -v cmTC_f87ad + [1/2] /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_f87ad.dir/src.c.o -c /home/derek/Git/HansTheGatherer/build/CMakeFiles/CMakeScratch/TryCompile-DM2u3W/src.c + [2/2] : && /usr/bin/cc CMakeFiles/cmTC_f87ad.dir/src.c.o -o cmTC_f87ad && : + + exitCode: 0 +... diff --git a/build/CMakeFiles/HansTheGatherer.dir/main.cpp.o b/build/CMakeFiles/HansTheGatherer.dir/main.cpp.o index cbb63c1..51a3a7b 100644 Binary files a/build/CMakeFiles/HansTheGatherer.dir/main.cpp.o and b/build/CMakeFiles/HansTheGatherer.dir/main.cpp.o differ diff --git a/build/HansTheGatherer b/build/HansTheGatherer index ef06472..b00d20f 100755 Binary files a/build/HansTheGatherer and b/build/HansTheGatherer differ diff --git a/build/build.ninja b/build/build.ninja index 9a55eb9..ef12a0e 100644 --- a/build/build.ninja +++ b/build/build.ninja @@ -45,8 +45,9 @@ cmake_ninja_workdir = /home/derek/Git/HansTheGatherer/build/ build cmake_object_order_depends_target_HansTheGatherer: phony || . build CMakeFiles/HansTheGatherer.dir/main.cpp.o: CXX_COMPILER__HansTheGatherer_unscanned_ /home/derek/Git/HansTheGatherer/main.cpp || cmake_object_order_depends_target_HansTheGatherer + DEFINES = -DFMT_SHARED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB DEP_FILE = CMakeFiles/HansTheGatherer.dir/main.cpp.o.d - FLAGS = -std=gnu++23 + FLAGS = -std=gnu++20 OBJECT_DIR = CMakeFiles/HansTheGatherer.dir OBJECT_FILE_DIR = CMakeFiles/HansTheGatherer.dir @@ -58,10 +59,10 @@ build CMakeFiles/HansTheGatherer.dir/main.cpp.o: CXX_COMPILER__HansTheGatherer_u ############################################# # Link the executable HansTheGatherer -build HansTheGatherer: CXX_EXECUTABLE_LINKER__HansTheGatherer_ CMakeFiles/HansTheGatherer.dir/main.cpp.o | /usr/lib64/libSDL3.so.0.2.12 +build HansTheGatherer: CXX_EXECUTABLE_LINKER__HansTheGatherer_ CMakeFiles/HansTheGatherer.dir/main.cpp.o | /usr/lib64/libSDL3.so.0.2.12 /usr/lib64/libspdlog.so.1.15.3 /usr/lib64/libfmt.so.11.1.4 DEP_FILE = CMakeFiles/HansTheGatherer.dir/link.d LINK_FLAGS = -Wl,--dependency-file=CMakeFiles/HansTheGatherer.dir/link.d - LINK_LIBRARIES = /usr/lib64/libSDL3.so.0.2.12 + LINK_LIBRARIES = /usr/lib64/libSDL3.so.0.2.12 /usr/lib64/libspdlog.so.1.15.3 /usr/lib64/libfmt.so.11.1.4 OBJECT_DIR = CMakeFiles/HansTheGatherer.dir POST_BUILD = : PRE_LINK = : @@ -112,14 +113,14 @@ build all: phony HansTheGatherer ############################################# # Re-run CMake if any of its inputs changed. -build build.ninja: RERUN_CMAKE | /home/derek/Git/HansTheGatherer/CMakeLists.txt /usr/lib64/cmake/SDL3/SDL3Config.cmake /usr/lib64/cmake/SDL3/SDL3ConfigVersion.cmake /usr/lib64/cmake/SDL3/SDL3headersTargets.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets-relwithdebinfo.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets.cmake /usr/share/cmake/Modules/CMakeCInformation.cmake /usr/share/cmake/Modules/CMakeCXXInformation.cmake /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake/Modules/CMakeGenericSystem.cmake /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake/Modules/CMakeLanguageInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake/Modules/Compiler/GNU-C.cmake /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake/Modules/Compiler/GNU.cmake /usr/share/cmake/Modules/FeatureSummary.cmake /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake /usr/share/cmake/Modules/Linker/GNU-C.cmake /usr/share/cmake/Modules/Linker/GNU-CXX.cmake /usr/share/cmake/Modules/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake/Modules/Platform/Linux.cmake /usr/share/cmake/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.31.6/CMakeCCompiler.cmake CMakeFiles/3.31.6/CMakeCXXCompiler.cmake CMakeFiles/3.31.6/CMakeSystem.cmake +build build.ninja: RERUN_CMAKE | /home/derek/Git/HansTheGatherer/CMakeLists.txt /usr/lib64/cmake/SDL3/SDL3Config.cmake /usr/lib64/cmake/SDL3/SDL3ConfigVersion.cmake /usr/lib64/cmake/SDL3/SDL3headersTargets.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets-relwithdebinfo.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets.cmake /usr/lib64/cmake/fmt/fmt-config-version.cmake /usr/lib64/cmake/fmt/fmt-config.cmake /usr/lib64/cmake/fmt/fmt-targets-relwithdebinfo.cmake /usr/lib64/cmake/fmt/fmt-targets.cmake /usr/lib64/cmake/spdlog/spdlogConfig.cmake /usr/lib64/cmake/spdlog/spdlogConfigTargets-release.cmake /usr/lib64/cmake/spdlog/spdlogConfigTargets.cmake /usr/lib64/cmake/spdlog/spdlogConfigVersion.cmake /usr/share/cmake/Modules/CMakeCInformation.cmake /usr/share/cmake/Modules/CMakeCXXInformation.cmake /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake /usr/share/cmake/Modules/CMakeGenericSystem.cmake /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake/Modules/CMakeLanguageInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake/Modules/CheckCSourceCompiles.cmake /usr/share/cmake/Modules/CheckIncludeFile.cmake /usr/share/cmake/Modules/CheckLibraryExists.cmake /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake/Modules/Compiler/GNU-C.cmake /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake/Modules/Compiler/GNU.cmake /usr/share/cmake/Modules/FeatureSummary.cmake /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake/Modules/FindPackageMessage.cmake /usr/share/cmake/Modules/FindThreads.cmake /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake/Modules/Linker/GNU-C.cmake /usr/share/cmake/Modules/Linker/GNU-CXX.cmake /usr/share/cmake/Modules/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake/Modules/Platform/Linux.cmake /usr/share/cmake/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.31.6/CMakeCCompiler.cmake CMakeFiles/3.31.6/CMakeCXXCompiler.cmake CMakeFiles/3.31.6/CMakeSystem.cmake pool = console ############################################# # A missing CMake input file is not an error. -build /home/derek/Git/HansTheGatherer/CMakeLists.txt /usr/lib64/cmake/SDL3/SDL3Config.cmake /usr/lib64/cmake/SDL3/SDL3ConfigVersion.cmake /usr/lib64/cmake/SDL3/SDL3headersTargets.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets-relwithdebinfo.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets.cmake /usr/share/cmake/Modules/CMakeCInformation.cmake /usr/share/cmake/Modules/CMakeCXXInformation.cmake /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake/Modules/CMakeGenericSystem.cmake /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake/Modules/CMakeLanguageInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake/Modules/Compiler/GNU-C.cmake /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake/Modules/Compiler/GNU.cmake /usr/share/cmake/Modules/FeatureSummary.cmake /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake /usr/share/cmake/Modules/Linker/GNU-C.cmake /usr/share/cmake/Modules/Linker/GNU-CXX.cmake /usr/share/cmake/Modules/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake/Modules/Platform/Linux.cmake /usr/share/cmake/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.31.6/CMakeCCompiler.cmake CMakeFiles/3.31.6/CMakeCXXCompiler.cmake CMakeFiles/3.31.6/CMakeSystem.cmake: phony +build /home/derek/Git/HansTheGatherer/CMakeLists.txt /usr/lib64/cmake/SDL3/SDL3Config.cmake /usr/lib64/cmake/SDL3/SDL3ConfigVersion.cmake /usr/lib64/cmake/SDL3/SDL3headersTargets.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets-relwithdebinfo.cmake /usr/lib64/cmake/SDL3/SDL3sharedTargets.cmake /usr/lib64/cmake/fmt/fmt-config-version.cmake /usr/lib64/cmake/fmt/fmt-config.cmake /usr/lib64/cmake/fmt/fmt-targets-relwithdebinfo.cmake /usr/lib64/cmake/fmt/fmt-targets.cmake /usr/lib64/cmake/spdlog/spdlogConfig.cmake /usr/lib64/cmake/spdlog/spdlogConfigTargets-release.cmake /usr/lib64/cmake/spdlog/spdlogConfigTargets.cmake /usr/lib64/cmake/spdlog/spdlogConfigVersion.cmake /usr/share/cmake/Modules/CMakeCInformation.cmake /usr/share/cmake/Modules/CMakeCXXInformation.cmake /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake /usr/share/cmake/Modules/CMakeGenericSystem.cmake /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake/Modules/CMakeLanguageInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake/Modules/CheckCSourceCompiles.cmake /usr/share/cmake/Modules/CheckIncludeFile.cmake /usr/share/cmake/Modules/CheckLibraryExists.cmake /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake/Modules/Compiler/GNU-C.cmake /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake/Modules/Compiler/GNU.cmake /usr/share/cmake/Modules/FeatureSummary.cmake /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake/Modules/FindPackageMessage.cmake /usr/share/cmake/Modules/FindThreads.cmake /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake /usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake/Modules/Linker/GNU-C.cmake /usr/share/cmake/Modules/Linker/GNU-CXX.cmake /usr/share/cmake/Modules/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/GNU.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake/Modules/Platform/Linux-GNU.cmake /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake/Modules/Platform/Linux.cmake /usr/share/cmake/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.31.6/CMakeCCompiler.cmake CMakeFiles/3.31.6/CMakeCXXCompiler.cmake CMakeFiles/3.31.6/CMakeSystem.cmake: phony ############################################# diff --git a/build/compile_commands.json b/build/compile_commands.json index 0f8c0bf..6783772 100644 --- a/build/compile_commands.json +++ b/build/compile_commands.json @@ -1,7 +1,7 @@ [ { "directory": "/home/derek/Git/HansTheGatherer/build", - "command": "/usr/bin/c++ -std=gnu++23 -o CMakeFiles/HansTheGatherer.dir/main.cpp.o -c /home/derek/Git/HansTheGatherer/main.cpp", + "command": "/usr/bin/c++ -DFMT_SHARED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -std=gnu++20 -o CMakeFiles/HansTheGatherer.dir/main.cpp.o -c /home/derek/Git/HansTheGatherer/main.cpp", "file": "/home/derek/Git/HansTheGatherer/main.cpp", "output": "CMakeFiles/HansTheGatherer.dir/main.cpp.o" } diff --git a/main.cpp b/main.cpp index 1c35fee..46ec4f4 100644 --- a/main.cpp +++ b/main.cpp @@ -1,7 +1,52 @@ -#include #include +#include +#include +#include + +const uint8_t image_data[] = +{ +#embed "main.cpp" +}; auto main() -> int { - std::println("Hello World!"); + spdlog::info("Initialize SDL..."); + bool sdl_success = SDL_Init(SDL_INIT_VIDEO); + if (!sdl_success) { + spdlog::critical("Failed to initialize SDL!\nCause: {}", SDL_GetError()); + std::terminate(); + } + + auto *sdl_window = SDL_CreateWindow("HansTheGatherer", 400, 280, 0); + if (sdl_window == nullptr) { + spdlog::critical("Failed to create SDL window!\nCause: {}", SDL_GetError()); + } + + auto *sdl_renderer = SDL_CreateRenderer(sdl_window, nullptr); + if (sdl_renderer == nullptr) { + spdlog::critical("Failed to create SDL renderer!\nCause: {}", + SDL_GetError()); + } + + bool exit_gameloop = false; + while (!exit_gameloop) { + SDL_Event event; + while (SDL_PollEvent(&event)) { + switch (event.type) { + case SDL_EVENT_QUIT: + exit_gameloop = true; + break; + case SDL_EVENT_KEY_DOWN: + if (event.key.key == SDLK_ESCAPE) { + exit_gameloop = true; + } + break; + } + } + } + + SDL_DestroyRenderer(sdl_renderer); + SDL_DestroyWindow(sdl_window); + SDL_Quit(); + return 0; }