From 0d6a2436f46d20208dc95b218e68d2a6ff827169 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 5 Jun 2023 22:39:05 +0800 Subject: add cxflags for vsxmake generator #3807 --- xmake/plugins/project/vsxmake/getinfo.lua | 5 +++++ xmake/plugins/project/vsxmake/vsproj/Xmake.props | 1 + xmake/plugins/project/vsxmake/vsproj/Xmake.targets | 3 +++ .../project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) | 3 +++ 4 files changed, 12 insertions(+) diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index 9f32fccbb..16ba9d3f5 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -137,6 +137,11 @@ function _make_targetinfo(mode, arch, target) -- save defines targetinfo.defines = _make_arrs(_get_values_from_target(target, "defines")) + -- save flags + targetinfo.cflags = _make_arrs(_get_values_from_target(target, "cflags")) + targetinfo.cxflags = _make_arrs(_get_values_from_target(target, "cxflags")) + targetinfo.cxxflags = _make_arrs(_get_values_from_target(target, "cxxflags")) + -- save languages targetinfo.languages = _make_arrs(_get_values_from_target(target, "languages")) if targetinfo.languages then diff --git a/xmake/plugins/project/vsxmake/vsproj/Xmake.props b/xmake/plugins/project/vsxmake/vsproj/Xmake.props index 3a9df6a4d..7a29d286a 100644 --- a/xmake/plugins/project/vsxmake/vsproj/Xmake.props +++ b/xmake/plugins/project/vsxmake/vsproj/Xmake.props @@ -100,6 +100,7 @@ %(PreprocessorDefinitions);$(XmakeDefines) $(XmakeIncludeDirs) + %(AditionalOptions);$(XmakeCFlags);$(XmakeCXFlags);$(XmakeCXXFlags) stdcpp11 stdcpp14 stdcpp17 diff --git a/xmake/plugins/project/vsxmake/vsproj/Xmake.targets b/xmake/plugins/project/vsxmake/vsproj/Xmake.targets index 39b7da128..55f6b1fd2 100644 --- a/xmake/plugins/project/vsxmake/vsproj/Xmake.targets +++ b/xmake/plugins/project/vsxmake/vsproj/Xmake.targets @@ -139,6 +139,9 @@ MSBuild Properties: XmakeWindowsSdkVersion: $(XmakeWindowsSdkVersion) XmakeMfcKind: $(XmakeMfcKind) XmakeDefines: $(XmakeDefines) + XmakeCFlags: $(XmakeCFlags) + XmakeCXFlags: $(XmakeCXFlags) + XmakeCXXFlags: $(XmakeCXXFlags) XmakeLanguages: $(XmakeLanguages) XmakeSubSystem: $(XmakeSubSystem) XmakeIncludeDirs: $(XmakeIncludeDirs) diff --git a/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) b/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) index 6d5b4165d..5fa6d0f0f 100644 --- a/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) +++ b/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) @@ -19,4 +19,7 @@ #linkdirs# #sourcedirs# #pcheaderfile# + #cflags# + #cxflags# + #cxxflags# -- cgit v1.3.1 From 286bbb3ca06bd14f5d77ad2ba649d189d6544f15 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 6 Jun 2023 22:28:27 +0800 Subject: fix AditionalOptions for vsxmake --- xmake/plugins/project/vsxmake/vsproj/Xmake.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmake/plugins/project/vsxmake/vsproj/Xmake.props b/xmake/plugins/project/vsxmake/vsproj/Xmake.props index 7a29d286a..ec2860953 100644 --- a/xmake/plugins/project/vsxmake/vsproj/Xmake.props +++ b/xmake/plugins/project/vsxmake/vsproj/Xmake.props @@ -100,7 +100,7 @@ %(PreprocessorDefinitions);$(XmakeDefines) $(XmakeIncludeDirs) - %(AditionalOptions);$(XmakeCFlags);$(XmakeCXFlags);$(XmakeCXXFlags) + %(AditionalOptions) $(XmakeCFlags) $(XmakeCXFlags) $(XmakeCXXFlags) stdcpp11 stdcpp14 stdcpp17 -- cgit v1.3.1 From 3b4050dd031bd6e10f14f048f7283d3fdea97a34 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 6 Jun 2023 22:28:47 +0800 Subject: fix key name --- xmake/plugins/project/vsxmake/vsproj/Xmake.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmake/plugins/project/vsxmake/vsproj/Xmake.props b/xmake/plugins/project/vsxmake/vsproj/Xmake.props index ec2860953..3e3a33298 100644 --- a/xmake/plugins/project/vsxmake/vsproj/Xmake.props +++ b/xmake/plugins/project/vsxmake/vsproj/Xmake.props @@ -100,7 +100,7 @@ %(PreprocessorDefinitions);$(XmakeDefines) $(XmakeIncludeDirs) - %(AditionalOptions) $(XmakeCFlags) $(XmakeCXFlags) $(XmakeCXXFlags) + %(AdditionalOptions) $(XmakeCFlags) $(XmakeCXFlags) $(XmakeCXXFlags) stdcpp11 stdcpp14 stdcpp17 -- cgit v1.3.1 From e7e17687d3e5278e5337f0b1d5cb32bad4f14e2d Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 7 Jun 2023 22:26:18 +0800 Subject: fix cflags sep for vsxmake --- xmake/plugins/project/vsxmake/getinfo.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index 16ba9d3f5..edc4a17b8 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -73,7 +73,7 @@ function _make_dirs(dir) return path.joinenv(r) end -function _make_arrs(arr) +function _make_arrs(arr, sep) if arr == nil then return "" end @@ -82,10 +82,10 @@ function _make_arrs(arr) end local r = {} for k, v in ipairs(arr) do - r[k] = _make_arrs(v) + r[k] = _make_arrs(v, sep) end r = table.unique(r) - return table.concat(r, ";") + return table.concat(r, sep or ";") end -- get values from target @@ -138,9 +138,9 @@ function _make_targetinfo(mode, arch, target) targetinfo.defines = _make_arrs(_get_values_from_target(target, "defines")) -- save flags - targetinfo.cflags = _make_arrs(_get_values_from_target(target, "cflags")) - targetinfo.cxflags = _make_arrs(_get_values_from_target(target, "cxflags")) - targetinfo.cxxflags = _make_arrs(_get_values_from_target(target, "cxxflags")) + targetinfo.cflags = _make_arrs(_get_values_from_target(target, "cflags"), " ") + targetinfo.cxflags = _make_arrs(_get_values_from_target(target, "cxflags"), " ") + targetinfo.cxxflags = _make_arrs(_get_values_from_target(target, "cxxflags"), " ") -- save languages targetinfo.languages = _make_arrs(_get_values_from_target(target, "languages")) -- cgit v1.3.1