From d157960149d0fa48c6f0a3205c23168d069a4868 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 11 May 2024 00:50:17 +0800 Subject: add forceincludes for vsxmake --- xmake/plugins/project/vsxmake/getinfo.lua | 1 + xmake/scripts/vsxmake/vsproj/Xmake.props | 1 + xmake/scripts/vsxmake/vsproj/Xmake.targets | 1 + xmake/scripts/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) | 1 + 4 files changed, 4 insertions(+) diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index af88b51f6..8afa50b7c 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -137,6 +137,7 @@ function _make_targetinfo(mode, arch, target) targetinfo.configfiledir = _make_dirs(target:get("configdir")) targetinfo.includedirs = _make_dirs(table.join(_get_values_from_target(target, "includedirs") or {}, _get_values_from_target(target, "sysincludedirs"))) targetinfo.linkdirs = _make_dirs(_get_values_from_target(target, "linkdirs")) + targetinfo.forceincludes = _make_dirs(_get_values_from_target(target, "forceincludes")) targetinfo.sourcedirs = _make_dirs(_get_values_from_target(target, "values.project.vsxmake.sourcedirs")) targetinfo.pcheaderfile = target:pcheaderfile("cxx") or target:pcheaderfile("c") diff --git a/xmake/scripts/vsxmake/vsproj/Xmake.props b/xmake/scripts/vsxmake/vsproj/Xmake.props index dd50e39e4..301a13fd5 100644 --- a/xmake/scripts/vsxmake/vsproj/Xmake.props +++ b/xmake/scripts/vsxmake/vsproj/Xmake.props @@ -104,6 +104,7 @@ %(PreprocessorDefinitions);$(XmakeDefines) $(XmakeIncludeDirs) + $(XmakeForceIncludes) %(AdditionalOptions) $(XmakeCFlags) $(XmakeCXFlags) $(XmakeCXXFlags) stdcpp11 stdcpp14 diff --git a/xmake/scripts/vsxmake/vsproj/Xmake.targets b/xmake/scripts/vsxmake/vsproj/Xmake.targets index b7db71d2f..1dddc7728 100644 --- a/xmake/scripts/vsxmake/vsproj/Xmake.targets +++ b/xmake/scripts/vsxmake/vsproj/Xmake.targets @@ -142,6 +142,7 @@ MSBuild Properties: XmakeLanguages: $(XmakeLanguages) XmakeSubSystem: $(XmakeSubSystem) XmakeIncludeDirs: $(XmakeIncludeDirs) + XmakeForceIncludes: $(XmakeForceIncludes) XmakeLinkDirs: $(XmakeLinkDirs) XmakeSourceDirs: $(XmakeSourceDirs) XmakePrecompiledHeader: $(XmakePrecompiledHeader) diff --git a/xmake/scripts/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) b/xmake/scripts/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) index 5fa6d0f0f..ebbeb00f7 100644 --- a/xmake/scripts/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) +++ b/xmake/scripts/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) @@ -16,6 +16,7 @@ #runargs# #configflags# #includedirs# + #forceincludes# #linkdirs# #sourcedirs# #pcheaderfile# -- cgit v1.3.1 From 76ab807314c41e50af47f58f2375609d2edee443 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 11 May 2024 21:26:08 +0800 Subject: improve forceincludes --- xmake/plugins/project/vsxmake/getinfo.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index 8afa50b7c..71694f941 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -137,7 +137,7 @@ function _make_targetinfo(mode, arch, target) targetinfo.configfiledir = _make_dirs(target:get("configdir")) targetinfo.includedirs = _make_dirs(table.join(_get_values_from_target(target, "includedirs") or {}, _get_values_from_target(target, "sysincludedirs"))) targetinfo.linkdirs = _make_dirs(_get_values_from_target(target, "linkdirs")) - targetinfo.forceincludes = _make_dirs(_get_values_from_target(target, "forceincludes")) + targetinfo.forceincludes = _get_values_from_target(target, "forceincludes") targetinfo.sourcedirs = _make_dirs(_get_values_from_target(target, "values.project.vsxmake.sourcedirs")) targetinfo.pcheaderfile = target:pcheaderfile("cxx") or target:pcheaderfile("c") -- cgit v1.3.1 From f7f1d757066f56e76efd57bb7611b696f90633a1 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 11 May 2024 21:30:10 +0800 Subject: improve forceincludes --- xmake/plugins/project/vsxmake/getinfo.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index 71694f941..5d52733e5 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -137,7 +137,7 @@ function _make_targetinfo(mode, arch, target) targetinfo.configfiledir = _make_dirs(target:get("configdir")) targetinfo.includedirs = _make_dirs(table.join(_get_values_from_target(target, "includedirs") or {}, _get_values_from_target(target, "sysincludedirs"))) targetinfo.linkdirs = _make_dirs(_get_values_from_target(target, "linkdirs")) - targetinfo.forceincludes = _get_values_from_target(target, "forceincludes") + targetinfo.forceincludes = path.joinenv(table.wrap(_get_values_from_target(target, "forceincludes"))) targetinfo.sourcedirs = _make_dirs(_get_values_from_target(target, "values.project.vsxmake.sourcedirs")) targetinfo.pcheaderfile = target:pcheaderfile("cxx") or target:pcheaderfile("c") -- cgit v1.3.1