mirror of
https://github.com/kunkundi/crossdesk.git
synced 2026-10-31 02:49:35 +08:00
49 lines
1.8 KiB
Lua
49 lines
1.8 KiB
Lua
local source_dir = path.absolute("../..", os.scriptdir())
|
|
local controller_dir = path.join(source_dir, "libs/controller")
|
|
local terminal_dir = path.join(source_dir, "libs/terminal")
|
|
local minirtc_dir = path.join(source_dir, "deps/submodules/minirtc")
|
|
local credential_patch = path.join(source_dir, "deps/patches/minirtc-credential-logs.patch")
|
|
|
|
add_requires("spdlog 1.14.1", {system = false})
|
|
if is_plat("windows") then
|
|
add_requires("zlib 1.3.1", {system = false, configs = {shared = false}})
|
|
end
|
|
|
|
target("crossdesk_controller")
|
|
set_kind("static")
|
|
add_deps("minirtc", "crossdesk_wire")
|
|
add_packages("spdlog")
|
|
add_includedirs(path.join(controller_dir, "include"),
|
|
path.join(minirtc_dir, "src/api"), {public = true})
|
|
add_includedirs(path.join(minirtc_dir, "src/log"))
|
|
add_files(path.join(controller_dir, "src/*.cpp"))
|
|
before_build(function ()
|
|
-- Require the same credential redaction in checkouts and source bundles.
|
|
os.vrunv("git", {"-C", minirtc_dir, "apply", "--reverse", "--check", credential_patch})
|
|
end)
|
|
target_end()
|
|
|
|
target("crossdesk_terminal")
|
|
set_kind("static")
|
|
add_deps("crossdesk_controller")
|
|
add_includedirs(path.join(terminal_dir, "include"), {public = true})
|
|
add_files(path.join(terminal_dir, "src/*.cpp"))
|
|
if is_plat("windows") then
|
|
add_packages("zlib", {public = true})
|
|
else
|
|
add_syslinks("z", {public = true})
|
|
end
|
|
target_end()
|
|
|
|
target("crossdesk-cli")
|
|
set_kind("binary")
|
|
set_version("0.1.0")
|
|
add_deps("crossdesk_terminal")
|
|
add_files("main.cpp")
|
|
add_files(is_plat("windows") and "terminal_io_windows.cpp" or "terminal_io_posix.cpp")
|
|
if is_plat("windows") then
|
|
add_syslinks("advapi32", "user32")
|
|
add_defines("NOMINMAX", "WIN32_LEAN_AND_MEAN")
|
|
end
|
|
target_end()
|