mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-05-28 17:16:29 +03:00
Assets in eetest are loaded directly from the file system. App icon now is searched in the local relative path. Fixed some minor bugs. Added userdata pointer to the sprites events.
733 lines
20 KiB
Lua
733 lines
20 KiB
Lua
function newplatform(plf)
|
|
local name = plf.name
|
|
local description = plf.description
|
|
|
|
-- Register new platform
|
|
premake.platforms[name] = {
|
|
cfgsuffix = "_"..name,
|
|
iscrosscompiler = true
|
|
}
|
|
|
|
-- Allow use of new platform in --platfroms
|
|
table.insert(premake.option.list["platform"].allowed, { name, description })
|
|
table.insert(premake.fields.platforms.allowed, name)
|
|
|
|
-- Add compiler support
|
|
premake.gcc.platforms[name] = plf.gcc
|
|
end
|
|
|
|
function newgcctoolchain(toolchain)
|
|
newplatform {
|
|
name = toolchain.name,
|
|
description = toolchain.description,
|
|
gcc = {
|
|
cc = toolchain.prefix .. "gcc",
|
|
cxx = toolchain.prefix .. "g++",
|
|
ar = toolchain.prefix .. "ar",
|
|
cppflags = "-MMD " .. toolchain.cppflags
|
|
}
|
|
}
|
|
end
|
|
|
|
newplatform {
|
|
name = "clang",
|
|
description = "Clang",
|
|
gcc = {
|
|
cc = "clang",
|
|
cxx = "clang++",
|
|
ar = "ar",
|
|
cppflags = "-MMD "
|
|
}
|
|
}
|
|
|
|
newgcctoolchain {
|
|
name = "mingw32",
|
|
description = "Mingw32 to cross-compile windows binaries from *nix",
|
|
prefix = "i686-w64-mingw32-",
|
|
cppflags = ""
|
|
}
|
|
|
|
newgcctoolchain {
|
|
name ="android-arm7",
|
|
description = "Android ARMv7 (not implemented)",
|
|
prefix = iif( os.getenv("ANDROID_NDK"), os.getenv("ANDROID_NDK"), "" ) .. "arm-linux-androideabi-",
|
|
cppflags = "-MMD -arch=armv7 -march=armv7 -marm -mcpu=cortex-a8"
|
|
}
|
|
|
|
toolchain_path = os.getenv("TOOLCHAINPATH")
|
|
|
|
if not toolchain_path then
|
|
toolchain_path = ""
|
|
end
|
|
|
|
-- cross compiling from linux, totally experimental, using: http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/
|
|
newplatform {
|
|
name = "ios-cross-arm7",
|
|
description = "iOS ARMv7 (not implemented)",
|
|
gcc = {
|
|
cc = iif( toolchain_path, toolchain_path .. "ios-clang", "clang" ),
|
|
cxx = iif( toolchain_path, toolchain_path .. "ios-clang++", "clang++" ),
|
|
ar = iif( toolchain_path, "ar", "ar" ),
|
|
cppflags = "-MMD"
|
|
}
|
|
}
|
|
|
|
newgcctoolchain {
|
|
name ="ios-arm7",
|
|
description = "iOS ARMv7 (not implemented)",
|
|
prefix = iif( os.getenv("TOOLCHAINPATH"), os.getenv("TOOLCHAINPATH"), "" ),
|
|
cppflags = "-MMD -arch=armv7 -march=armv7 -marm -mcpu=cortex-a8"
|
|
}
|
|
|
|
newgcctoolchain {
|
|
name ="ios-x86",
|
|
description = "iOS x86 (not implemented)",
|
|
prefix = iif( os.getenv("TOOLCHAINPATH"), os.getenv("TOOLCHAINPATH"), "" ),
|
|
cppflags = "-m32 -march=i386"
|
|
}
|
|
|
|
if _OPTIONS.platform then
|
|
-- overwrite the native platform with the options::platform
|
|
premake.gcc.platforms['Native'] = premake.gcc.platforms[_OPTIONS.platform]
|
|
end
|
|
|
|
newoption { trigger = "with-libsndfile", description = "Build with libsndfile support." }
|
|
newoption { trigger = "with-static-freetype", description = "Build freetype as a static library." }
|
|
newoption { trigger = "with-static-eepp", description = "Force to build the demos and tests with eepp compiled statically" }
|
|
newoption { trigger = "with-static-backend", description = "It will try to compile the library with a static backend (only for gcc and mingw).\n\t\t\t\tThe backend should be placed in libs/your_platform/libYourBackend.a" }
|
|
newoption { trigger = "with-gles2", description = "Compile with GLES2 support" }
|
|
newoption { trigger = "with-gles1", description = "Compile with GLES1 support" }
|
|
newoption {
|
|
trigger = "with-backend",
|
|
description = "Select the backend to use for window and input handling.\n\t\t\tIf no backend is selected or if the selected is not installed the script will search for a backend present in the system, and will use it.\n\t\t\tIt's possible to build with more than one backend support.\n\t\t\t\tUse comma to separate the backends to build ( you can't mix SDL and SDL2, you'll get random crashes ).\n\t\t\t\tExample: --with-backend=SDL2,SFML",
|
|
allowed = {
|
|
{ "SDL", "SDL 1.2" },
|
|
{ "SDL2", "SDL2 (default and recommended)" },
|
|
{ "allegro5", "Allegro 5" },
|
|
{ "SFML", "SFML2 ( SFML 1.6 not supported )" }
|
|
}
|
|
}
|
|
|
|
function os.get_real()
|
|
if _OPTIONS.platform == "ios-arm7" or
|
|
_OPTIONS.platform == "ios-x86" or
|
|
_OPTIONS.platform == "ios-cross-arm7" then
|
|
return "ios"
|
|
end
|
|
|
|
if _OPTIONS.platform == "android-arm7" then
|
|
return "android"
|
|
end
|
|
|
|
if _OPTIONS.platform == "mingw32" then
|
|
return _OPTIONS.platform
|
|
end
|
|
|
|
return os.get()
|
|
end
|
|
|
|
function os.is_real( os_name )
|
|
return os.get_real() == os_name
|
|
end
|
|
|
|
function print_table( table_ref )
|
|
for _, value in pairs( table_ref ) do
|
|
print(value)
|
|
end
|
|
end
|
|
|
|
function args_contains( element )
|
|
return table.contains( _ARGS, element )
|
|
end
|
|
|
|
function multiple_insert( parent_table, insert_table )
|
|
for _, value in pairs( insert_table ) do
|
|
table.insert( parent_table, value )
|
|
end
|
|
end
|
|
|
|
function os_findlib( name )
|
|
if os.is("macosx") then
|
|
local path = os.findlib( name .. ".framework" )
|
|
|
|
if path then
|
|
return path
|
|
end
|
|
end
|
|
|
|
return os.findlib( name )
|
|
end
|
|
|
|
function get_backend_link_name( name )
|
|
if os.is("macosx") then
|
|
local fname = name .. ".framework"
|
|
|
|
if os.findlib( fname ) then -- Search for the framework
|
|
return fname
|
|
end
|
|
end
|
|
|
|
return name
|
|
end
|
|
|
|
function string.starts(String,Start)
|
|
if ( _ACTION ) then
|
|
return string.sub(String,1,string.len(Start))==Start
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
function is_vs()
|
|
return ( string.starts(_ACTION,"vs") )
|
|
end
|
|
|
|
link_list = { }
|
|
os_links = { }
|
|
backends = { }
|
|
static_backends = { }
|
|
backend_selected = false
|
|
|
|
function build_base_configuration( package_name )
|
|
includedirs { "src/eepp/helper/zlib" }
|
|
|
|
configuration "debug"
|
|
defines { "DEBUG" }
|
|
flags { "Symbols" }
|
|
if not is_vs() then
|
|
buildoptions{ "-Wall", "-std=gnu99" }
|
|
end
|
|
targetname ( package_name .. "-debug" )
|
|
|
|
configuration "release"
|
|
defines { "NDEBUG" }
|
|
flags { "Optimize" }
|
|
if not is_vs() then
|
|
buildoptions{ "-Wall", "-std=gnu99" }
|
|
end
|
|
targetname ( package_name )
|
|
end
|
|
|
|
function build_base_cpp_configuration( package_name )
|
|
configuration "debug"
|
|
defines { "DEBUG" }
|
|
flags { "Symbols" }
|
|
if not is_vs() then
|
|
buildoptions{ "-Wall" }
|
|
end
|
|
targetname ( package_name .. "-debug" )
|
|
|
|
configuration "release"
|
|
defines { "NDEBUG" }
|
|
flags { "Optimize" }
|
|
if not is_vs() then
|
|
buildoptions{ "-Wall" }
|
|
end
|
|
targetname ( package_name )
|
|
end
|
|
|
|
function add_cross_config_links()
|
|
if not is_vs() then
|
|
if os.is_real("mingw32") or os.is_real("ios") then -- if is crosscompiling from *nix
|
|
if os.is_real("mingw32") then
|
|
links { "mingw32" }
|
|
end
|
|
linkoptions { "-static-libgcc", "-static-libstdc++" }
|
|
end
|
|
end
|
|
end
|
|
|
|
function build_link_configuration( package_name )
|
|
includedirs { "include", "src" }
|
|
|
|
if package_name ~= "eepp" and package_name ~= "eepp-static" then
|
|
if not _OPTIONS["with-static-eepp"] then
|
|
links { "eepp-shared" }
|
|
else
|
|
links { "eepp-static" }
|
|
add_static_links()
|
|
links { link_list }
|
|
end
|
|
|
|
if ( is_vs() ) then
|
|
if ( backend_is("SDL") ) then
|
|
links { get_backend_link_name( "SDL" ), "SDLmain" }
|
|
elseif ( backend_is("SDL2") ) then
|
|
links { get_backend_link_name( "SDL2" ), "SDL2main" }
|
|
elseif ( backend_is("allegro5") ) then
|
|
links { get_backend_link_name( "allegro" ), "allegro_main" }
|
|
elseif ( backend_is("SFML") ) then
|
|
links { get_backend_link_name( "sfml-system" ) }
|
|
links { get_backend_link_name( "sfml-window" ) }
|
|
end
|
|
else
|
|
if ( os.is_real("macosx") ) then
|
|
if ( backend_is("SDL") ) then
|
|
links { "SDLmain" }
|
|
elseif ( backend_is("SDL2") ) then
|
|
links { "SDL2main" }
|
|
elseif ( backend_is("allegro5") ) then
|
|
links { "allegro_main" }
|
|
elseif ( backend_is("SFML") ) then
|
|
links { get_backend_link_name( "sfml-system" ) }
|
|
links { get_backend_link_name( "sfml-window" ) }
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
configuration "debug"
|
|
defines { "DEBUG", "EE_DEBUG", "EE_MEMORY_MANAGER" }
|
|
|
|
if package_name == "eepp" then
|
|
defines { "EE_DYNAMIC", "EE_EXPORTS" }
|
|
else
|
|
if package_name ~= "eepp-static" then
|
|
defines { "EE_DYNAMIC" }
|
|
end
|
|
end
|
|
|
|
flags { "Symbols" }
|
|
|
|
if not is_vs() then
|
|
buildoptions{ "-Wall -Wno-long-long" }
|
|
end
|
|
|
|
targetname ( package_name .. "-debug" )
|
|
|
|
configuration "release"
|
|
defines { "NDEBUG" }
|
|
|
|
if package_name == "eepp" then
|
|
defines { "EE_DYNAMIC", "EE_EXPORTS" }
|
|
else
|
|
if package_name ~= "eepp-static" then
|
|
defines { "EE_DYNAMIC" }
|
|
end
|
|
end
|
|
|
|
flags { "Optimize" }
|
|
|
|
if not is_vs() then
|
|
buildoptions { "-fno-strict-aliasing -O3 -s -ffast-math" }
|
|
end
|
|
|
|
targetname ( package_name )
|
|
|
|
configuration "windows"
|
|
add_cross_config_links()
|
|
|
|
set_ios_config()
|
|
end
|
|
|
|
function generate_os_links()
|
|
if os.is_real("linux") then
|
|
multiple_insert( os_links, { "rt", "pthread", "X11", "openal", "GL", "Xcursor" } )
|
|
elseif os.is_real("windows") then
|
|
multiple_insert( os_links, { "OpenAL32", "opengl32", "glu32", "gdi32" } )
|
|
elseif os.is_real("mingw32") then
|
|
multiple_insert( os_links, { "OpenAL32", "opengl32", "glu32", "gdi32" } )
|
|
elseif os.is_real("macosx") then
|
|
multiple_insert( os_links, { "OpenGL.framework", "OpenAL.framework", "CoreFoundation.framework", "AGL.framework" } )
|
|
elseif os.is_real("freebsd") then
|
|
multiple_insert( os_links, { "rt", "pthread", "X11", "openal", "GL", "Xcursor" } )
|
|
elseif os.is_real("haiku") then
|
|
multiple_insert( os_links, { "openal", "GL" } )
|
|
elseif os.is_real("ios") then
|
|
multiple_insert( os_links, { "OpenGLES.framework", "OpenAL.framework", "AudioToolbox.framework", "CoreAudio.framework", "Foundation.framework", "CoreFoundation.framework", "UIKit.framework", "QuartzCore.framework", "CoreGraphics.framework" } )
|
|
end
|
|
end
|
|
|
|
function parse_args()
|
|
if _OPTIONS["with-gles2"] then
|
|
defines { "EE_GLES2", "SOIL_GLES2" }
|
|
end
|
|
|
|
if _OPTIONS["with-gles1"] then
|
|
defines { "EE_GLES1", "SOIL_GLES1" }
|
|
end
|
|
end
|
|
|
|
function add_static_links()
|
|
-- The linking order DOES matter
|
|
-- Expose the symbols that need one static library AFTER adding that static lib
|
|
|
|
-- Add static backends
|
|
if next(static_backends) ~= nil then
|
|
for _, value in pairs( static_backends ) do
|
|
linkoptions { value }
|
|
end
|
|
end
|
|
|
|
links { "haikuttf-static" }
|
|
|
|
if _OPTIONS["with-static-freetype"] or not os_findlib("freetype") then
|
|
links { "freetype-static" }
|
|
end
|
|
|
|
links { "SOIL2-static",
|
|
"chipmunk-static",
|
|
"glew-static",
|
|
"libzip-static",
|
|
"stb_vorbis-static",
|
|
"jpeg-compressor-static",
|
|
"zlib-static"
|
|
}
|
|
end
|
|
|
|
function can_add_static_backend( name )
|
|
if _OPTIONS["with-static-backend"] then
|
|
local path = "libs/" .. os.get_real() .. "/lib" .. name .. ".a"
|
|
return os.isfile(path)
|
|
end
|
|
end
|
|
|
|
function insert_static_backend( name )
|
|
table.insert( static_backends, path.getrelative( "libs/" .. os.get_real(), "./" ) .. "/libs/" .. os.get_real() .. "/lib" .. name .. ".a" )
|
|
end
|
|
|
|
function add_sdl2()
|
|
files { "src/eepp/window/backend/SDL2/*.cpp" }
|
|
defines { "EE_BACKEND_SDL_ACTIVE", "EE_SDL_VERSION_2" }
|
|
|
|
if not can_add_static_backend("SDL2") then
|
|
table.insert( link_list, get_backend_link_name( "SDL2" ) )
|
|
else
|
|
insert_static_backend( "SDL2" )
|
|
end
|
|
end
|
|
|
|
function add_sdl()
|
|
--- SDL is LGPL. It can't be build as static library
|
|
table.insert( link_list, get_backend_link_name( "SDL" ) )
|
|
files { "src/eepp/window/backend/SDL/*.cpp" }
|
|
defines { "EE_BACKEND_SDL_ACTIVE", "EE_SDL_VERSION_1_2" }
|
|
end
|
|
|
|
function add_allegro5()
|
|
files { "src/eepp/window/backend/allegro5/*.cpp" }
|
|
defines { "EE_BACKEND_ALLEGRO_ACTIVE" }
|
|
|
|
if not can_add_static_backend("allegro") then
|
|
table.insert( link_list, get_backend_link_name( "allegro" ) )
|
|
else
|
|
insert_static_backend( "allegro5" )
|
|
end
|
|
end
|
|
|
|
function add_sfml()
|
|
files { "src/eepp/window/backend/SFML/*.cpp" }
|
|
defines { "EE_BACKEND_SFML_ACTIVE" }
|
|
|
|
if not can_add_static_backend("SFML") then
|
|
table.insert( link_list, get_backend_link_name( "sfml-system" ) )
|
|
table.insert( link_list, get_backend_link_name( "sfml-window" ) )
|
|
else
|
|
insert_static_backend( "libsfml-system" )
|
|
insert_static_backend( "libsfml-window" )
|
|
end
|
|
end
|
|
|
|
function set_ios_config()
|
|
if _OPTIONS.platform == "ios-arm7" or
|
|
_OPTIONS.platform == "ios-x86" or
|
|
_OPTIONS.platform == "ios-cross-arm7" then
|
|
|
|
local err = false
|
|
|
|
if nil == os.getenv("TOOLCHAINPATH") then
|
|
print("You must set TOOLCHAINPATH enviroment variable.")
|
|
print("\tExample: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/")
|
|
err = true
|
|
end
|
|
|
|
if nil == os.getenv("SYSROOTPATH") then
|
|
print("You must set SYSROOTPATH enviroment variable.")
|
|
print("\tExample: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk")
|
|
err = true
|
|
end
|
|
|
|
if nil == os.getenv("IOSVERSION") then
|
|
print("You must set IOSVERSION enviroment variable.")
|
|
print("\tExample: 5.0")
|
|
err = true
|
|
end
|
|
|
|
if err then
|
|
os.exit(1)
|
|
end
|
|
|
|
local sysroot_path = os.getenv("SYSROOTPATH")
|
|
local framework_path = sysroot_path .. "/System/Library/Frameworks"
|
|
local framework_libs_path = framework_path .. "/usr/lib"
|
|
local sysroot_ver = "-miphoneos-version-min=" .. os.getenv("IOSVERSION") .. " -isysroot " .. sysroot_path
|
|
|
|
configuration { "ios-arm", "ios-x86" }
|
|
buildoptions { sysroot_ver .. "-I" .. sysroot_path .. "/usr/include" }
|
|
linkoptions { sysroot_ver }
|
|
libdirs { framework_libs_path }
|
|
linkoptions { "-F" .. framework_path .. " -L" .. framework_libs_path .. " -isysroot " .. sysroot_path }
|
|
end
|
|
end
|
|
|
|
function backend_is( name )
|
|
if not _OPTIONS["with-backend"] then
|
|
if ( is_vs() ) then
|
|
_OPTIONS["with-backend"] = "SDL"
|
|
else
|
|
_OPTIONS["with-backend"] = "SDL2"
|
|
end
|
|
end
|
|
|
|
if next(backends) == nil then
|
|
backends = string.explode(_OPTIONS["with-backend"],",")
|
|
end
|
|
|
|
local backend_sel = table.contains( backends, name )
|
|
|
|
local ret_val = os_findlib( name ) and backend_sel
|
|
|
|
if ret_val then
|
|
backend_selected = true
|
|
end
|
|
|
|
return ret_val
|
|
end
|
|
|
|
function select_backend()
|
|
if backend_is( "SDL2" ) then
|
|
add_sdl2()
|
|
end
|
|
|
|
if backend_is( "SDL" ) then
|
|
add_sdl()
|
|
end
|
|
|
|
if backend_is( "allegro5" ) then
|
|
add_allegro5()
|
|
end
|
|
|
|
if backend_is( "SFML" ) then
|
|
add_sfml()
|
|
end
|
|
|
|
-- If the selected backend is not present, try to find one present
|
|
if not backend_selected then
|
|
if os_findlib("SDL") then
|
|
add_sdl()
|
|
elseif os_findlib("SDL2") then
|
|
add_sdl2()
|
|
elseif os_findlib("allegro5") then
|
|
add_allegro5()
|
|
elseif os_findlib("SFML") then
|
|
add_sfml()
|
|
else
|
|
print("ERROR: Couldnt find any backend. Forced SDL.")
|
|
add_sdl()
|
|
end
|
|
end
|
|
end
|
|
|
|
function build_eepp( build_name )
|
|
includedirs { "include", "src", "src/eepp/helper/freetype2/include", "src/eepp/helper/zlib" }
|
|
|
|
add_static_links()
|
|
|
|
if os.is("windows") then
|
|
files { "src/eepp/system/platform/win/*.cpp" }
|
|
else
|
|
files { "src/eepp/system/platform/posix/*.cpp" }
|
|
end
|
|
|
|
files { "src/eepp/base/*.cpp",
|
|
"src/eepp/math/*.cpp",
|
|
"src/eepp/system/*.cpp",
|
|
"src/eepp/audio/*.cpp",
|
|
"src/eepp/graphics/*.cpp",
|
|
"src/eepp/graphics/renderer/*.cpp",
|
|
"src/eepp/window/*.cpp",
|
|
"src/eepp/window/platform/null/*.cpp",
|
|
"src/eepp/ui/*.cpp",
|
|
"src/eepp/ui/tools/*.cpp",
|
|
"src/eepp/physics/*.cpp",
|
|
"src/eepp/physics/constraints/*.cpp",
|
|
"src/eepp/gaming/*.cpp",
|
|
"src/eepp/gaming/mapeditor/*.cpp"
|
|
}
|
|
|
|
select_backend()
|
|
|
|
if not _OPTIONS["with-static-freetype"] and os_findlib("freetype") then
|
|
table.insert( link_list, get_backend_link_name( "freetype" ) )
|
|
end
|
|
|
|
if _OPTIONS["with-libsndfile"] then
|
|
defines { "EE_LIBSNDFILE_ENABLED" }
|
|
|
|
if os.is("windows") then
|
|
table.insert( link_list, "libsndfile-1" )
|
|
else
|
|
table.insert( link_list, "sndfile" )
|
|
end
|
|
end
|
|
|
|
multiple_insert( link_list, os_links )
|
|
|
|
links { link_list }
|
|
|
|
build_link_configuration( build_name )
|
|
|
|
set_ios_config()
|
|
|
|
configuration "windows"
|
|
files { "src/eepp/window/platform/win/*.cpp" }
|
|
add_cross_config_links()
|
|
|
|
configuration "linux"
|
|
files { "src/eepp/window/platform/x11/*.cpp" }
|
|
|
|
configuration "macosx"
|
|
files { "src/eepp/window/platform/osx/*.cpp" }
|
|
end
|
|
|
|
solution "eepp"
|
|
location("./make/" .. os.get_real() .. "/")
|
|
targetdir("./")
|
|
configurations { "debug", "release" }
|
|
objdir("obj/" .. os.get_real() .. "/")
|
|
|
|
generate_os_links()
|
|
parse_args()
|
|
|
|
project "SOIL2-static"
|
|
kind "StaticLib"
|
|
|
|
if is_vs() then
|
|
language "C++"
|
|
buildoptions { "/TP" }
|
|
else
|
|
language "C"
|
|
end
|
|
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/SOIL2/src/SOIL2/*.c" }
|
|
includedirs { "include/eepp/helper/SOIL2" }
|
|
build_base_configuration( "SOIL2" )
|
|
|
|
project "glew-static"
|
|
kind "StaticLib"
|
|
language "C"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/glew/*.c" }
|
|
includedirs { "include/eepp/helper/glew" }
|
|
build_base_configuration( "glew" )
|
|
|
|
project "zlib-static"
|
|
kind "StaticLib"
|
|
language "C"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/zlib/*.c", "src/eepp/helper/libzip/*.c" }
|
|
build_base_configuration( "zlib" )
|
|
|
|
project "libzip-static"
|
|
kind "StaticLib"
|
|
language "C"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/libzip/*.c" }
|
|
includedirs { "src/eepp/helper/zlib" }
|
|
|
|
if is_vs() then
|
|
includedirs { "src/eepp/helper/libzip/vs" }
|
|
end
|
|
|
|
build_base_configuration( "libzip" )
|
|
|
|
project "freetype-static"
|
|
kind "StaticLib"
|
|
language "C"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
defines { "FT2_BUILD_LIBRARY" }
|
|
files { "src/eepp/helper/freetype2/src/**.c" }
|
|
includedirs { "src/eepp/helper/freetype2/include" }
|
|
build_base_configuration( "freetype" )
|
|
|
|
project "stb_vorbis-static"
|
|
kind "StaticLib"
|
|
language "C"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/stb_vorbis/*.c" }
|
|
build_base_configuration( "stb_vorbis" )
|
|
|
|
project "chipmunk-static"
|
|
kind "StaticLib"
|
|
|
|
if is_vs() then
|
|
language "C++"
|
|
buildoptions { "/TP" }
|
|
else
|
|
language "C"
|
|
end
|
|
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/chipmunk/*.c", "src/eepp/helper/chipmunk/constraints/*.c" }
|
|
includedirs { "include/eepp/helper/chipmunk" }
|
|
build_base_configuration( "chipmunk" )
|
|
|
|
project "haikuttf-static"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/haikuttf/*.cpp" }
|
|
includedirs { "src/eepp/helper/freetype2/include" }
|
|
build_base_cpp_configuration( "haikuttf" )
|
|
|
|
project "jpeg-compressor-static"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
targetdir("libs/" .. os.get_real() .. "/helpers/")
|
|
files { "src/eepp/helper/jpeg-compressor/*.cpp" }
|
|
build_base_cpp_configuration( "jpeg-compressor" )
|
|
|
|
project "eepp-static"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
targetdir("libs/" .. os.get_real() .. "/")
|
|
build_eepp( "eepp-static" )
|
|
|
|
project "eepp-shared"
|
|
kind "SharedLib"
|
|
language "C++"
|
|
targetdir("libs/" .. os.get_real() .. "/")
|
|
build_eepp( "eepp" )
|
|
|
|
project "eepp-test"
|
|
kind "WindowedApp"
|
|
language "C++"
|
|
files { "src/test/*.cpp" }
|
|
build_link_configuration( "eetest" )
|
|
|
|
-- Examples
|
|
project "eepp-es"
|
|
kind "WindowedApp"
|
|
language "C++"
|
|
files { "src/examples/external_shader/*.cpp" }
|
|
build_link_configuration( "eees" )
|
|
|
|
project "eepp-ew"
|
|
kind "WindowedApp"
|
|
language "C++"
|
|
files { "src/examples/empty_window/*.cpp" }
|
|
build_link_configuration( "eeew" )
|
|
|
|
project "eepp-sound"
|
|
kind "WindowedApp"
|
|
language "C++"
|
|
files { "src/examples/sound/*.cpp" }
|
|
build_link_configuration( "eesound" )
|
|
|
|
project "eepp-sprites"
|
|
kind "WindowedApp"
|
|
language "C++"
|
|
files { "src/examples/sprites/*.cpp" }
|
|
build_link_configuration( "eesprites" )
|