forked from Nelarius/wrenpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
premake5.lua
80 lines (69 loc) · 2.28 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
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
80
newoption {
trigger = "include",
value = "path",
description = "The location of wren.h"
}
newoption {
trigger = "link",
value = "path",
description = "The location of the wren static lib"
}
workspace "wrenly"
if _ACTION then
-- guard this in case the user is calling `premake5 --help`
-- in which case there will be no action
location( "build/" .. _ACTION )
end
configurations { "Debug", "Release" }
-- global configuration
filter "configurations:Debug"
defines { "DEBUG" }
flags { "Symbols" }
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
project "lib"
kind "StaticLib"
language "C++"
targetdir "lib/"
targetname "wrenly"
if _OPTIONS["include"] then
includedirs { _OPTIONS["include"] }
end
files { "src/**.cpp", "src/**.h" }
includedirs { "src" }
filter "action:gmake"
buildoptions { "-std=gnu++14" }
project "test"
kind "ConsoleApp"
language "C++"
targetdir "bin"
targetname "test"
files { "test/**.cpp", "test/***.h", "test/**.wren" }
includedirs { "src", "test" }
if _OPTIONS["include"] then
includedirs { _OPTIONS["include"] }
end
configuration "vs*"
if _OPTIONS["link"] then
filter "configurations:Debug"
libdirs {
_OPTIONS["link"] .. "/Debug"
}
links { "lib", "wren_static_d" }
project "test"
filter "configurations:Release"
libdirs {
_OPTIONS["link"] .. "/Release"
}
links { "lib", "wren_static" }
project "test"
end
project "test"
filter "files:**.wren"
buildcommands { "copy ..\\..\\test\\%{file.name} ..\\..\\bin" }
buildoutputs { "..\\..\\bin\\%{file.name}" }
configuration "gmake"
filter "files:**.wren"
buildcommands { "cp ../../test/%{file.name} ../../bin" }
buildoutputs { "../../bin/test/%{file.name}" }