diff --git a/.gitignore b/.gitignore index f6103c22..2a1c12ee 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ Release MinSizeRel RelWithDebInfo *.xcodeproj +bin +bin-int # CMake files Makefile diff --git a/premake5.lua b/premake5.lua index 13e7dba7..cb72ce4a 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,45 +1,76 @@ project "GLFW" - kind "StaticLib" - language "C" - + kind "StaticLib" + language "C" + targetdir ("bin/" .. outputdir .. "/%{prj.name}") - objdir ("bin-int/" .. outputdir .. "/%{prj.name}") + objdir ("bin-int/" .. outputdir .. "/%{prj.name}") files { - "include/GLFW/glfw3.h", - "include/GLFW/glfw3native.h", - "src/glfw_config.h", - "src/context.c", - "src/init.c", - "src/input.c", - "src/monitor.c", - "src/vulkan.c", - "src/window.c" - } - + "include/GLFW/glfw3.h", + "include/GLFW/glfw3native.h", + "src/glfw_config.h", + "src/context.c", + "src/init.c", + "src/input.c", + "src/monitor.c", + "src/vulkan.c", + "src/window.c" + } + filter "system:linux" + pic "On" + + systemversion "latest" + staticruntime "On" + + files + { + "src/x11_init.c", + "src/x11_monitor.c", + "src/x11_window.c", + "src/xkb_unicode.c", + "src/posix_time.c", + "src/posix_thread.c", + "src/glx_context.c", + "src/egl_context.c", + "src/osmesa_context.c", + "src/linux_joystick.c" + } + + defines + { + "_GLFW_X11" + } + filter "system:windows" - buildoptions { "-std=c11", "-lgdi32" } - systemversion "10.0.17134.0" - staticruntime "On" - - files - { - "src/win32_init.c", - "src/win32_joystick.c", - "src/win32_monitor.c", - "src/win32_time.c", - "src/win32_thread.c", - "src/win32_window.c", - "src/wgl_context.c", - "src/egl_context.c", - "src/osmesa_context.c" - } + buildoptions { "-std=c11", "-lgdi32" } + + systemversion "latest" + staticruntime "On" + + files + { + "src/win32_init.c", + "src/win32_joystick.c", + "src/win32_monitor.c", + "src/win32_time.c", + "src/win32_thread.c", + "src/win32_window.c", + "src/wgl_context.c", + "src/egl_context.c", + "src/osmesa_context.c" + } defines { - "_GLFW_WIN32", - "_CRT_SECURE_NO_WARNINGS" + "_GLFW_WIN32", + "_CRT_SECURE_NO_WARNINGS" } - filter { "system:windows", "configurations:Release" } - buildoptions "/MT" + + filter "configurations:Debug" + runtime "Debug" + symbols "on" + + filter "configurations:Release" + runtime "Release" + optimize "on"