Files
Allocator/xmake.lua

82 lines
1.6 KiB
Lua
Raw Normal View History

2026-05-25 15:15:52 -06:00
set_project("allocator")
set_version("1.0.0")
set_languages("c11")
add_rules("mode.debug", "mode.release")
-- Export compile_commands.json
add_rules("plugin.compile_commands.autoupdate")
-- =========================================================
-- Options
-- =========================================================
option("tests")
set_default(false)
set_showmenu(true)
option_end()
option("example")
set_default(true)
set_showmenu(true)
option_end()
option("asan")
set_default(false)
set_showmenu(true)
option_end()
-- =========================================================
-- Library
-- =========================================================
target("allocator")
set_kind("static")
add_files("src/allocator.c")
add_headerfiles("include/*.h")
add_includedirs("include", { public = true })
if is_mode("debug") then
add_cflags("-Wall", "-Wextra", "-Wpedantic")
end
-- =========================================================
-- Example executable
-- =========================================================
if has_config("example") then
target("example")
set_kind("binary")
add_files("src/main.c")
add_deps("allocator")
end
-- =========================================================
-- Tests
-- =========================================================
if has_config("tests") then
add_requires("cmocka")
target("test_mylib")
set_kind("binary")
add_files("test/test_allocator.c")
add_deps("allocator")
add_packages("cmocka")
if has_config("asan") then
add_cflags("-fsanitize=address", "-fno-omit-frame-pointer")
add_ldflags("-fsanitize=address")
end
end