Advertisement
Guest User

Premake build script

a guest
Mar 11th, 2012
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.55 KB | None | 0 0
  1. -- This project uses C++0x so prevent certain project files from being created.
  2. if _ACTION == "vs2002" or _ACTION == "vs2003" or _ACTION == "vs2005" or _ACTION == "xcode3" then
  3.     error("This application requires a compiler that can support C++0x.")
  4. end
  5.  
  6. -- This was used when premake didn't support VS2010.  When converting a VS2008 project
  7. -- to VS2010 Express, it would fail because VS2010 Express doesn't support x64.
  8. -- Premake supports VS2010 now, so this is deprecated.
  9. newoption {
  10.     trigger     = "no-64bit",
  11.     description = "Don't add the 64-bit project configuration."
  12. }
  13.  
  14. solution "rha"
  15.     configurations { "Debug", "Release" }
  16.     platforms { "native", "x32" }
  17.     if not _OPTIONS["no-64bit"] then platforms { "x64" } end
  18.     flags { "Symbols", "Unicode" }
  19.  
  20.     project "rha"
  21.         kind "ConsoleApp"
  22.         -- kind "WindowedApp"
  23.         language "C++"
  24.         location "projects"
  25.         targetdir "../bin"
  26.         files { "../common/**", "../client/**" }
  27.         includedirs { "../client" }
  28.         includedirs { "../client/irrlicht", "../client/script" }
  29.         includedirs { "../common" }
  30.         includedirs { "../common/Script", "../common/Script/irrlicht" }
  31.  
  32.         -- Dependencies.
  33.         files { "../dependencies/bzip2/**" }
  34.         files { "../dependencies/zlib/**" }
  35.         files { "../dependencies/angelscript/**" }
  36.         files { "../dependencies/libvorbisidec/**" }
  37.         files { "../dependencies/cAudio/**" }
  38.         files { "../dependencies/box2d/**" }
  39.         includedirs { "../dependencies/bzip2" }
  40.         includedirs { "../dependencies/zlib" }
  41.         includedirs { "../dependencies/angelscript/include" }
  42.         includedirs { "../dependencies/freetype2/include" }
  43.         includedirs { "../dependencies/libvorbisidec" }
  44.         includedirs { "../dependencies/cAudio/include" }
  45.         includedirs { "../dependencies/openal/include" }
  46.         includedirs { "../dependencies/box2d" }
  47.         defines { "LIBOGG_EXPORTS", "CAUDIO_STATIC_LIB" }
  48.  
  49.         -- Libraries.
  50.         links { "Irrlicht", "freetype" }
  51.         links { "OpenAL32" }
  52.         --links { "cAudio", "OpenAL32" }
  53.  
  54.         -- Enable C++0x on Linux.
  55.         -- Assumes GCC usage on these platforms.
  56.         configuration { "linux or bsd or solaris" }
  57.             buildoptions { "-std=c++0x" }
  58.  
  59.         -- Per-platform libraries.
  60.         configuration "windows"
  61.             links { "ws2_32" }
  62.         configuration { "linux or macosx or bsd or solaris" }
  63.             links { "GL", "Xxf86vm", "boost_filesystem", "boost_thread" }
  64.  
  65.         -- Library directories.
  66.         configuration { "windows", "native" }
  67.             libdirs { "../dependencies/openal/lib/win32" }
  68.             libdirs { "../dependencies/freetype2/lib/win32" }
  69.         configuration { "windows", "x32" }
  70.             libdirs { "../dependencies/openal/lib/win32" }
  71.             libdirs { "../dependencies/freetype2/lib/win32" }
  72.         if not _OPTIONS["no-64bit"] then
  73.         configuration { "windows", "x64" }
  74.             libdirs { "../dependencies/openal/lib/win64" }
  75.             libdirs { "../dependencies/freetype2/lib/win64" }
  76.         end
  77.  
  78.         -- Windows defines.
  79.         configuration "windows"
  80.             defines { "WIN32", "_WIN32" }
  81.         if not _OPTIONS["no-64bit"] then
  82.         configuration { "windows", "x64" }
  83.             defines { "WIN64", "_WIN64" }
  84.         end
  85.  
  86.         -- Debug options.
  87.         configuration "Debug"
  88.             defines { "DEBUG" }
  89.             targetsuffix "_d"
  90.             flags { "NoEditAndContinue" }
  91.  
  92.         -- Release options.
  93.         configuration "Release"
  94.             defines { "NDEBUG" }
  95.             flags { "OptimizeSpeed" }
  96.  
  97.     project "rha_server"
  98.         kind "ConsoleApp"
  99.         language "C++"
  100.         location "projects"
  101.         targetdir "../bin_server"
  102.         files { "../common/**" }
  103.         files { "../server/include/**.h", "../server/src/**.cpp" }
  104.         files { "../server/script/**" }
  105.         includedirs { "../server/include" }
  106.         --includedirs { "../server/script", "../server/script/irrlicht" }
  107.         includedirs { "../common/Script", "../common/Script/irrlicht" }
  108.  
  109.         -- Dependencies.
  110.         files { "../dependencies/bzip2/**" }
  111.         files { "../dependencies/zlib/**" }
  112.         files { "../dependencies/angelscript/**" }
  113.         files { "../dependencies/box2d/**" }
  114.         includedirs { "../dependencies/bzip2" }
  115.         includedirs { "../dependencies/zlib" }
  116.         includedirs { "../dependencies/angelscript/include" }
  117.         includedirs { "../dependencies/box2d" }
  118.  
  119.         -- Libraries.
  120.         links { "Irrlicht" }
  121.  
  122.         -- Per-platform libraries.
  123.         configuration "windows"
  124.             links { "ws2_32" }
  125.         configuration { "linux or bsd or solaris" }
  126.             links { "boost_thread", "boost_filesystem" }
  127.  
  128.         -- Windows defines.
  129.         configuration "windows"
  130.             defines { "_WIN32" }
  131.         if not _OPTIONS["no-64bit"] then
  132.         configuration { "windows", "x64" }
  133.             defines { "_WIN64" }
  134.         end
  135.  
  136.         -- Debug options.
  137.         configuration "Debug"
  138.             defines { "DEBUG" }
  139.             targetsuffix "_d"
  140.  
  141.         -- Release options.
  142.         configuration "Release"
  143.             defines { "NDEBUG" }
  144.             flags { "OptimizeSpeed" }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement