summaryrefslogtreecommitdiff
path: root/xmake/plugins
diff options
context:
space:
mode:
authorruki <[email protected]>2020-11-10 22:37:23 +0800
committerruki <[email protected]>2020-11-10 11:33:28 +0800
commita894334e3c80f9c13a0e64f5ce2f96b57726f186 (patch)
tree4d0ae4a50b554c9ea88dbd91c9c6ed3002f46ccc /xmake/plugins
parent6bd92e09bea0e6f1c707ab6bbf062f462b70c01d (diff)
impl nd_sysincludedir
Diffstat (limited to 'xmake/plugins')
-rw-r--r--xmake/plugins/project/cmake/cmakelists.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua
index fe8a66871..8dc3416b0 100644
--- a/xmake/plugins/project/cmake/cmakelists.lua
+++ b/xmake/plugins/project/cmake/cmakelists.lua
@@ -182,6 +182,26 @@ function _add_target_include_directories(cmakelists, target)
end
end
+-- add target system include directories
+function _add_target_sysinclude_directories(cmakelists, target)
+ local includedirs = _get_configs_from_target(target, "sysincludedirs")
+ if #includedirs > 0 then
+ cmakelists:print("target_include_directories(%s SYSTEM PRIVATE", target:name())
+ for _, includedir in ipairs(includedirs) do
+ cmakelists:print(" " .. _get_unix_path(includedir))
+ end
+ cmakelists:print(")")
+ end
+ local includedirs_interface = target:get("sysincludedirs", {interface = true})
+ if includedirs_interface then
+ cmakelists:print("target_include_directories(%s SYSTEM INTERFACE", target:name())
+ for _, headerdir in ipairs(includedirs_interface) do
+ cmakelists:print(" " .. _get_unix_path(headerdir))
+ end
+ cmakelists:print(")")
+ end
+end
+
-- add target compile definitions
function _add_target_compile_definitions(cmakelists, target)
local defines = _get_configs_from_target(target, "defines")
@@ -470,6 +490,9 @@ function _add_target(cmakelists, target)
-- add target include directories
_add_target_include_directories(cmakelists, target)
+ -- add target system include directories
+ _add_target_sysinclude_directories(cmakelists, target)
+
-- add target compile definitions
_add_target_compile_definitions(cmakelists, target)