-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpremake5.lua
47 lines (37 loc) · 1.24 KB
/
premake5.lua
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
workspace "ayin"
configurations { "Debug", "Release", "Dist" }
filter { "platforms:*32" } architecture "x86"
filter { "platforms:*64" } architecture "x64"
flags { "MultiProcessorCompile" }
outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
project "ayin"
kind "ConsoleApp"
language "C++"
targetdir ("bin/" .. outputdir)
objdir ("bin/" .. outputdir .. "/temp")
cppdialect "C++17"
files { "src/*.h", "src/*.cpp", "vendor/*.cpp", "vendor/*.h" }
includedirs { "vendor" }
filter "system:windows"
architecture "x64"
staticruntime "On"
systemversion "latest"
includedirs { "llvm/include" }
linkoptions { "llvm/lib/*.lib" }
filter { "system:linux" }
buildoptions { "`llvm-config --cxxflags`" }
linkoptions { "`llvm-config --ldflags --libs core`" }
buildoptions { "-Wno-writable-strings -Wno-switch" }
filter { "system:macosx" }
buildoptions { "`llvm-config --cxxflags`" }
linkoptions { "`llvm-config --ldflags --libs all`" }
buildoptions { "-Wno-writable-strings -Wno-switch" }
filter "configurations:Debug"
defines { "AYIN_DEBUG" }
symbols "On"
filter "configurations:Release"
defines { "AYIN_RELEASE" }
optimize "On"
filter "configurations:Dist"
defines { "AYIN_DIST" }
optimize "On"