diff options
Diffstat (limited to 'vendor/rlImGui-main/raylib_premake5.lua')
| -rw-r--r-- | vendor/rlImGui-main/raylib_premake5.lua | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/vendor/rlImGui-main/raylib_premake5.lua b/vendor/rlImGui-main/raylib_premake5.lua new file mode 100644 index 0000000..dab8d7f --- /dev/null +++ b/vendor/rlImGui-main/raylib_premake5.lua @@ -0,0 +1,134 @@ +-- Copyright (c) 2020-2024 Jeffery Myers +-- +--This software is provided "as-is", without any express or implied warranty. In no event +--will the authors be held liable for any damages arising from the use of this software. + +--Permission is granted to anyone to use this software for any purpose, including commercial +--applications, and to alter it and redistribute it freely, subject to the following restrictions: + +-- 1. The origin of this software must not be misrepresented; you must not claim that you +-- wrote the original software. If you use this software in a product, an acknowledgment +-- in the product documentation would be appreciated but is not required. +-- +-- 2. Altered source versions must be plainly marked as such, and must not be misrepresented +-- as being the original software. +-- +-- 3. This notice may not be removed or altered from any source distribution. + +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 + +function get_raylib_dir() + if (os.isdir("raylib-master")) then + return "raylib-master" + end + if (os.isdir("../raylib-master")) then + return "raylib-master" + end + return "raylib" +end + +function link_raylib() + links {"raylib"} + + raylib_dir = get_raylib_dir(); + includedirs {raylib_dir .. "/src" } + includedirs {raylib_dir .."/src/external" } + includedirs {raylib_dir .."/src/external/glfw/include" } + platform_defines() + filter "action:vs*" + defines{"_WINSOCK_DEPRECATED_NO_WARNINGS", "_CRT_SECURE_NO_WARNINGS"} + dependson {"raylib"} + links {"raylib.lib"} + characterset ("MBCS") + buildoptions { "/Zc:__cplusplus" } + + filter "system:windows" + defines{"_WIN32"} + links {"winmm", "gdi32"} + libdirs {"bin/%{cfg.buildcfg}"} + + filter "system:linux" + links {"pthread", "m", "dl", "rt", "X11"} + + filter "system:macosx" + links {"OpenGL.framework", "Cocoa.framework", "IOKit.framework", "CoreFoundation.framework", "CoreAudio.framework", "CoreVideo.framework", "AudioToolbox.framework"} + + filter{} +end + +function include_raylib() + raylib_dir = get_raylib_dir(); + includedirs {raylib_dir .."/src" } + includedirs {raylib_dir .."/src/external" } + includedirs {raylib_dir .."/src/external/glfw/include" } + platform_defines() + + filter "action:vs*" + defines{"_WINSOCK_DEPRECATED_NO_WARNINGS", "_CRT_SECURE_NO_WARNINGS"} + + filter{} +end + +project "raylib" + kind "StaticLib" + + platform_defines() + + location "build" + language "C" + cdialect "C99" + cppdialect "C++17" + targetdir "bin/%{cfg.buildcfg}" + + filter "action:vs*" + defines{"_WINSOCK_DEPRECATED_NO_WARNINGS", "_CRT_SECURE_NO_WARNINGS"} + characterset ("MBCS") + buildoptions { "/Zc:__cplusplus" } + filter{} + + raylib_dir = get_raylib_dir(); + print ("Using raylib dir " .. raylib_dir); + 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{} |
