summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-05-11 23:23:21 +0800
committerGitHub <[email protected]>2024-05-11 23:23:21 +0800
commitabd7b7fa4544bfe43fad829389e5e602e253631e (patch)
treeec58ac2ea82563ee004651a06e27bd66c00cd9f8
parent505e5bfcb12baed4d86d6462d9e5e69494024077 (diff)
parentf7f1d757066f56e76efd57bb7611b696f90633a1 (diff)
Merge pull request #5084 from xmake-io/vsxmake
add forceincludes for vsxmake
-rw-r--r--xmake/plugins/project/vsxmake/getinfo.lua1
-rw-r--r--xmake/scripts/vsxmake/vsproj/Xmake.props1
-rw-r--r--xmake/scripts/vsxmake/vsproj/Xmake.targets1
-rw-r--r--xmake/scripts/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch)1
4 files changed, 4 insertions, 0 deletions
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua
index af88b51f6..5d52733e5 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 = 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")
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 @@
<ClCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);$(XmakeDefines)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(XmakeIncludeDirs)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>$(XmakeForceIncludes)</ForcedIncludeFiles>
<AdditionalOptions>%(AdditionalOptions) $(XmakeCFlags) $(XmakeCXFlags) $(XmakeCXXFlags)</AdditionalOptions>
<LanguageStandard Condition="'%(LanguageStandard)' == '' And $(XmakeLanguages.Contains('cxx11'))">stdcpp11</LanguageStandard>
<LanguageStandard Condition="'%(LanguageStandard)' == '' And $(XmakeLanguages.Contains('cxx14'))">stdcpp14</LanguageStandard>
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 @@
<XmakeRunArgs>#runargs#</XmakeRunArgs>
<XmakeConfigFlags>#configflags#</XmakeConfigFlags>
<XmakeIncludeDirs>#includedirs#</XmakeIncludeDirs>
+ <XmakeForceIncludes>#forceincludes#</XmakeForceIncludes>
<XmakeLinkDirs>#linkdirs#</XmakeLinkDirs>
<XmakeSourceDirs>#sourcedirs#</XmakeSourceDirs>
<XmakePrecompiledHeader>#pcheaderfile#</XmakePrecompiledHeader>