如何解决如何在 premake 中为每个项目设置多个目标?
我正在尝试在 premake 中设置多个目标。目前,我专注于 Xcode,但希望同样的想法也适用于 MS Visual Studio。
在我的工作区中,我有一个库,当前有一个以项目名称命名的构建目标(我们称之为“MyLibrary”)。然后,我在工作区中有其他项目使用这个库。目前,我只支持工作区中所有项目的调试配置,但我正在尝试为我的库添加另外两个目标——发布和测试。所以,我想有以下目标:
- MyLibrary-调试
- MyLibrary-Release
- MyLibrary-测试
如果我可以让库项目输出两个目标,我可以告诉我的项目根据配置使用正确的目标:
project "MyLibrary"
--- Create multiple targets
project "DemoProject"
--- stuff
filter { "configurations:Debug" }
links { "MyLibrary-Debug" }
filter { "configurations:Release" }
links { "MyLibrary-Release" }
这是我正在努力解决的一个问题。第二个是测试。目前,我有一个单独的单元测试项目。这些测试使用库并运行测试以查看库是否有效。这很有效,但我无法为我的图书馆生成覆盖率报告。像这样的测试更适合 E2E 测试,而不是单元测试。所以,我基本上需要维护两个项目配置,一切都一样,除了包括测试和测试库的小改动:
project "MyLibrary"
kind "StaticLib"
files {
"engine/src/**.cpp","engine/src/**.h",}
links { ... }
-- other config in library
project "MyLibrary-Test"
kind "ConsoleApp"
files {
"engine/src/**.cpp","engine/tests/**.h","engine/tests/**.cpp",}
links { "gtest","gtest_main","gmock",... }
-- other config in library
对于多个目标,我可以为目标分配不同的配置并执行如下操作:
project "MyLibrary"
kind "StaticLib"
files {
"engine/src/**.cpp",}
links { ... }
filter { "configurations:Test" }
kind "ConsoleApp"
files {
"engine/tests/**.cpp","engine/tests/**.h"
}
links { "gtest","gmock" }
-- Set different targets somehow,where each target
-- sets configuration value
是否可以在 premake 中执行此操作,尤其是在不特定于 Xcode 的情况下?例如,如果我使用 gmake
,目标会创建不同的二进制文件/库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。