No description
Find a file
2025-08-09 20:36:07 -04:00
src feat: Add basic SDL2 window application 2025-08-09 20:36:07 -04:00
.gitignore docs: Update .gitignore for C++ and common build artifacts 2025-08-09 20:36:07 -04:00
build.bat build: Add cross-platform build scripts (Bash and Batch) 2025-08-09 20:36:07 -04:00
build.sh build: Add cross-platform build scripts (Bash and Batch) 2025-08-09 20:36:07 -04:00
CMakeLists.txt feat: Introduce CMake build system for C++ project 2025-08-09 20:36:07 -04:00
README.md docs: Update README with C++ project details and build guide 2025-08-09 20:36:07 -04:00

Observations on the Sublime Dynamics of Eroding Matter

A C++ project using SDL2 for graphics and window management.

Prerequisites

macOS

Install SDL2 using Homebrew:

brew install sdl2

Ubuntu/Debian

sudo apt-get install libsdl2-dev

Windows

Download SDL2 development libraries from SDL2 website or use vcpkg:

vcpkg install sdl2

Building

Unix-like Systems (macOS/Linux)

# Build the project
./build.sh

# Clean and rebuild
./build.sh -c

# Check dependencies only
./build.sh --check-only

# Show help
./build.sh -h

Windows

# Build the project
build.bat

# Clean and rebuild
build.bat -c

# Check dependencies only
build.bat --check-only

# Show help
build.bat -h

Option 2: Manual Build

  1. Create a build directory:
mkdir build
cd build
  1. Configure with CMake:
cmake ..
  1. Build the project:
make

Running

From the build directory:

./observations-on-the-sublime-dynamics-of-eroding-matter

Build Script Features

The build scripts provide:

  • Dependency checking: Automatically verifies CMake, C++ compiler, and SDL2
  • Cross-platform support: Works on macOS, Linux, and Windows
  • Smart SDL2 detection: Finds SDL2 installed via Homebrew, package managers, or system paths
  • Build optimization: Uses parallel compilation and Release configuration
  • Error handling: Clear error messages and helpful installation instructions
  • Flexible options: Clean builds, dependency checks, and future test/install support

Features

  • SDL2 window with 800x600 resolution
  • Black background
  • Proper event handling (close window to exit)
  • Clean resource management