mame/3rdparty/bx/scripts/genie.lua
2023-09-08 05:14:35 +10:00

148 lines
2.1 KiB
Lua

--
-- Copyright 2010-2022 Branimir Karadzic. All rights reserved.
-- License: https://github.com/bkaradzic/bx/blob/master/LICENSE
--
newoption {
trigger = "with-amalgamated",
description = "Enable amalgamated build.",
}
newoption {
trigger = "with-crtnone",
description = "Enable build without CRT.",
}
solution "bx"
configurations {
"Debug",
"Release",
}
platforms {
"x32",
"x64",
"Native", -- for targets where bitness is not specified
}
language "C++"
BX_DIR = path.getabsolute("..")
BX_BUILD_DIR = path.join(BX_DIR, ".build")
BX_THIRD_PARTY_DIR = path.join(BX_DIR, "3rdparty")
dofile "toolchain.lua"
toolchain(BX_BUILD_DIR, BX_THIRD_PARTY_DIR)
function copyLib()
end
dofile "bx.lua"
dofile "bin2c.lua"
dofile "lemon.lua"
project "bx.test"
kind "ConsoleApp"
debugdir (path.join(BX_DIR, "tests"))
removeflags {
"NoExceptions",
}
includedirs {
BX_THIRD_PARTY_DIR,
}
defines {
"CATCH_AMALGAMATED_CUSTOM_MAIN",
}
files {
path.join(BX_DIR, "3rdparty/catch/catch_amalgamated.cpp"),
path.join(BX_DIR, "tests/*_test.cpp"),
path.join(BX_DIR, "tests/*.h"),
path.join(BX_DIR, "tests/dbg.*"),
}
using_bx()
configuration { "vs* or mingw*" }
links {
"psapi",
}
configuration { "android*" }
targetextension ".so"
linkoptions {
"-shared",
}
configuration { "linux-*" }
links {
"pthread",
}
configuration { "osx*" }
links {
"Cocoa.framework",
}
configuration {}
strip()
project "bx.bench"
kind "ConsoleApp"
debugdir (path.join(BX_DIR, "tests"))
includedirs {
path.join(BX_DIR, "include"),
BX_THIRD_PARTY_DIR,
}
files {
path.join(BX_DIR, "tests/*_bench.cpp"),
path.join(BX_DIR, "tests/*_bench.h"),
path.join(BX_DIR, "tests/dbg.*"),
}
links {
"bx",
}
configuration { "vs* or mingw*" }
links {
"psapi",
}
configuration { "android*" }
targetextension ".so"
linkoptions {
"-shared",
}
configuration { "linux-*" }
links {
"pthread",
}
configuration { "osx*" }
links {
"Cocoa.framework",
}
configuration { "Debug" }
defines {
"BX_CONFIG_DEBUG=1",
}
configuration { "Release" }
defines {
"BX_CONFIG_DEBUG=0",
}
configuration {}
strip()