summaryrefslogtreecommitdiff
path: root/xmake/plugins/project/vstudio/impl/vs201x.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2017-07-29 15:37:06 +0800
committerruki <[email protected]>2017-07-29 15:37:06 +0800
commitcac0dd80b29ee923382442c274d37fb73589cb06 (patch)
tree4a04c360a532a7d161f9fb824857a9075808cf64 /xmake/plugins/project/vstudio/impl/vs201x.lua
parentff6997a754e3af66ea7743930b9ec83df71d0a00 (diff)
support precompiled header for vs201x project
Diffstat (limited to 'xmake/plugins/project/vstudio/impl/vs201x.lua')
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua
index 7563eb5c7..07ded3ce5 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x.lua
@@ -189,14 +189,17 @@ function make(outputdir, vsinfo)
for targetname, target in pairs(project.targets()) do
if not target:isphony() then
- -- TODO
- -- disable precompiled header first
- target:set("precompiled_header", nil)
-
-- make target with the given mode and arch
targets[targetname] = targets[targetname] or {}
local _target = targets[targetname]
+ -- save precompiled header and source
+ local precompiled_header, precompiled_source = target:pcsourcefile()
+ _target.pcheader = precompiled_header -- header.h
+ _target.pcsourcefile = precompiled_source -- header.cpp
+ _target.pcheaderfile = target:pcheaderfile() -- header.h.pch
+ target:set("precompiled_header", nil)
+
-- init target info
_target.name = targetname
_target.kind = target:get("kind")