aboutsummaryrefslogtreecommitdiff
path: root/src/zencloud/xmake.lua
blob: 963148ad940d36800f93aa1aa25114c19ec264ae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
-- Copyright Epic Games, Inc. All Rights Reserved.

target("zencloud")
    set_kind("binary")
    add_headerfiles("**.h")
    add_files("**.cpp")
    add_files("zencloudmain.cpp", {unity_ignored  = true })
    add_deps("zencore", "zenhttp", "zenstore", "zenutil")
    add_includedirs(".")
    set_symbols("debug")

    if is_mode("release") then
        set_optimize("fastest")
    end

    if is_plat("windows") then
        add_ldflags("/subsystem:console,5.02")
        add_ldflags("/LTCG")
        add_links("crypt32", "wldap32", "Ws2_32")
        add_links("wininet", "ncrypt", "secur32", "shlwapi", "userenv", "version", "winhttp")    -- AWS SDK needs these
    end

    if is_plat("macosx") then
        add_ldflags("-framework CoreFoundation")
        add_ldflags("-framework Security")
        add_ldflags("-framework SystemConfiguration")
        add_syslinks("bsm")
    end

    add_packages("vcpkg::cpr", "vcpkg::cxxopts", "vcpkg::mimalloc", "vcpkg::fmt")

    -- AWS bits

	add_packages(
        "vcpkg::aws-sdk-cpp[s3-crt]", 
        "vcpkg::aws-c-s3",
        "vcpkg::aws-c-auth",
        "vcpkg::aws-c-cal",
        "vcpkg::aws-checksums",
        "vcpkg::aws-c-compression",
        "vcpkg::aws-c-event-stream",
        "vcpkg::aws-c-http",
        "vcpkg::aws-c-io",
        "vcpkg::aws-c-mqtt",
        "vcpkg::aws-crt-cpp",
        "vcpkg::aws-c-sdkutils",
        "vcpkg::aws-c-common"
    )

    if is_plat("linux") then
        add_packages("vcpkg::s2n")

        add_linkgroups(
            "aws-c-s3",
            "aws-c-auth",
            "aws-c-cal",
            "aws-checksums",
            "aws-c-compression",
            "aws-c-event-stream",
            "aws-c-http",
            "aws-c-io",
            "aws-c-mqtt",
            "aws-crt-cpp",
            "aws-c-sdkutils",
            "aws-c-common",
            "aws-cpp-sdk-core",
            "aws-cpp-sdk-s3",
            "aws-cpp-sdk-s3-crt",
            "aws-cpp-sdk-kinesis",
            "aws-cpp-sdk-dynamodb",
            "s2n",
            { name = "aws-c", group = true })

        add_linkorders("aws-c")
    end

    if is_plat("windows") then
        add_links("wininet", "ncrypt", "secur32", "shlwapi", "userenv", "version", "winhttp")    -- AWS SDK needs these
    end