-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpremake5.lua
More file actions
119 lines (95 loc) · 2.56 KB
/
premake5.lua
File metadata and controls
119 lines (95 loc) · 2.56 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
-- Setup Workspace
workspace "NetLeafWorkspace"
configurations { "Debug", "Release" }
architecture "x64"
-- C++ project (NetLeaf)
project "NetLeaf"
kind "SharedLib"
defines {"NETLEAF_BUILD"}
language "C++"
location "NetLeaf"
targetdir ("%{wks.location}/build/lib")
objdir ("%{wks.location}/obj/%{prj.name}")
files {
"NetLeaf/**.cpp",
"NetLeaf/**.h"
}
includedirs {
"NetLeaf/include",
}
libdirs {
"NetLeaf/lib"
}
links {
"nethost.lib"
}
filter "system:windows"
systemversion "latest"
defines { "WIN32", "_WINDOWS" }
postbuildcommands {
-- Copy headers to shared include dir
"{COPY} %{prj.location}/*.h %{wks.location}/build/include/",
"{COPY} %{prj.location}/include/*.h %{wks.location}/build/include/",
-- Copy .NET dlls
"{COPY} %{prj.location}/lib/*.dll %{wks.location}/build/lib/"
}
filter "system:linux"
defines { "LINUX" }
filter "configurations:Debug"
defines { "DEBUG" }
symbols "On"
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
-- C# project (NetLeaf.Bridge)
externalproject "NetLeaf.Bridge"
location "NetLeaf.Bridge"
kind "SharedLib"
language "C#"
-- Unit Tests
group "Tests"
-- C++ Unit Tests
project "CPPTests"
kind "ConsoleApp"
language "C++"
location "Tests/CPPTests"
targetdir ("%{wks.location}/Tests/bin")
objdir ("%{wks.location}/obj/%{prj.name}")
files {
"Tests/CPPTests/**.cpp",
"Tests/CPPTests/**.h"
}
removefiles {
"Tests/CPPTests/thirdparty/**.h"
}
includedirs {
"Tests/CPPTests/thirdparty/doctest",
"NetLeaf/include"
}
links {
"NetLeaf",
"NetLeaf.Bridge",
"CSharpTests"
}
filter "system:windows"
systemversion "latest"
defines { "WIN32", "_WINDOWS" }
postbuildcommands {
-- Copy DLLs from NetLeaf
"{COPY} %{wks.location}/build/lib/*.dll %{cfg.targetdir}",
-- Copy C# Jsons from NetLeaf
"{COPY} %{wks.location}/build/lib/*.json %{cfg.targetdir}"
}
filter "system:linux"
defines { "LINUX" }
filter "configurations:Debug"
defines { "DEBUG" }
symbols "On"
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
-- C# Unit Tests
externalproject "CSharpTests"
location "Tests/CSharpTests"
kind "SharedLib"
language "C#"