From 57d35a9fd0aff76df2cac7e03efbb607c4502dab Mon Sep 17 00:00:00 2001 From: Juraj Michalek Date: Sat, 19 Apr 2014 20:57:36 +0200 Subject: [PATCH] add support for linux build --- sdl/01-sdl2-init/build.gradle | 6 ++++-- sdl/01-sdl2-init/src/main/c/sdl-init.c | 2 +- sdl/02-sdl2-video/build.gradle | 7 ++++--- sdl/02-sdl2-video/src/main/c/sdl2-video.c | 2 +- sdl/build.gradle | 19 ++++++++++++++++++- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/sdl/01-sdl2-init/build.gradle b/sdl/01-sdl2-init/build.gradle index 2eb8f75..382ab55 100644 --- a/sdl/01-sdl2-init/build.gradle +++ b/sdl/01-sdl2-init/build.gradle @@ -9,7 +9,7 @@ sources { include "**/*.c" } exportedHeaders { - srcDir "../build/SDL2-2.0.3/include" + srcDir "../build/include" } } } @@ -20,7 +20,9 @@ executables { binaries.all { if (toolChain in VisualCpp) { cCompiler.args "/MD" - linker.args "/SUBSYSTEM:CONSOLE", "/LIBPATH:../build/SDL2-2.0.3/lib/x86/", "SDL2main.lib", "SDL2.lib" + linker.args "/SUBSYSTEM:CONSOLE", "/LIBPATH:../build/lib/", "SDL2main.lib", "SDL2.lib" + } else if (toolChain in Gcc) { + linker.args "-lSDL2" } } } diff --git a/sdl/01-sdl2-init/src/main/c/sdl-init.c b/sdl/01-sdl2-init/src/main/c/sdl-init.c index 04e029d..7cbc701 100644 --- a/sdl/01-sdl2-init/src/main/c/sdl-init.c +++ b/sdl/01-sdl2-init/src/main/c/sdl-init.c @@ -1,6 +1,6 @@ // SDL2 example - initialize and quit -#include "SDL.h" +#include "SDL2/SDL.h" int main(int argc, char** argv){ SDL_Init(SDL_INIT_EVERYTHING); diff --git a/sdl/02-sdl2-video/build.gradle b/sdl/02-sdl2-video/build.gradle index 2eb8f75..65148ac 100644 --- a/sdl/02-sdl2-video/build.gradle +++ b/sdl/02-sdl2-video/build.gradle @@ -5,11 +5,10 @@ sources { main { c { source { - // Include just source, avoid including *.swp and other helper files include "**/*.c" } exportedHeaders { - srcDir "../build/SDL2-2.0.3/include" + srcDir "../build/include" } } } @@ -20,7 +19,9 @@ executables { binaries.all { if (toolChain in VisualCpp) { cCompiler.args "/MD" - linker.args "/SUBSYSTEM:CONSOLE", "/LIBPATH:../build/SDL2-2.0.3/lib/x86/", "SDL2main.lib", "SDL2.lib" + linker.args "/SUBSYSTEM:CONSOLE", "/LIBPATH:../build/lib/", "SDL2main.lib", "SDL2.lib" + } else if (toolChain in Gcc) { + linker.args "-lSDL2" } } } diff --git a/sdl/02-sdl2-video/src/main/c/sdl2-video.c b/sdl/02-sdl2-video/src/main/c/sdl2-video.c index ea60c90..5f92a2b 100644 --- a/sdl/02-sdl2-video/src/main/c/sdl2-video.c +++ b/sdl/02-sdl2-video/src/main/c/sdl2-video.c @@ -2,7 +2,7 @@ // #include -#include "SDL.h" +#include "SDL2/SDL.h" int main(int argc, char* argv[]) { SDL_Window *win = NULL; diff --git a/sdl/build.gradle b/sdl/build.gradle index 9a6abd3..43d3b4b 100644 --- a/sdl/build.gradle +++ b/sdl/build.gradle @@ -1,3 +1,5 @@ +apply plugin: 'c' + buildscript { repositories { mavenCentral() @@ -22,10 +24,25 @@ task extractSdl(type: Copy) { into 'build/' } +task copySdlLib(type: Copy) { + from 'build/SDL2-2.0.3/lib/x86' + into 'build/lib/' +} + +task copySdlInclude(type: Copy) { + description = "Copy SDL2 include to location compatible with Linux builds." + from "build/SDL2/include" + into "build/include/SDL2" +} + task prepare { description = "Prepare build environment for SDL2" } extractSdl.dependsOn downloadSdl -prepare.dependsOn extractSdl +copySdlLib.dependsOn extractSdl +copySdlInclude.dependsOn extractSdl + +prepare.dependsOn copySdlInclude +prepare.dependsOn copySdlLib