Как добавить глобальные свойства к сгенерированным проектам и решениям Visual Studio через premake5? - PullRequest
2 голосов
/ 16 июня 2019

Я хотел бы добавить два условных свойства в конфигурацию моего проекта для таргетинга на триплет vcpkg не по умолчанию: https://github.com/microsoft/vcpkg/blob/master/docs/users/integration.md#with-msbuild

Файлы моего проекта создаются premake. Как бы я пошел по этому поводу?

Ответы [ 2 ]

1 голос
/ 05 июля 2019

вы можете попытаться переопределить глобальную функцию из генератора визуальной студии что-то вроде этого ... не проверено ...

local vs2010 = premake.vstudio.vs2010


function vcPkgOverride(prj)
        -- go trough the configs and platforms and figure out which conditions to put   
        for _, cfg in pairs(prj.cfgs) do
           local condition = vs2010.condition(cfg)
           if cfg.platform == "Win32" then 
                vs2010.vc2010.element("VcpkgTriplet ", condition, "x86-windows-static")
          else if cfg.platform == "x64" then
                vs2010.vc2010.element("VcpkgTriplet ", condition, "x64-windows-static")
          end
        end
end

premake.override(vc2010.elements, "globals", function (oldfn, prj)
        local elements = oldfn(prj)

            elements = table.join(elements, {
                vcPkgOverride
            })
        end

        return elements
    end)
0 голосов
/ 25 июня 2019

Вы пробовали использовать CMake вместо этого?Это гораздо более сложная система сборки, которая должна справляться с этим тривиально.

...