forked from asinbow/libpebliss
-
Notifications
You must be signed in to change notification settings - Fork 1
/
premake5.lua
55 lines (46 loc) · 1.39 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
workspace "workspace"
configurations { "debug", "release" }
platforms { "x32", "x64" }
filter {"system:windows"}
characterset "MBCS"
filter {}
-- Set up platforms
filter {"platforms:x32"}
architecture "x32"
filter {"platforms:x64"}
architecture "x64"
filter {}
-- Setup c++ spec per platform
-- Linux uses a buildoption to allow for more
-- up to date standards (2a)
filter {"system:windows"}
toolset "msc-v141"
cppdialect "C++17"
buildoptions{ "--driver-mode=cl" } -- for compile commands
filter {"system:linux"}
toolset "clang" -- prefer clang over gcc
buildoptions "-std=c++17"
filter {}
-- Setup configurations
filter "configurations:Debug"
defines { "DEBUG", "_DEBUG" }
optimize "Off"
filter {"system:windows"}
symbols "Full"
filter {"system:linux"}
symbols "On"
buildoptions "-g3" -- need this for gdb
filter {}
runtime "Debug"
filter {"configurations:Release"}
defines { "NDEBUG" }
optimize "Full"
symbols "Off"
flags {"LinkTimeOptimization"}
filter {}
project "pe_lib"
kind "StaticLib"
language "C++"
targetdir "bin/%{cfg.buildcfg}"
includedirs { "pe_lib" }
files { "pe_lib/**.h", "pe_lib/**.cpp" }