Meson build system

This commit is contained in:
Rendo 2026-08-16 02:40:59 +05:00
commit e0606f89d5
16 changed files with 53 additions and 38 deletions

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
build/
build*/

View file

@ -1,3 +0,0 @@
-Wall
-lstdc++
-lm

View file

@ -1,34 +0,0 @@
CP=clang
CROSS_CP=x86_64-w64-mingw32-g++
CFLAGS=$(shell cat compiler_flags.txt | tr '\n' ' ')
WINCFLAGS=-Wall -lm -Iinclude/windows -lraylib -lopengl32 -lwinmm -lgdi32 -lshell32 -Llib/windows/ -static
FILES=$(wildcard src/*.cpp)
.PHONY : clean cross-windows all release debug
build/linux/raylib-test-linux-debug: $(FILES)
mkdir -p build/linux
$(CP) $(FILES) lib/linux/libraylib.a $(CFLAGS) -lX11 -g3 -o build/linux/raylib-test-linux-debug
build/linux/raylib-test-linux-release: $(FILES)
mkdir -p build/linux
$(CP) $(FILES) $(CFLAGS) -O3 -o build/linux/raylib-test-linux-release
build/windows/raylib-test-windows-debug.exe: $(FILES)
mkdir -p build/windows
$(CROSS_CP) $(FILES) $(WINCFLAGS) -o build/windows/raylib-test-windows-debug.exe
build/windows/raylib-test-windows-release.exe: $(FILES)
mkdir -p build/windows
$(CROSS_CP) $(FILES) $(WINCFLAGS) -O3 -o build/windows/raylib-test-windows-release.exe
release: build/linux/raylib-test-linux-release build/windows/raylib-test-windows-release.exe
debug: build/linux/raylib-test-linux-debug build/windows/raylib-test-windows-debug.exe
all: release debug
cross-windows: build/windows/raylib-test-windows-debug.exe
clean :
rm -r build/*

47
meson.build Normal file
View file

@ -0,0 +1,47 @@
project('pacman-raylib','cpp')
incdir = include_directories(['third_party/include','include'])
compiler = meson.get_compiler('cpp')
if host_machine.system() == 'windows'
raylib_lib = meson.current_source_dir() / 'third_party/lib/windows/libraylib.a'
deps = [
compiler.find_library('winmm'),
compiler.find_library('gdi32'),
compiler.find_library('opengl32'),
]
else
raylib_lib = meson.current_source_dir() / 'third_party/lib/linux/libraylib.a'
deps = [
compiler.find_library('m'),
compiler.find_library('dl'),
compiler.find_library('pthread'),
compiler.find_library('X11'),
]
endif
src_files = [
'src/atlas.cpp',
'src/entity.cpp',
'src/ghost.cpp',
'src/main.cpp',
'src/maploader.cpp',
'src/pacman.cpp',
'src/scorepoint.cpp',
'src/wall.cpp',
'src/world.cpp',
]
raylib_dep = declare_dependency(
include_directories: incdir,
link_args: raylib_lib,
dependencies: deps
)
executable('pacman-raylib',
files(src_files),
include_directories: incdir,
dependencies: [raylib_dep,deps])

View file

@ -1,12 +1,17 @@
#include <iostream>
#include <raylib.h>
#include <raymath.h>
#include "world.h"
int main() {
Vector2i window_size = get_map_size("assets/map");
std::cout << "Starting the window" << std::endl;
InitWindow(window_size.x, window_size.y, "Zoomba");
std::cout << "Window started" << std::endl;
create_world_with(1./5.);
World& world = get_world();