Files
sdk-cpp/premake5.lua
Guilherme Werner 73622f27c4 Update premake5.lua
2023-12-03 12:07:59 -03:00

239 lines
4.0 KiB
Lua

--- @diagnostic disable: undefined-global
workspace "tribufu_cpp"
location "."
configurations { "debug", "release" }
if _ACTION == "vs2022" then
platforms {
"windows-aarch64",
"windows-i686",
"windows-x86_64",
}
end
if _ACTION == "gmake2" then
platforms {
"linux-aarch64",
"linux-i686",
"linux-x86_64",
}
end
if _ACTION == "xcode4" then
platforms {
"mac-aarch64",
"mac-x86_64",
}
end
project "tribufu_cpp"
location "."
language "C++"
cppdialect "C++20"
targetdir("./bin/%{cfg.platform:gsub('-', '/')}")
objdir("./target/%{cfg.buildcfg}/obj/%{prj.name}/%{cfg.platform:gsub('-', '/')}")
-- pchheader "tribufu/pch.h"
-- pchsource "pch.cpp"
files
{
"./src/**.cpp",
"./src/**.h",
"./src/**.h",
"./include/tribufu/**.h",
"./include/tribufu/**.h",
}
vpaths
{
["Sources"] = { "./src/**.cpp" },
["Headers"] = { "./src/**.h", "./src/**.h", "./include/tribufu/**.h", "./include/tribufu/**.h" },
}
includedirs
{
"./include",
"./vendor",
}
libdirs
{
"./bin/%{cfg.platform:gsub('-', '/')}",
}
-- Profile
filter { "configurations:debug" }
runtime "Debug"
symbols "On"
defines
{
"DEBUG",
"TRACE",
"TRIBUFU_DEBUG",
"TRIBUFU_TRACE",
}
filter { "configurations:release" }
runtime "Release"
optimize "On"
defines
{
"RELEASE",
"TRIBUFU_RELEASE",
}
-- Platform
filter { "platforms:windows-*" }
kind "StaticLib"
system "windows"
systemversion "latest"
staticruntime "On"
toolset "msc"
defines
{
"TRIBUFU_WINDOWS",
"TRIBUFU_DESKTOP",
"TRIBUFU_DYNAMIC",
"TRIBUFU_LIBRARY",
}
links
{
}
prelinkcommands
{
}
filter { "platforms:mac-*" }
kind "StaticLib"
system "macosx"
systemversion "10.15"
toolset "clang"
defines
{
"TRIBUFU_MAC",
"TRIBUFU_APPLE",
"TRIBUFU_DESKTOP",
"TRIBUFU_DYNAMIC",
"TRIBUFU_LIBRARY",
}
links
{
}
prelinkcommands
{
}
filter { "platforms:linux-*" }
kind "StaticLib"
system "linux"
toolset "gcc"
defines
{
"TRIBUFU_LINUX",
"TRIBUFU_UNIX",
"TRIBUFU_DESKTOP",
"TRIBUFU_DYNAMIC",
"TRIBUFU_LIBRARY",
}
links
{
}
prelinkcommands
{
}
filter { "platforms:android-*" }
kind "StaticLib"
system "android"
toolset "clang"
defines
{
"TRIBUFU_ANDROID",
"TRIBUFU_UNIX",
"TRIBUFU_MOBILE",
"TRIBUFU_DYNAMIC",
"TRIBUFU_LIBRARY",
}
links
{
}
prelinkcommands
{
}
filter { "platforms:ios-*" }
kind "StaticLib"
system "ios"
systemversion "13.0"
toolset "clang"
defines
{
"TRIBUFU_IOS",
"TRIBUFU_APPLE",
"TRIBUFU_MOBILE",
"TRIBUFU_MONOLITHIC",
"TRIBUFU_LIBRARY",
}
links
{
}
-- Architecture
filter { "platforms:*-i686" }
architecture "x32"
defines
{
"TRIBUFU_I686",
"TRIBUFU_32BITS",
}
filter { "platforms:*-x86_64" }
architecture "x64"
defines
{
"TRIBUFU_X8664",
"TRIBUFU_64BITS",
}
filter { "platforms:*-aarch64" }
architecture "ARM64"
defines
{
"TRIBUFU_AARCH64",
"TRIBUFU_64BITS",
}
include "examples"