Skip to content

Repository files navigation

Raylib Cross-Platform Test Application

  • A minimal cross-platform example using raylib demonstrating a resizable window, simple input handling (keyboard, mouse, touch), and basic rendering.

Features

  • Resizable window: The app uses a resizable window and reports current screen size.
  • Input: Move the circle with arrow keys, mouse, or touch input.
  • Status overlay: Shows FPS and current screen resolution.

Requirements

  • CMake 3.24 or newer
  • A C/C++ compiler supporting C++17 (MSVC, clang, gcc)
  • raylib library installed and findable by CMake

Build (basic)

  1. Create a build directory and run CMake:
mkdir build && cd build
cmake ..
cmake --build . --config Release
  1. The produced executable name is controlled by EXE_NAME in CMakeLists.txt.

Platform notes:

  • Windows: Use Visual Studio generator or pass -G "Ninja" if you prefer Ninja.
  • macOS: You can build with Xcode or a Unix-style generator; the CMake file has basic Apple bundle settings for iOS/macOS.
  • Linux: Ensure Threads and common system libraries are available; the CMake script links m and dl where needed.

Run

  • Run the generated executable from the build output. Example on Unix-like systems:
./MyRaylibApp

Controls

  • Arrow keys: move the circle
  • Mouse / touch: click or touch to move the circle to pointer position
  • Esc or close window: exit

Project layout

  • src/main.cpp — main application source
  • CMakeLists.txt — build configuration
  • LICENSE — project license

Binary

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "variables": [
        {
          "name": "raylib_DIR",
          "value": "C:/raylib/lib/cmake/raylib",
          "type": "PATH"
        }
      ]
    },
    {
      "name": "x64-Release",
      "generator": "Ninja",
      "configurationType": "Release",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "variables": [
        {
          "name": "raylib_DIR",
          "value": "C:/raylib/lib/cmake/raylib",
          "type": "PATH"
        }
      ]
    }
  ]
}

License

See the LICENSE file at the repository root.

About

A minimal cross-platform example using raylib demonstrating a resizable window, simple input handling (keyboard, mouse, touch), and basic rendering.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages