REDRIVER2/src_rebuild/premake5.lua

175 lines
3.6 KiB
Lua
Raw Normal View History

-- premake5.lua
2020-07-24 18:15:59 +02:00
-- you can redefine dependencies
SDL2_DIR = os.getenv("SDL2_DIR") or "dependencies/SDL2"
GLEW_DIR = os.getenv("GLEW_DIR") or "dependencies/glew"
OPENAL_DIR = os.getenv("OPENAL_DIR") or "dependencies/openal-soft"
JPEG_DIR = os.getenv("JPEG_DIR") or "dependencies/jpeg"
GAME_REGION = os.getenv("GAME_REGION") or "NTSC_VERSION" -- or PAL_VERSION
2020-07-24 18:15:59 +02:00
if not (GAME_REGION == "NTSC_VERSION" or GAME_REGION == "PAL_VERSION") then
error("'GAME_REGION' should be 'NTSC_VERSION' or 'PAL_VERSION'")
2020-07-24 18:15:59 +02:00
end
workspace "REDRIVER2"
configurations { "Debug", "Release" }
2020-07-24 18:15:59 +02:00
defines { VERSION }
filter "system:Windows or linux"
defines { "USE_32_BIT_ADDR", "PGXP" }
filter "configurations:Debug"
defines {
"DEBUG",
}
symbols "On"
filter "configurations:Release"
defines {
"NDEBUG",
}
if _TARGET_OS == "windows" then
dofile("premake_libjpeg.lua")
end
-- EMULATOR layer
project "PSX"
kind "StaticLib"
language "C++"
compileas "C++"
targetdir "bin/%{cfg.buildcfg}"
includedirs {
"EMULATOR"
}
2020-07-24 19:44:42 +02:00
defines { GAME_REGION }
files {
"EMULATOR/**.h",
"EMULATOR/**.H",
"EMULATOR/**.c",
"EMULATOR/**.C",
"EMULATOR/**.cpp",
"EMULATOR/**.CPP",
}
defines { "OGL", "GLEW" }
includedirs {
SDL2_DIR.."/include",
GLEW_DIR.."/include",
OPENAL_DIR.."/include",
}
filter "system:Windows"
links {
"opengl32",
"glew32",
"SDL2",
"OpenAL32"
}
libdirs {
2020-07-24 18:15:59 +02:00
SDL2_DIR.."/lib/x86",
GLEW_DIR.."/lib/Release/Win32",
OPENAL_DIR.."/libs/Win32",
}
filter "system:linux"
2020-10-03 04:41:12 +02:00
buildoptions { "-Wno-narrowing", "-m32" }
includedirs {
"/usr/include/SDL2"
}
links {
"GL",
"GLEW",
"openal",
"SDL2",
}
2020-10-03 04:41:12 +02:00
linkoptions { "-m32" }
filter "configurations:Release"
optimize "Full"
-- game iteslf
project "REDRIVER2"
kind "ConsoleApp"
language "C++"
compileas "C++"
targetdir "bin/%{cfg.buildcfg}"
includedirs {
"GAME",
"EMULATOR"
}
defines { GAME_REGION }
files {
"GAME/**.H",
"GAME/**.C",
"utils/**.h",
"utils/**.cpp",
"redriver2_psxpc.cpp",
"DebugOverlay.cpp",
}
filter "system:Windows or linux"
defines { "OGL", "GLEW" }
dependson { "PSX" }
links { "PSX", "jpeg" }
filter "system:Windows"
files {
"Windows/resource.h",
"Windows/Resource.rc",
"Windows/main.ico"
}
includedirs {
2020-07-24 18:15:59 +02:00
SDL2_DIR.."/include",
GLEW_DIR.."/include",
OPENAL_DIR.."/include",
JPEG_DIR.."/",
}
linkoptions {
"/SAFESEH:NO", -- Image Has Safe Exception Handers: No. Because of openal-soft
}
filter "system:linux"
2020-10-03 04:41:12 +02:00
buildoptions { "-Wno-narrowing", "-fpermissive", "-m32" }
cppdialect "C++11"
includedirs {
"/usr/include/SDL2"
}
links {
"GL",
"GLEW",
"openal",
"SDL2",
}
2020-10-03 04:41:12 +02:00
linkoptions { "-z muldefs", "-m32" }
filter "configurations:Debug"
defines {
"DEBUG_OPTIONS",
"COLLISION_DEBUG"
}
filter "configurations:Release"
defines {
--"DEBUG_OPTIONS",
--"COLLISION_DEBUG"
}
2020-09-05 11:10:57 +02:00
optimize "Full"