From 87fdfd116edd78cd863ba7fa3a2422f97935aae6 Mon Sep 17 00:00:00 2001 From: Sinan-Karakaya Date: Tue, 30 Apr 2024 17:32:51 +0200 Subject: [PATCH] added premake --- premake5.lua | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 premake5.lua diff --git a/premake5.lua b/premake5.lua new file mode 100644 index 000000000..af19fa937 --- /dev/null +++ b/premake5.lua @@ -0,0 +1,63 @@ +function platform_defines() + defines{"PLATFORM_DESKTOP"} + + filter {"options:graphics=opengl43"} + defines{"GRAPHICS_API_OPENGL_43"} + + filter {"options:graphics=opengl33"} + defines{"GRAPHICS_API_OPENGL_33"} + + filter {"options:graphics=opengl21"} + defines{"GRAPHICS_API_OPENGL_21"} + + filter {"options:graphics=opengl11"} + defines{"GRAPHICS_API_OPENGL_11"} + + filter {"system:macosx"} + disablewarnings {"deprecated-declarations"} + + filter {"system:linux"} + defines {"_GLFW_X11"} + defines {"_GNU_SOURCE"} +-- This is necessary, otherwise compilation will fail since +-- there is no CLOCK_MONOTOMIC. raylib claims to have a workaround +-- to compile under c99 without -D_GNU_SOURCE, but it didn't seem +-- to work. raylib's Makefile also adds this flag, probably why it went +-- unnoticed for so long. +-- It compiles under c11 without -D_GNU_SOURCE, because c11 requires +-- to have CLOCK_MONOTOMIC +-- See: https://github.com/raysan5/raylib/issues/2729 + + filter{} +end + +project "raylib" + kind "StaticLib" + raylib_dir = "." + + platform_defines() + + language "C" + targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") + objdir ("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") + + filter "action:vs*" + defines{"_WINSOCK_DEPRECATED_NO_WARNINGS", "_CRT_SECURE_NO_WARNINGS"} + characterset ("MBCS") + buildoptions { "/Zc:__cplusplus" } + filter{} + + includedirs {raylib_dir .. "/src", raylib_dir .. "/src/external/glfw/include" } + vpaths + { + ["Header Files"] = { raylib_dir .. "/src/**.h"}, + ["Source Files/*"] = { raylib_dir .. "/src/**.c"}, + } + files {raylib_dir .. "/src/*.h", raylib_dir .. "/src/*.c"} + + removefiles {raylib_dir .. "/src/rcore_*.c"} + + filter { "system:macosx", "files:" .. raylib_dir .. "/src/rglfw.c" } + compileas "Objective-C" + + filter{} \ No newline at end of file