xmake.lua 1.9 KB
Newer Older
1
2
add_requires("pybind11")

PanZezhong's avatar
init  
PanZezhong committed
3
4
local INFINI_ROOT = os.getenv("INFINI_ROOT") or (os.getenv(is_host("windows") and "HOMEPATH" or "HOME") .. "/.infini")

5
6
7
8
set_toolchains("gcc")

-- Add spdlog from third_party directory
add_includedirs("third_party/spdlog/include")
9
add_includedirs("third_party/json/single_include/")
10

PanZezhong's avatar
init  
PanZezhong committed
11
12
13
target("infinicore_infer")
    set_kind("shared")

wooway777's avatar
wooway777 committed
14
15
16
    add_includedirs("include", { public = false })
    add_includedirs(INFINI_ROOT.."/include", { public = true })

PanZezhong's avatar
init  
PanZezhong committed
17
18
19
20
21
22
    add_linkdirs(INFINI_ROOT.."/lib")
    add_links("infiniop", "infinirt", "infiniccl")

    set_languages("cxx17")
    set_warnings("all", "error")

wooway777's avatar
wooway777 committed
23
    add_files("src/models/*.cpp")
PanZezhong's avatar
init  
PanZezhong committed
24
25
    add_files("src/models/*/*.cpp")
    add_files("src/tensor/*.cpp")
PanZezhong's avatar
PanZezhong committed
26
    add_files("src/allocator/*.cpp")
blkmjsian's avatar
blkmjsian committed
27
28
    add_files("src/dataloader/*.cpp")
    add_files("src/cache_manager/*.cpp")
PanZezhong's avatar
init  
PanZezhong committed
29
30
31
32
    add_includedirs("include")

    set_installdir(INFINI_ROOT)
    add_installfiles("include/infinicore_infer.h", {prefixdir = "include"})
PanZezhong's avatar
PanZezhong committed
33
    add_installfiles("include/infinicore_infer/models/*.h", {prefixdir = "include/infinicore_infer/models"})
PanZezhong's avatar
init  
PanZezhong committed
34
target_end()
35

36
target("_infinilm")
37
38
39
40
41
42
43
44
    add_packages("pybind11")
    set_default(false)
    add_rules("python.module", {soabi = true})
    set_languages("cxx17")
    set_kind("shared")

    local INFINI_ROOT = os.getenv("INFINI_ROOT") or (os.getenv(is_host("windows") and "HOMEPATH" or "HOME") .. "/.infini")

45
46
    -- add_includedirs("csrc", { public = false })
    -- add_includedirs("csrc/pybind11", { public = false })
47
    add_includedirs(INFINI_ROOT.."/include", { public = true })
48
    add_includedirs("include", { public = false })
49
50
51
52
53
    -- spdlog is already included globally via add_includedirs at the top

    add_linkdirs(INFINI_ROOT.."/lib")
    add_links("infinicore_cpp_api", "infiniop", "infinirt", "infiniccl")

54
55
    -- Add src files
    add_files("csrc/**.cpp")
PanZezhong's avatar
PanZezhong committed
56
    add_files("csrc/**.cc")
57
58
59

    set_installdir("python/infinilm")
target_end()