From 344497630ac9ef2d46287cd574472ce369694076 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Wed, 19 Jan 2022 20:49:26 -0500 Subject: Replace build system with cmake --- .gitignore | 5 +---- CMakeLists.txt | 18 ++++++++++++++++++ Makefile | 17 ----------------- configure | 8 -------- example.c | 5 ++++- 5 files changed, 23 insertions(+), 30 deletions(-) create mode 100644 CMakeLists.txt delete mode 100644 Makefile delete mode 100755 configure diff --git a/.gitignore b/.gitignore index 0ca9d1f..eb62ecc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,5 @@ *.bmp -*.o CARDS.DLL FREECELL.EXE SOL.EXE -config.mk -dump -example +build/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..06ae91f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.10) + +project(cards) + +find_package(SDL2 REQUIRED) + +if(NOT MSVC) + add_compile_options(-Wall -Wextra -pedantic) +endif() + +add_library(cards STATIC cards.c) +target_link_libraries(cards SDL2::SDL2) + +add_executable(example EXCLUDE_FROM_ALL example.c) +target_link_libraries(example cards SDL2::SDL2main) + +add_executable(dump EXCLUDE_FROM_ALL dump.c) +target_link_libraries(dump cards) diff --git a/Makefile b/Makefile deleted file mode 100644 index 488245d..0000000 --- a/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -CFLAGS += -std=c99 -Wall -Wextra -Wpedantic - -include config.mk - -BINS = dump example - -all: ${BINS} - -${BINS}: cards.o - -.o: - ${CC} ${LDFLAGS} $< cards.o ${LDLIBS} -o $@ - -cards.o dump.o example.o: cards.h - -clean: - rm -f ${BINS} *.o *.bmp diff --git a/configure b/configure deleted file mode 100755 index ba1718c..0000000 --- a/configure +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -set -eu -cflags=$(pkg-config --cflags sdl2) -ldlibs=$(pkg-config --libs sdl2) -cat > config.mk << EOF -CFLAGS += ${cflags} -LDLIBS += ${ldlibs} -EOF diff --git a/example.c b/example.c index 8790d65..859adc1 100644 --- a/example.c +++ b/example.c @@ -39,7 +39,10 @@ enum { WindowHeight = MarginY + 4 * DeltaY, }; -int main(void) { +int main(int argc, char *argv[]) { + (void)argc; + (void)argv; + if (SDL_Init(SDL_INIT_VIDEO) < 0) err("SDL_Init"); struct SDL_RWops *rw = SDL_RWFromFile("CARDS.DLL", "rb"); -- cgit 1.4.1