Исключить проект из сборки с помощью Premake - PullRequest
0 голосов
/ 03 августа 2020

У меня в решении два проекта. Одна из них - это отладочная библиотека, которая должна быть построена только в конфигурации рабочей области отладки. В VS я могу просто отключить флажок 'Build' в Configuration Manager.

этот способ мог бы для меня, но я не нашел, как создать условие if с конфигурацией решения .

Как добиться такого поведения с помощью Premake?

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Я погрузился в проект kind и обнаружил, что None kind может удовлетворить мои потребности.

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

Я изменил свою конфигурацию и поместил вид под фильтр по конфигурации, что решило проблему. Не так выглядит:

project "DebugLib"
    language "C++"
    
    filter "configurations:Release" 
        kind "None"
    filter "configurations:Debug"
        kind "StaticLib"
    filter {}
0 голосов
/ 03 августа 2020

Я предполагаю здесь, но если вы не можете просто в этой рабочей области использовать configmap для управления этим?

https://github.com/premake/premake-core/wiki/Configurations-and-Platforms

используйте фильтр.

project "Application"
   configurations { "Release" }
   kind "ConsoleApp"
   targetdir "bin/%{cfg.buildcfg}"
    filter "configurations:Release"

, как показано здесь https://github.com/premake/premake-core/wiki/kind

, и я уверен, что вы можете использовать https://github.com/premake/premake-core/wiki/Build-Settings, чтобы получить соответствующие настройки для управления необходимой платформы.

вы также, вероятно, можете просто использовать ключевое слово define, которое в основном идет.

...