rocket/ogl_editor/units.lua
2015-12-13 10:05:39 +01:00

152 lines
3.0 KiB
Lua

require "tundra.syntax.glob"
require "tundra.syntax.osx-bundle"
StaticLibrary {
Name = "mxml",
Env = {
CPPPATH = { ".", "external/mxml" },
PROGOPTS = {
{ "/SUBSYSTEM:WINDOWS", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } },
},
CPPDEFS = {
{"_THREAD_SAFE", "_REENTRANT"; Config = "macosx-*-*" }
},
CCOPTS = {
{ "-Wall"; Config = "macosx-clang-*" },
},
},
Sources = {
Glob {
Dir = "external/mxml",
Extensions = { ".c" },
},
},
}
StaticLibrary {
Name = "emgui",
Env = {
CPPPATH = { ".", "emgui/src", "emgui/include" },
PROGOPTS = {
{ "/SUBSYSTEM:WINDOWS", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } },
},
CPPDEFS = {
{ "EMGUI_MACOSX", Config = "macosx-*-*" },
{ "EMGUI_WINDOWS"; Config = { "win32-*-*", "win64-*-*" } },
},
CCOPTS = {
{ "-Werror", "-pedantic-errors", "-Wall", "-Wno-format-security"; Config = "macosx-clang-*" },
},
},
Sources = {
FGlob {
Dir = "emgui/src",
Extensions = { ".c", ".h" },
Filters = {
{ Pattern = "macosx"; Config = "linux-*-*" },
{ Pattern = "macosx"; Config = "macosx-*-*" },
{ Pattern = "windows"; Config = { "win32-*-*", "win64-*-*" } },
},
},
},
}
StaticLibrary {
Name = "sync",
Sources = {
Glob {
Dir = "../lib",
Extensions = { ".c" },
},
},
}
Program {
Name = "editor",
Env = {
CPPPATH = { ".", "src",
"emgui/include",
"External/mxml" },
PROGOPTS = {
{ "/SUBSYSTEM:WINDOWS", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } },
},
CPPDEFS = {
{ "EMGUI_MACOSX", Config = "macosx-*-*" },
{ "ROCKETGUI_WIN32"; Config = { "win32-*-*", "win64-*-*" } },
},
CCOPTS = {
{ "-Werror", "-pedantic-errors", "-Wall", "-Wno-format-security"; Config = "macosx-clang-*" },
},
},
Sources = {
FGlob {
Dir = "src",
Extensions = { ".c", ".m", ".h" },
Filters = {
{ Pattern = "linux"; Config = "linux-*-*" },
{ Pattern = "macosx"; Config = "macosx-*-*" },
{ Pattern = "windows"; Config = { "win32-*-*", "win64-*-*" } },
},
},
{ "data/windows/editor.rc" ; Config = { "win32-*-*", "win64-*-*" } },
},
Depends = { "sync", "mxml", "emgui" },
Libs = {
{ "wsock32.lib", "opengl32.lib", "glu32.lib", "kernel32.lib", "user32.lib", "gdi32.lib", "Comdlg32.lib", "Advapi32.lib" ; Config = "win32-*-*" },
{ "GL", "SDL", "m"; Config = "linux-*-*" }
},
Frameworks = { "Cocoa", "OpenGL", "Carbon" },
}
Program {
Name = "basic_example",
Sources = { "basic_example/basic_example.c" },
Depends = { "sync" },
Libs = {
{ "wsock32.lib"; Config = "win32-*-*" },
},
}
local rocketBundle = OsxBundle
{
Depends = { "editor" },
Target = "$(OBJECTDIR)/RocketEditor.app",
InfoPList = "data/macosx/Info.plist",
Executable = "$(OBJECTDIR)/editor",
Resources = {
CompileNib { Source = "data/macosx/appnib.xib", Target = "appnib.nib" },
"data/macosx/icon.icns",
},
}
local native = require('tundra.native')
if native.host_platform == "macosx" then
Default(rocketBundle)
else
Default "editor"
end
Default "basic_example"