first commit

This commit is contained in:
Irlan Robson
2016-12-18 18:39:47 -02:00
commit 8f29bc7e21
232 changed files with 103257 additions and 0 deletions

169
premake5.lua Normal file
View File

@ -0,0 +1,169 @@
-- Irlan Robson
-- Bounce premake script
-- http://industriousone.com/premake
-- paths as variables in the case files are moved
solution_name = "bounce"
working_dir = "."
solution_dir = "build/"
external_dir = "external/"
inc_dir = "include/"
src_dir = "src/"
obj_dir = "/obj/"
bin_dir = "/bin/"
action = _ACTION
-- premake main
solution (solution_name)
location ( solution_dir .. "/" .. action )
configurations { "debug", "release" }
platforms { "x32", "x64" }
filter { "platforms:x32" }
system "windows"
architecture "x32"
filter { "platforms:x64" }
system "windows"
architecture "x64"
-- note the use of "!" before objdir to force the specified path
configuration "debug"
targetdir ( solution_dir .. action .. bin_dir .. "%{cfg.platform}/%{cfg.buildcfg}/%{prj.name}" )
objdir ( "!" .. solution_dir .. action .. obj_dir .. "%{cfg.platform}/%{cfg.buildcfg}/%{prj.name}" )
defines { "_DEBUG" }
symbols "On"
rtti "Off"
flags { "FloatFast" }
configuration "release"
targetdir ( solution_dir .. action .. bin_dir .. "%{cfg.platform}/%{cfg.buildcfg}/%{prj.name}" )
objdir ( "!" .. solution_dir .. action .. obj_dir .. "%{cfg.platform}/%{cfg.buildcfg}/%{prj.name}" )
defines { "NDEBUG" }
optimize "On"
rtti "Off"
flags { "FloatFast" }
configuration "windows"
defines { "WIN32", "_WINDOWS" }
project "bounce"
kind "StaticLib"
language "C++"
location ( solution_dir .. action )
files
{
inc_dir .. "/bounce/**.h",
inc_dir .. "/bounce/**.inl",
src_dir .. "/bounce/**.cpp"
}
includedirs { inc_dir }
vpaths { [""] = "bounce" }
project "glad"
kind "StaticLib"
language "C"
location ( solution_dir .. action )
files
{
external_dir .. "/glad/**.h",
external_dir .. "/glad/**.c"
}
includedirs { external_dir }
defines { "_CRT_SECURE_NO_WARNINGS" }
vpaths { ["Headers"] = "**.h", ["Sources"] = "**.c" }
project "glfw"
kind "StaticLib"
language "C"
location ( solution_dir .. action )
-- windows headers and sources
configuration { "windows" }
files
{
external_dir .. "/glfw/egl_context.h",
external_dir .. "/glfw/glfw3.h",
external_dir .. "/glfw/glfw3native.h",
external_dir .. "/glfw/glfw_config.h",
external_dir .. "/glfw/wgl_context.h",
external_dir .. "/glfw/win32_joystick.h",
external_dir .. "/glfw/win32_platform.h",
external_dir .. "/glfw/context.c",
external_dir .. "/glfw/egl_context.c",
external_dir .. "/glfw/init.c",
external_dir .. "/glfw/input.c",
external_dir .. "/glfw/monitor.c",
external_dir .. "/glfw/vulkan.c",
external_dir .. "/glfw/wgl_context.c",
external_dir .. "/glfw/win32_init.c",
external_dir .. "/glfw/win32_joystick.c",
external_dir .. "/glfw/win32_monitor.c",
external_dir .. "/glfw/win32_time.c",
external_dir .. "/glfw/win32_tls.c",
external_dir .. "/glfw/win32_window.c",
external_dir .. "/glfw/window.c"
}
includedirs { external_dir .. "/glfw" }
defines { "_GLFW_USE_CONFIG_H", "_CRT_SECURE_NO_WARNINGS" }
vpaths { ["Headers"] = "**.h", ["Sources"] = "**.c" }
project "imgui"
kind "StaticLib"
language "C++"
location ( solution_dir .. action )
files
{
external_dir .. "/imgui/**.h",
external_dir .. "/imgui/**.cpp"
}
includedirs { external_dir }
defines { "_CRT_SECURE_NO_WARNINGS" }
vpaths { ["Headers"] = "**.h", ["Sources"] = "**.cpp" }
project "testbed"
kind "ConsoleApp"
language "C++"
location ( solution_dir .. action )
files
{
inc_dir .. "/testbed/**.h",
src_dir .. "/testbed/**.cpp"
}
includedirs { external_dir, inc_dir }
-- dependencies
links { "bounce", "glad", "glfw", "imgui" }
-- windows dependencies
configuration { "windows" }
links { "glu32", "opengl32", "winmm" }
vpaths { ["Headers"] = "**.h", ["Sources"] = "**.cpp" }
-- build
if os.is "windows" then
newaction
{
trigger = "solution",
description = "Make and open solution",
execute = function ()
os.execute ( "premake5 clean" )
os.execute ( "premake5 vs2015" )
os.execute ( "start " .. solution_dir .. "vs2015/bounce.sln" )
end
}
end
-- clean
newaction
{
trigger = "clean",
description = "Clean solution",
execute = function ()
os.rmdir( solution_dir )
end
}